Thomas: Probleme mit for-each

Beitrag lesen

Hallo an alle,

Ich habe folgendes Problem:
Ich werte alle Elemente einer .xml-Datei mit for-each aus. Nun verweisen einige Elemente auf ein weiteres Element. Immer wenn dieser Verweis vorhanden ist, möchte ich mir dann diese Elemente "merken" Nach dem Durchlaufen aller Elemente mit for-each möchte ich dann alle diese Elemente, die ich mir vorher "gemerkt" habe, weiter auswerten.

Ist dies so überhaupt möglich? Wenn ja, wie? Können dazu Variablen genutzt werden?

Der Grund ist, dass ich die Elemente ín eine bestimmte Reihenfolge bringen muss. Ein entsprechendes Sortierkriterium ist aber nicht vorhanden (xsl:sort nicht möglich). Die Sortierung kommt nur dadurch zu Stande, dass die einzelnen Elemente in einer best. Beziehung zueinander stehen. Einzig das erste Element ist vorgegeben.

Beispiel:

xml: (grob vereinfacht)

<Gruppe name="abc">
    <Element name="345" />
    <Element name="567" Gruppe="jkl" />
    <Element name="789" Gruppe="def" />
</Gruppe>
<Gruppe name="def">
    <Element name="369" />
    <Element name="258" />
    <Element name="147" />
</Gruppe>
<Gruppe name="ghi" top="yes">
    <Element name="123" Gruppe="mno" />
    <Element name="345" />
    <Element name="456" Gruppe="abc" />
</Gruppe>
<Gruppe name="jkl">
    <Element name="147" />
    <Element name="258" />
    <Element name="369" />
</Gruppe>
<Gruppe name="mno">
    <Element name="234" />
    <Element name="456" />
    <Element name="678" />
</Gruppe>

Ergebnis

ghi
  123
  345
  456

mno
  234
  456
  678

abc
  345
  567
  789

jkl
  147
  258
  369

def
  369
  258
  147

Vielen Dank schon mal für Eure Hilfe!

Gruß
Thomas