hh: iterativ gruppieren mit xslt 1.0

Beitrag lesen

Hi,

die Variante, wie man attribute bzw. elemente gruppuieren kann wurde ja schon des öfteren beschrieben. ich habe nun die frage wie kann man das iterativ lösen und dabei eine sortierfunktion mit einbauen. Ich weiss, es gibt xslt 2.0, welches von Haus aus gruppierfunktionen anbietet, ich bräuchte aber eine lösung mit xslt 1.0.

die gruppierfunktion mit xsl:for-each und und key hat den nachteil, dass ich mich dann in dem aktuellen for-each knoten weiterbewege.

als beispiel

<root>
<spieler spielerid="10" spielwert="12" reihenfolge="5"/>
<spieler spielerid="05" spielwert="09" reihenfolge="1"/>
<spieler spielerid="10" spielwert="09" reihenfolge="4"/>
<spieler spielerid="10" spielwert="04" reihenfolge="1"/>
<spieler spielerid="05" spielwert="03" reihenfolge="2"/>
<spieler spielerid="02" spielwert="08" reihenfolge="1"/>
</root>

Als ergebnis sollte dann zuerst die spielerid sortiert werden und die spielwertausgabe sollen dann nach reihenfolge und nicht nach ihrem wert sortiert werden. Also

spielerid 10
 spielwert 04
 spielwert 09
 spielwert 12

spielerid 05
 spielwert 09
 spielwert 03

spielerid 02
 spielwert 08

wie kann man das mit recursiven Templates wenn man auf xsl:for-each und xsl:sort verzichtet?

Gruß