Matthias: xsl:sort + Nachfolger/Vorgänger?

Aloha,

ich versuche eine Struktur aus einem xml-file zu erstellen, in der die Elemente nach einem Attribut sortiert aufsteigend sortiert vorkommen.

Soweit habe ich das hinbekommen.

Allerdings bräuchte ich, wenn ich in meiner for-each Schleife bin, Zugriff auf den Nach/Vorgaenger des aktuellen Elements. Allerdings nicht auf einen Geschwisterteil, sondern den Nach/Vorgänger in der Sortierung.

BSP:

<a attr="2"></a>
<c attr="1"></c>
<b attr="3"></b>

Wenn ich das ganze jetzt nach attr sortiere, bekomme ich folgende Ausgabe:

c
a
b

Jetzt soll das ganze aber folgendermaßen aussehen:

c->a
a->b
b

Hat jemand eine Idee wie ich das realisieren könnte?
Eine xsl:variable kann ich nach Deklaration nicht mehr verändern, und ein xsl:param kann ich nur mit einem template-aufruf benutzen, durch das xsl:sort bin ich aber an die for-each Schleife gebunden.....

Hätte jemand ein paar Tipps für mich?

Viele Grüße,

Matthias

  1. Hallo,

    Allerdings bräuchte ich, wenn ich in meiner for-each Schleife bin, Zugriff auf den Nach/Vorgaenger des aktuellen Elements. Allerdings nicht auf einen Geschwisterteil, sondern den Nach/Vorgänger in der Sortierung.

    BSP:

    <a attr="2"></a>
    <c attr="1"></c>
    <b attr="3"></b>

    Wenn ich das ganze jetzt nach attr sortiere, bekomme ich folgende Ausgabe:

    c
    a
    b

    Jetzt soll das ganze aber folgendermaßen aussehen:

    c->a
    a->b
    b

    Das verstehe ich nicht, diese Ausgabe wäre das, was du vor der Sortierung schon hattest. Kannst du genauer erklären, was du meinst?

    durch das xsl:sort bin ich aber an die for-each Schleife gebunden.....

    Bist du nicht, du kannst auch in einem xsl:apply-templates xsl:sort aufrufen.

    Grüße
    Thomas