>> English << | Français | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 36 << | Prev | Next | Contents | Element Index

There is an important difference in variable value specification.

XSLT stylesheet 1

XML Source
<source>

<AAA>
     <BBB>
          <CCC>C1</CCC>
     </BBB>
     <CCC>C2</CCC>
     <CCC>C3</CCC>
</AAA>
<AAA>
     <CCC>
          <DDD>D1</DDD>
          <DDD>D2</DDD>
     </CCC>
</AAA>

</source>

Output
<P>//AAA/CCC/DDD : D1</P>
<P>//AAA/CCC/text() : C2C3


</P>

HTML view

//AAA/CCC/DDD : D1

//AAA/CCC/text() : C2C3

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

<xsl:variable name="var1" select="//AAA/CCC/text()"/>
<xsl:variable name="var2">//AAA/CCC/text()</xsl:variable>
<xsl:template match="/">
     <xsl:call-template name="function">
          <xsl:with-param name="path1" select="//AAA/CCC/DDD"/>
          <xsl:with-param name="path2">//AAA/CCC/DDD</xsl:with-param>
     </xsl:call-template>
</xsl:template>

<xsl:template name="function">
     <xsl:param name="path1"/>
     <xsl:param name="path2"/>
     <P>
          <xsl:value-of select="$path2"/>
          <xsl:text> : </xsl:text>
          <xsl:value-of select="$path1"/>
     </P>
     <P>
          <xsl:value-of select="$var2"/>
          <xsl:text> : </xsl:text>
          <xsl:for-each select="$var1">
               <xsl:value-of select="."/>
               <xsl:text/>
          </xsl:for-each>
     </P>
</xsl:template>


</xsl:stylesheet>