RE: [xsl] filtering elements by single xpath

Subject: RE: [xsl] 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

Current Thread