Compare value with defined parameter : para « XSLT stylesheet « XML






Compare value with defined parameter


File: Data.xml
<wine grape="Cabernet">
  <winery>shop 1</winery>
  <product>product 1</product>
  <year>1996</year>
  <price>11.99</price>
</wine>

File: Transform.xslt

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

  <xsl:output method="html" />
  <xsl:param name="bodyTextSize">10pt</xsl:param>
  <xsl:template match="/">
    <xsl:if test="$bodyTextSize != '10pt'">
      <xsl:message>
        bodyTextSize default value overridden with value of
        <xsl:value-of select="$bodyTextSize" />
        .
      </xsl:message>
    </xsl:if>
    <xsl:apply-templates />
  </xsl:template>

  <xsl:template match="winery">
    <b>
      <font size="{$bodyTextSize}">
        <xsl:apply-templates />
        <xsl:text> </xsl:text>
        <xsl:value-of select="../@grape" />
      </font>
    </b>
    <br />
  </xsl:template>

  <xsl:template match="product">
    <i>
      <font size="{$bodyTextSize}">
        <xsl:apply-templates />
      </font>
    </i>
    <br />
  </xsl:template>

  <xsl:template match="year | price">
    <font size="{$bodyTextSize}">
      <xsl:apply-templates />
    </font>
    <br />
  </xsl:template>

</xsl:stylesheet>
Output:


  <b><font size="10pt">shop 1 Cabernet</font></b><br>
  <i><font size="10pt">product 1</font></i><br>
  <font size="10pt">1996</font><br>
  <font size="10pt">11.99</font><br>

 








Related examples in the same category

1.Define a parameter and use it later
2.Define a parameter and use it
3.Change these global parameter values