Preceding-Sibling-Achse
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 4.)
Definiert für: XPath 1.0 und 2.0 (nicht in XQuery 1.0)
Richtung: rückwärts gerichtet
Achsenbezeichner: preceding-sibling::
Abgekürzte Schreibweise: nicht vorhanden
Abbildung: Die Preceding-Sibling-Achse.
Die »Preceding-Sibling«-Achse enthält alle Geschwisterknoten des aktuellen Knotens, die diesem in Dokumentreihenfolge vorangehenden (also solche, die Kinder des gleichen Elternknotens sind). In der Ergebnissequenz können Element-, Text-, Kommentar- und Processing-Instruction-Knoten auftreten.
Ist der aktuelle Knoten ein Namensraum- oder Attributknoten, so ist diese Achse leer. (Ein Elementknoten kann zwar durchaus mehrere Attributknoten oder Namensraumknoten besitzen. Da diese aber nicht als dessen Kindknoten gelten und obendrein keine festgelegte Reihenfolge besitzen, können sie folglich untereinander keine Geschwisterknoten sein.)
Beispiel:
- preceding-sibling::*
wählt alle Elementknoten ungeachtet ihres Bezeichners aus, die den gleichen Elternknoten wie der aktuelle Knoten besitzen und diesem in Dokumentreihenfolge vorangehen.
- preceding-sibling::node()
wählt alle Knoten ungeachtet ihres Typs aus, die den gleichen Elternknoten wie der aktuelle Knoten besitzen und diesem in Dokumentreihenfolge vorangehen. In diesem Fall sind also neben Elementknoten auch Text- oder Kommentarknoten enthalten. Die Ergebnissequenz ist entgegen der Dokumentreihenfolge geordnet.
<< zurück | vor >> |
Tipp der data2type-Redaktion: Zum Thema XPath bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: |
Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Galileo Press, Rheinwerkallee 4, 53227 Bonn