Self-Achse

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

Definiert für: XPath 1.0 und 2.0, XQuery 1.0

Richtung: vorwärts gerichtet

Achsenbezeichner: self

Abgekürzte Schreibweise: .

Die Self-Achse

Abbildung: Die Self-Achse.

Die »Self«-Achse enthält einen einzigen Knoten, nämlich den aktuellen Kontext­knoten. Es muss sich nicht unbedingt um einen Elementknoten handeln. Für die ausführliche Schreibweise self::node() kann als gleichwertiger Ausdruck der Punkt ».« als abgekürzte Schreibweise eingesetzt werden.

Beispiel:

Der doppelte Doppelpunkt »::« dient als Verbindungsoperator zwischen Achsenbezeichner und Knotentest. Er zählt nicht zum Achsenbezeichner.

  • self::node()
    wählt den aktuellen Knoten ungeachtet seines Typs (oder Bezeichners) aus. In der Ergebnissequenz dieses Ausdrucks ist daher stets ein Knoten enthalten, auch wenn es sich beim Kontextitem nicht um einen Elementknoten oder den Dokumentknoten handelt.
  • self::*
    wählt den Kontextknoten aus, wenn es sich bei diesem um einen Elementknoten oder den Dokumentknoten handelt. Gehört der Kontextkno­ten einem anderen Typ an (ist er z.B. ein Textknoten), so ist die Ergebnisse­quenz leer.
  • .
    Dieser Ausdruck in abgekürzter Schreibweise entspricht dem Ausdruck self::node(), gibt also eine Sequenz bestehend aus einem Knoten, dem Kontextkno­ten, zurück. Streng genommen ist ».« nicht im eigentlichen Sinne eine Abkürzung für die »Self«-Achse, sondern ein Platzhalter für das Kontextitem. Dem Ausdruck self::node() ist er nur dann gleichzusetzen, wenn es sich beim Kontextitem tatsächlich um einen Knoten handelt. Ist das Kontextitem kein Knoten, so bewirkt der Ausdruck self::node() einen Typfehler (err:XPTY0020).

   

<< 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