[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: scoping inside a select statement
Hey Simon,
At 05:45 PM 2/12/2003, you wrote: Why does this DWIM: <xsl:variable name="foobar" select="@name"/> <xsl:value-of select="document('inst.xml')//*[boolean(name() = $foobar)]"/> There is an XSLT function, current(), that returns the current node (the node matched by the template or selected by a for-each), so when the context changes in a long XPath, you can still get to it. <xsl:value-of select="document('inst.xml')//*[name() = current()/@name]"/> (BTW notice that boolean() function isn't needed: "" already returns a Boolean and the fact that this is a predicate expression would coerce it to one even if it weren't.) Another technique, sometimes preferable, is to bind your current node to a variable and refer to that. Cheers, Wendell 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;-) But when will the expression "name() = current()/@name" return a number? And even if it were ... since it's a predicate expression it'd be coerced into a Boolean anyway. :-) ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|