xsl-list
[Top] [All Lists]

RE: scoping inside a select statement

2003-02-12 16:32:28
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



<Prev in Thread] Current Thread [Next in Thread>