get current node with current() function : current « XPath « XML Tutorial






File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<RESPONSE>
  <PRODUCT>
    <ID>ABC</ID>
    <NAME>SQL server</NAME>
  </PRODUCT>
  <PRODUCT>
    <ID>DEF</ID>
    <NAME>Black cat</NAME>
  </PRODUCT>
  <PRODUCT>
    <ID>API</ID>
    <NAME>Swing</NAME>
  </PRODUCT>
  <PRODUCT>
    <ID>JKL</ID>
    <NAME>Oracle</NAME>
  </PRODUCT>
  <SELECTEDPRODUCT>ABC</SELECTEDPRODUCT>
  <SELECTEDPRODUCT>API</SELECTEDPRODUCT>
</RESPONSE>

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="/">
      <xsl:for-each select="//SELECTEDPRODUCT">
        <Paragraph>
          <xsl:text>NAME: </xsl:text>
          <xsl:value-of select="//PRODUCT/NAME[../ID=current()]"/>
        </Paragraph>
      </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?><Paragraph>NAME: SQL server</Paragraph><Paragraph>NAME: Swing</Paragraph>








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