Die zwei Schreibweisen für Achsenbezeichner

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 1.)

Für die meistverwendeten Achsen, also vier der Elementachsen sowie die Attributachse, haben sich Abkürzungen für den Achsenbezeichner eingebürgert (abbreviated syntax). Für alle Achsen existiert eine vollständige Schreibweise des Bezeichners (unabbreviated syntax), die grundsätzlich immer angewendet werden kann.

Ein Location Step in der ausführlichen Schreibweise sieht dann in der Tat wie unter Eine Achse für die Bewegungsrichtung gezeigt aus. Der Bezeichner der Achse wird in Kleinbuchstaben geschrieben:

child::gruss

Dies stellt einen Location Step auf der Child-Achse in vollständiger Schreibweise dar. Gewählt werden Elemente mit Namen gruss, die Kindelemente des Kontextknotens sind.

Genau solch eine Auswahl wurde schon einmal beschrieben, dabei aber einfacher formuliert:

gruss

In der Tat handelt es sich auch hier um einen inhaltlich identischen, vollständigen Location Step – nur eben in abgekürzter Schreibweise. Da die Child-Achse die gebräuchlichste ist, lässt man ihren Achsenbezeichner child:: in der Regel einfach weg. Die Child-Achse stellt somit bei der Bewegung im Baum praktisch die Default-Achse dar.

Weniger radikale Abkürzungen existieren für die Parent-Achse, die Self-Achse, für die Descendant-Or-Self-Achse und für die Attributachse. Die Nennung aller anderen Achsen muss, wenn sie denn einmal benötigt werden, in der ausführlichen Schreibweise erfolgen.

Die für Self- und Parent-Achse genannten Abkürzungen beinhalten den neutralen Knotentest mit node(), stellen also einen abgeschlossenen vollständigen Location Step dar. Die Kurzschreibweise »//« steht für einen neutralen Schritt auf der Descendant-Or-Self-Achse, dem aber ein weiterer Schritt folgen muss. Die anderen beiden sind dagegen wirklich Abkürzungen des eigentlichen Achsenbezeichners.

Tabelle: Liste der in Zusammenhang mit Achsen verwendeten Abkürzungen.

Ausdruck Abkürzung
child:: (Weglassen des Achsenbezeichners)
self::node() .
parent::node() ..
/descendant-or-self::node()/ //
attribute:: @

Zusammenfassung zu Achsen und Knotentests

  • Ein Location Step eines Pfadausdrucks besteht aus einer Achse und einem Knotentest.
  • Mit Achsen werden die Bewegungsrichtungen im Dokumentbaum beschrieben. Man unterscheidet in Bezug auf die Dokumentleserichtung vorwärts und rückwärts gerichtete Achsen.
  • Jede der dreizehn Achsen besitzt in ihrer Richtung eine bestimmte Reichweite, die ihre primäre Ergebnismenge bestimmt.
  • Für alle Achsen existiert eine vollständige Schreibweise, für einige wichtige Achsen zusätzlich eine abgekürzte Schreibweise.
  • Die Child-Achse ist die Default-Achse. Ihr Achsenbezeichner wird deshalb in Location Steps in der Regel weggelassen.
  • Der Knotentest extrahiert aus der Ergebnismenge eines Achsenschritts Knoten mit bestimmten Eigenschaften. Man unterscheidet zwischen Knotentests für die Knotengattung (KindTest) und solchen für Knotenbezeichner (NameTest).

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT 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