[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Using outer context node inside for-each

Subject: RE: Using outer context node inside for-each
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 8 Jul 2009 18:56:07 +0100
RE:  Using outer context node inside for-each
"." changes its meaning inside square brackets. Try [@name=current()].

Regards,

Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay  

> -----Original Message-----
> From: Richard Lewis [mailto:richard.lewis@xxxxxxxxxx] 
> Sent: 08 July 2009 18:31
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Using outer context node inside for-each
> 
> Hi there,
> 
> Here is an abstraction of my problem template:
> 
>  <xsl:template match="record">
>    <xsl:param name="show-fields" />
>    <xsl:variable name="this" select="." />
> 
>    <xsl:for-each select="str:tokenize($show-fields)">
>      <xsl:message><xsl:value-of select="$this/field[@name=.]" 
> /></xsl:message>
>    </xsl:for-each>
>  </xsl:template>
> 
> So <record> elements have child elements called <field> which 
> each have a @name attribute.
> 
> The given template should accept a parameter which is a list 
> of field names, and emit an <xsl:message> of each <field> 
> element whose @name is in that list.
> 
> I'm pretty sure that using the $this variable as a node set 
> isn't the problem, because the following works fine:
> 
> <xsl:message><xsl:value-of 
> select="$this/field[@name='some-field']" /></xsl:message>
> 
> I'm also pretty sure that the current node (.) inside the 
> for-each is the field name from the list. But I'm pretty 
> certain that the problem is something to do with testing 
> @name against . in that XPath predicate.
> 
> I'm using libxslt 1.1.24 (and its str:tokenize implementation).
> 
> Any ideas?
> --
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> Richard Lewis
> ISMS, Computing
> Goldsmiths, University of London
> Tel: +44 (0)20 7078 5134
> Skype: richardjlewis
> JID: ironchicken@xxxxxxxxxxxxxxx
> http://www.richard-lewis.me.uk/
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> +-------------------------------------------------------+
> |Please avoid sending me Word or PowerPoint attachments.| 
> |http://www.gnu.org/philosophy/no-word-attachments.html |
> +-------------------------------------------------------+

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.