[xsl] First element with given attribute values

Subject: [xsl] First element with given attribute values
From: Nicolas Mailhot <Nicolas.Mailhot@xxxxxxxxxxx>
Date: Sun, 11 Apr 2004 16:14:12 +0200
Hi,

   I find that very often I end up with lists of elements like:

<foo name="a" version="1"/>
<foo name="b" version="1"/>
<foo name="a" version="1"/>
<foo name="b" version="2"/>
<foo name="c" version="1"/>
<foo name="b" version="1"/>
<foo name="b" version="1"/>

  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 :

<foo name="a" version="1"/>
<foo name="b" version="1"/>
<foo name="b" version="2"/>
<foo name="c" version="1"/>

Is there a clean way to do it ?

<xsl:template match="foo[@name=./@name and @version=./@version][1]">

only matches the first

<foo name="a" version="1"/>

Cheers,

--
Nicolas Mailhot

[****** removed an attachment of type application/pgp-signature which had a name of signature.asc]

Current Thread