Use variable to hold a result tree : variable « XSLT stylesheet « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>    
        <TABLE border="1">
      <TR>
        <TD>AAA</TD>
        <TD>BBB</TD>
      </TR>
      <TR>
        <TD>aaa</TD>
        <TD>bbb</TD>
      </TR>
    </TABLE>
    <TABLE border="1">
      <TR>
        <TD>1111111</TD>
      </TR>
      <TR>
        <TD>22222222</TD>
      </TR>
      </TABLE>
</data>
File: Transform.xslt

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:variable name="A1">
      <xsl:copy-of select="//TABLE[1]"/>
    </xsl:variable>
    <xsl:variable name="A2">
      <xsl:copy-of select="//TABLE[2]"/>
    </xsl:variable>
    <xsl:template match="/">
      <xsl:copy-of select="$A2"/>
      <xsl:copy-of select="$A1"/>
      <xsl:copy-of select="$A2"/>
    </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><TABLE border="1">
      <TR>
        <TD>1111111</TD>
      </TR>
      <TR>
        <TD>22222222</TD>
      </TR>
      </TABLE><TABLE border="1">
      <TR>
        <TD>AAA</TD>
        <TD>BBB</TD>
      </TR>
      <TR>
        <TD>aaa</TD>
        <TD>bbb</TD>
      </TR>
    </TABLE><TABLE border="1">
      <TR>
        <TD>1111111</TD>
      </TR>
      <TR>
        <TD>22222222</TD>
      </TR>
      </TABLE>








5.68.variable
5.68.1.Define variable and use it
5.68.2.Fill position to a variable
5.68.3.Define and use variable
5.68.4.Variable scope
5.68.5.Variable assignment with choose statement
5.68.6.There is an important difference in variable value specification.
5.68.7.if a variable has some defined value
5.68.8.Variable without initialization
5.68.9.demonstrate different ways of setting xsl:variable
5.68.10.Use variable to hold a result tree