Is believe this is what you want, no? Function current() returns the current
node, which in a predicate is not the same as the context node.
<xsl:value-of select="document('inst.xml')//*[boolean(name() =
current()/@name)]"/>
wes
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of S
Woodside
Sent: Wednesday, February 12, 2003 2:46 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] scoping inside a select statement
Why does this DWIM:
<xsl:variable name="foobar" select="@name"/>
<xsl:value-of select="document('inst.xml')//*[boolean(name() =
$foobar)]"/>
and this doesn't:
<xsl:value-of select="document('inst.xml')//*[boolean(name() =
@name)]"/>
... or perhaps I should say, how do I scope @name inside a select to
refer to the @name attribute of the context node outside the select,
instead of whatever it's referring to here (... an attribute named
@name in the context node inside the select?)
Also if you're wondering about the unnecessary boolean() I've decided
to use it for syntactic safety to protect myself from numeric result
s;-)
simon
---
www.simonwoodside.com
<http://ThisURLEnablesEmailToGetThroughOverzealousSpamFilters.org>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list