This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Confusion over /, //, current() and .
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Confusion over /, //, current() and .
- From: "Dennis Campillo" <dcampillo at msn dot com>
- Date: Mon, 12 Nov 2001 15:03:19 -0700
- Reply-to: xsl-list at lists dot mulberrytech dot com
>I thought "current()" and "."
>gave you the same thing.
>
This is pretty much the only information I can find regarding the
current() function. It does show however that current() is not always the
same as "."
(from the W3C XSLT spec)
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]"/>
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list