current

W3C Working Draft

The current function returns a node-set that has the current node as its only member. For an outermost expression (an expression not occurring within another expression), the current node is always the same as the context node. Thus, <xsl:value-of select="current()"/> means the same as <xsl:value-of select="."/> However, within square brackets the current node is usually different from the context node. For example, <xsl:apply-templates select="//glossary/item[@name=current()/@ref]"/> will process all item elements that have a glossary parent element and that have a name attribute with value equal to the value of the current node's ref attribute. This is different from <xsl:apply-templates select="//glossary/item[@name=./@ref]"/> which means the same as <xsl:apply-templates select="//glossary/item[@name=@ref]"/> and so would process all item elements that have a glossary parent element and that have a name attribute and a ref attribute with the same value.