Subject: RE: filtering elements by single xpath
From: "Tomas Kolaci" <kolaci@xxxxxxx>
Date: Wed, 5 Apr 2006 19:01:12 +0200
|
> > and wanted to filter items of each body element by it's own item-filter?
>
> I'm sure Jeni's pages or the faq will hav eexamples, but you just need
> to make sure the key is unique in each case. In your case you want each
> body to have a separate set of keys so:
>
> <xsl:key name="x" match="item" use="concat(generate-id(..),' ',@name)"/>
>
> <xsl:template match="body">
> <xsl:for-each select="key('x',concat(generate-id(.),' ',item-
> filter/allow-items/@with-name))"
OK!
> or without the key just do
>
> <xsl:template match="body">
> <xsl:for-each
> select="item[@name=current()/item-filter/allow-items/@with-name]"
Oh, I wouldn't expect I can compare single attribute with result of xpath
returning set of attribute nodes - so this is really simple this way!
Perfect!
Thank you very much!
> David
Br, Tomas
|