Announcement

Collapse
No announcement yet.

Elementenreihenfolge

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Elementenreihenfolge

    Hallo!

    Ich habe mal wieder eine Frage. Bitte im Voraus mich zu entschuldigen falls es sich um eine dumme Frage handelt sollte, bin nämlich ein Anfänger was XSLT angeht.

    Mein Problem ist folgendes:

    die XML-Datei sieht so aus:

    <head>
    <element1></element1>
    <element2></element2>
    <element2_a></element2_a>
    <element3></element3>
    <element3_a></element3_a>
    <element4></element4>
    </head>

    was ich will ist, dass alle Elemente, die keinen Anhang '_a' in ihrem Namen haben, bloß kopiert werden. Alle die einen solchen Anhang haben, sind die Bedingung für ein weiteres template, wobei die elemente mit dem gleichen Namen aber ohne Anhang gar nicht kopiert werden dürfen.
    Man bekäme praktisch folgendes Ergebnis:

    <head>
    <element1></element1>
    <element2_a></element2_a>
    <element3_a></element3_a>
    <element4></element4>
    </head>

    Elemente mit Anhang würden zwar noch weitere Befehle auslösen, aber das spielt eigentlich keine Rolle.

    Das Problem hört sich zuerst sehr trivial an und es wäre ganz einfach wenn man den XML-Baum "von unten"/"hinten" angehen könnte. Wenn man z.b. beim element4 anfängt und dann nach oben wandert.
    Den Vergleich zu bilden ist nicht das Problem, aber es an der richtigen Stelle zu tun, so dass nichts doppelt widergegeben wird, schaffe ich nicht...
    Gibt es einen Befehl mit dem ich nur das dem aktuellen Element nachfolgende ansprechen kann? Aus meinem schlauen XSLT-Buch geht das leider nicht hervor...

    Vielen Dank im Voraus!
    Gruß Alex
    Zuletzt editiert von w_ing; 14.04.2008, 16:38.

  • #2
    Originally posted by w_ing View Post
    Gibt es einen Befehl mit dem ich nur das dem aktuellen Element nachfolgende ansprechen kann?
    following-sibling::*[1]

    Comment


    • #3
      EXAKT!!!
      Damit ist alles leicht gelöst!
      Vielen Dank!

      Comment

      Working...
      X