Subject: Re: [xsl] filtering elements by single xpath From: "andrew welch" <andrew.j.welch@xxxxxxxxx> Date: Wed, 5 Apr 2006 16:08:20 +0100 |
On 4/5/06, Tomas Kolaci <kolaci@xxxxxxx> wrote: > Hi! > > I'm using XSLT 1.1 and Saxon 6.5.3. > > I have following XML structure: > > <root> > <body> > <item pos="1" name="n1"/> > <item pos="2" name="n2"/> > <item pos="3" name="n2"/> > <item pos="4" name="n3"/> > <item pos="5" name="n4"/> > </body> > <item-filter> > <allow-items with-name="n2"/> > <allow-items with-name="n4"/> > </item-filter> > </root> > > and in template: > > <xsl:template match="body"> > <xsl:variable > name="filtered-items" > select="item[/root/item-filter/allow-items[@with-name = ???/@name]" > /> > ... > </xsl:template> > > I'm trying to fill variable filtered-items with elements item with "allowed" > name (= there is an element /root/item-filter/allow-items with attribute > @with-name containing same value as item's @name)*, but I don't know how to > reach current item on ??? position in my select (function current() points > to current body element). use current()/item-filter/allow-items/@with-name alternatively create a key <xsl:key name="allowed-items" match="allow-items" use="@with-name"/> and then check if the node exists in the key with that value select="item[key('allowed-items', @name)]" cheers andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] filtering elements by single , Tomas Kolaci | Thread | RE: [xsl] filtering elements by sin, Tomas Kolaci |
[xsl] filtering elements by single , Tomas Kolaci | Date | Re: [xsl] Divide to pages, andrew welch |
Month |