Subject: [xsl] Using outer context node inside for-each From: Richard Lewis <richard.lewis@xxxxxxxxxx> Date: Wed, 08 Jul 2009 18:31:29 +0100 |
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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Fw: [xsl] xsl-url -- passing xsl:va, Hermann Stamm-Wilbra | Thread | Re: [xsl] Using outer context node , Martin Honnen |
Fw: [xsl] xsl-url -- passing xsl:va, Hermann Stamm-Wilbra | Date | Re: [xsl] Using outer context node , Martin Honnen |
Month |