Ancestor-Or-Self-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: ancestor-or-self
Abgekürzte Schreibweise: nicht vorhanden
Abbildung: Die Ancestor-Or-Self-Achse.
Die »Ancestor-Or-Self«-Achse beinhaltet den Kontextknoten sowie alle seine Vorfahren (also den Elternknoten des Kontextknotens, dessen Elternknoten usw.) bis einschließlich zum Dokumentknoten. Sieht man vom Kontextknoten ab, bei dem es sich theoretisch auch um einen Text-, Attribut- oder sonstigen Knoten handeln kann, befinden sich auf der »Ancestor-Or-Self«-Achse ausschließlich Elementknoten.
Beispiel:
- ancestor-or-self::mein_element
prüft den aktuellen Knoten und alle seine Vorfahren und wählt alle Elementknoten aus, die den Bezeichner mein_element besitzen (also auch den Kontextknoten, sofern er diese Bedingung erfüllt). Die Ergebnissequenz ist in negativer Dokumentreihenfolge angeordnet, da es sich hier um eine rückwärts gewandte Achse handelt. Der Dokumentknoten wird ebenfalls geprüft, wird in diesem Fall jedoch nicht gewählt, da er keinen Bezeichner besitzt.
- ancestor-or-self::node()
prüft den aktuellen Knoten und alle seine Vorfahren und wählt, inklusive des Dokumentknotens alle Knoten ungeachtet ihres Typs aus. Mit Ausnahme (möglicherweise) des Kontextknotens, handelt es sich dabei um Elementknoten. Die Sequenz 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