xsl-list
[Top] [All Lists]

First element with given attribute values

2004-04-11 07:14:12
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[(_at_)name=(_dot_)/@name and @version=./@version][1]">

only matches the first

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

Cheers,

-- 
Nicolas Mailhot

Attachment: signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=

<Prev in Thread] Current Thread [Next in Thread>