[xsl] Selecting "distinct" elements

Subject: [xsl] Selecting "distinct" elements
From: "Marcus Andersson" <marcan@xxxxxxx>
Date: Sat, 27 Sep 2003 09:11:34 +0200
Hi
I want to select one of each element with a certain attribute value and
loop over these elements in a for-each (or possibly apply-templates). Is
this possible with a single select statement or do I have to make a more
cumbersome solution? If possible, how would a statement solving the
problem look like?

Instance document:
<root>
 <element value="a"/>
 <element value="b"/>
 <element value="a"/>
 <element value="c"/>
 <element value="b"/>
 <element value="d"/>
 <element value="b"/>
</root>

XSLT Template:
<xsl:template match="root">
 <xsl:for-each select="[insert your favourite statement here]">
  <anotherElt value="{@value}"/>
 </xsl:for-each>
</xsl:template>

Resulting document:
<root>
 <anotherElt value="a"/>
 <anotherElt value="b"/>
 <anotherElt value="c"/>
 <anotherElt value="d"/> 
</root>

Thanks,

/Marcus


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread