This is a simple grouping problem. An efficient solution is using the
Muenchian method for grouping.
Read about it at:
http://www.topxml.com/code/default.asp?p=3&id=v20010129150851
or at:
http://jenitennison.com/xslt/grouping/index.html
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
"Marcus Andersson" <marcan(_at_)home(_dot_)se> wrote in message
news:000001c384c6$960ef6e0$0400a8c0(_at_)MarcusNB(_dot_)(_dot_)(_dot_)
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="{(_at_)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
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list