RE: [xsl] scoping inside a select statement

Subject: RE: [xsl] scoping inside a select statement
From: "Wes Kubo" <wkubo@xxxxxxxxxxxxx>
Date: Wed, 12 Feb 2003 15:32:28 -0800
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@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of S Woodside
Sent: Wednesday, February 12, 2003 2:46 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
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


Current Thread