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