Nic Miloslav     Example 82    KEYWORDS      EXAMPLES      AUTHORS     

There is an important difference in variable value specification.


     XML     HOME     XSL 1      
<xslTutorial >
<AAA> 
   <BBB> 
      <CCC>C1</CCC>
   </BBB>
   <CCC>C2</CCC> 
   <CCC>C3</CCC> 
</AAA> 
<AAA> 
   <CCC> 
     <DDD>D1</DDD> 
     <DDD>D2</DDD> 
   </CCC> 
 </AAA> 
</xslTutorial>

     XSL 1     HOME     XML     HTML 1     OUTPUT 1     
<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:text>
</xsl:for-each>
</P>
</xsl:template>
</xsl:stylesheet>

     HTML 1     HOME     XML     XSL 1     OUTPUT 1     
<P>//AAA/CCC/DDD : D1</P>
<P>//AAA/CCC/text() : C2 C3 </P>

     OUTPUT 1     HOME     XML     XSL 1     HTML 1     

//AAA/CCC/DDD : D1

//AAA/CCC/text() : C2 C3