Knotentypen und Achsen

Die Knotentypen

Die Bestandteile von XML-Dokumenten werden als Knoten bezeichnet. Dabei lassen sich folgende 7 Knotentypen unterscheiden, deren Namen selbsterklärend sind:

  • Root node (Wurzelknoten): Dieser darf nicht mit dem Wurzelelement selbst verwechselt werden. Vielmehr ist dieser der virtuelle Elternknoten (parent node) des Wurzelelements.
  • Element node (Elementknoten)
  • Attribute node (Attributknoten)
  • Text node (Textknoten)
  • Namespace node (Namensraumknoten)
  • Processing instruction node (Verarbeitungsanweisungsknoten)
  • Comment node (Kommentarknoten)

Jeder dieser Knoten lässt sich mit XPath ansteuern und ermöglicht so eine Weiterverarbeitung mit XSL.

Die Achsen

Die Navigation in einem XML-Dokument mittels XPath erfolgt von einem Kontextknoten (context node) – in den folgenden Darstellungen als SELF bezeichnet – aus. Der Kontextknoten ist immer der jeweilige Ausgangspunkt, in dem sich der XSLT-Prozessor gerade befindet. Die Achsennamen bezeichnen hierbei – wie bereits in XML gebräuchlich – Verwandtschaftsverhältnisse. In den folgenden Darstellungen werden elf der insgesamt dreizehn unterschiedlichen Achsen veranschaulicht. Neben den dargestellten Achsen, welche die Navigation durch die Elementknoten eines Dokumentbaumes erlauben, gibt es noch die Attributknoten und den Namensraumknoten eines Elements, die mittels der Schlüsselwörter attribute bzw. namespace angesprochen werden.

Die Self-Achse enthält den Kontextknoten.

Self-Achse

Die Child-Achse enthält alle Kindelemente des Kontextknotens.

Child-Achse

Die Descendant-Achse enthält alle Nachkommen des Kontextknotens.

Descendant-Achse

Die Descendant-or-self-Achse enhält alle Nachkommen und den Kontextknoten selbst.

Descendant-or-self-Achse

Die Parent-Achse enthält das Elternelement des Kontextknotens.

Parent-Achse

Die Ancestor-Achse enthält alle Vorfahren des Kontextknotens.

Ancestor-Achse

Die Ancestor-or-self-Achse enthält alle Vorfahren und den Kontextknoten selbst.

Ancestor-or-self-Achse

Die Preceding-Achse enthält alle Vorgänger des Kontextknotens, die keine Vorfahren sind. Die Following-Achse enthält alle Nachfolger des Kontextknotens, die keine Nachfahren sind.

Preceding-Achse

Die Preceding-sibling-Achse enthält alle Vorgänger des Kontextknotens, die das gleiche Elternelement haben, also die vorangegangenen Geschwister sind. Die Following-sibling-Achse enthält alle Nachfolger des Kontextknotens, die das gleiche Elternelement haben, also die nachfolgenden Geschwister sind.

Preceding-sibling-Achse

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XPath bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © dpunkt.verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken. Ansonsten unterliegt dieses Kapitel aus dem Buch "Professionelle XML-Verarbeitung mit Word" 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.

dpunkt.verlag GmbH, Ringstraße 19B, 69115 Heidelberg, fon 06221-14830, fax 06221-148399, hallo(at)dpunkt.de