From http://www.w3schools.com (Copyright Refsnes Data)
Complete XSLT Function Reference
The current() function returns a node-set that contains only the current node. Usually the current node and the context node are the same.
<xsl:value-of select="current()"/>
is equal to
<xsl:value-of select="."/>
However, there is one difference. Look at the following XPath expression: "catalog/cd". This expression selects the <catalog> child nodes of the current node, and then it selects the <cd> child nodes of the <catalog> nodes. This means that on each step of evaluation, the "." has a different meaning.
The following line:
<xsl:apply-templates select="//cd[@title=current()/@ref]"/>
will process all cd elements that have a title attribute with value equal to the value of the current node's ref attribute.
This is different from
<xsl:apply-templates select="//cd[@title=./@ref]"/>
that will process all cd elements that have a title attribute and a ref attribute with the same value.
| node-set current() |
|
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <xsl:for-each select="catalog/cd/artist"> Current node: <xsl:value-of select="current()"/> <br /> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet> |
View the XML file, View the XSL file, and View the result.
Complete XSLT Function Reference
From http://www.w3schools.com (Copyright Refsnes Data)