-----Original Message-----
From: Nicolas Mailhot [mailto:Nicolas(_dot_)Mailhot(_at_)laPoste(_dot_)net]
<snip />
Which I need to trim, keeping only the first element with an unique
attibute value, or unique attribute values. For example, if I only
wanted the first element with an unique name,version pair this would
give :
<snip />
Is there a clean way to do it ?
Yup, define a key like:
<xsl:key name="foo-key" match="foo"
use="concat(@name,' ',@version)" />
Then further on use:
<xsl:variable select="//foo[generate-id()=generate-id(
key('foo-key',concat(@name,' ',@version)))]" />
To give you the nodeset containing all foo nodes whose id equals the first
node returned by key().
Apply templates to the variable, and you're set.
Cheers,
Andreas