In the previous examples element content was used to establish a value for the variable. The second possibility is to use select attribute.
In the example the value of global variable is the name of the root element. Local variables "xxx" demonstrate alternative methods for setting the value.
|
XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/> <xsl:variable name="yyy" select="name(/*)"/> <xsl:template match="/aaa"> <xsl:apply-templates select="*"/> </xsl:template> <xsl:template match="bbb"> <xsl:variable name="xxx" select="@x"/> <bbb> <local> <xsl:value-of select="$xxx"/> </local> <global> <xsl:value-of select="$yyy"/> </global> </bbb> </xsl:template> <xsl:template match="ccc"> <xsl:variable name="xxx"> <xsl:value-of select="@x"/> </xsl:variable> <ccc> <local> <xsl:value-of select="$xxx"/> </local> <global> <xsl:value-of select="$yyy"/> </global> </ccc> </xsl:template> </xsl:stylesheet> |
|
|
XML
<aaa> <bbb x="111"/> <ccc x="222"/> </aaa> |
Output
<bbb> <local>111</local> <global>aaa</global> </bbb> <ccc> <local>222</local> <global>aaa</global> </ccc> |
| Previous chapter: | Named-Templates |
| Next chapter: | Stylesheet Functions |
| Previous page: | Local and global variables |
| Next page: | Problems with scope of variables |