current() returns a node-set that has the current node as its only member : current « XPath « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
    <Choices name="first">
      <Choice name="first">11111</Choice>
      <Choice name="second">22222</Choice>
    </Choices>
    <Choices name="second">
      <Choice name="first">33333</Choice>
      <Choice name="second">44444</Choice>
    </Choices>
</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:template match="/">
      <TABLE border="1">
        <TR>
          <td> . </TH>
          <td>current()</TH>
        </TR>
        <xsl:apply-templates select="//Choices"/>
      </TABLE>
    </xsl:template>
    <xsl:template match="Choices">
      <TR>
        <TD>
          <xsl:value-of select="./@name"/>
        </TD>
        <TD>
          <xsl:value-of select="current()/@name"/>
        </TD>
      </TR>
      <TR>
        <TD>
          <xsl:apply-templates select="Choice[./@name='first']"/>
        </TD>
        <TD>
          <xsl:apply-templates select="Choice[current()/@name='first']"/>
        </TD>
      </TR>
    </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><td> . 
</TH><td>current()</TH></TR><TR><TD>first</TD><TD>first</TD></TR><TR>
<TD>11111</TD><TD>1111122222</TD></TR><TR><TD>second</TD><TD>second</TD></TR><TR><TD>33333</TD><TD/></TR></TABLE>








4.3.current
4.3.1.current name
4.3.2.Sort by current value
4.3.3.current() returns a node-set that has the current node as its only member
4.3.4.get current node with current() function
4.3.5.current() and name()
4.3.6.Referring to the Current Node