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

Die Ancestor-Or-Self-Achse

Abbildung: Die Ancestor-Or-Self-Achse.

Die »Ancestor-Or-Self«-Achse beinhaltet den Kontextknoten sowie alle seine Vor­fahren (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 Kno­ten 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 Dokumentreihen­folge angeordnet, da es sich hier um eine rückwärts gewandte Achse han­delt. 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 ungeach­tet 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