Übersprungshandlung: Der Ausdruck »//«

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

Soll eine Knotenmenge auf mehreren Ebenen im Dokument ausgewählt werden (ihre Position ist unbekannt oder die Knoten erscheinen auf verschiedenen Hierarchieebenen), so wird die Abkürzung // eingesetzt, die für einen neutralen Schritt auf der Descendant-Or-Self-Achse steht.

  • //gruss
    Dies wählt alle Elemente <gruss> aus, egal, wo diese im Dokument stehen. Da der Ausdruck mit einem Slash beginnt, handelt es sich gleichzeitig um einen absoluten Ausdruck.
  • hallo//gruss
    Dies wählt alle Elemente <gruss> aus, die irgendwo innerhalb eines Elements <hallo> stehen, das eine Ebene unter dem Kontext liegt. Achtung: Es umfasst auch diejenigen Elemente, die direkt als Children in <hallo> stehen. Ein Zwischenschritt muss nicht vorhanden sein (// ist neutral).
    Zu beachten: Die Zeichenfolge // ist (im Gegensatz zu /) selbst noch kein vollständiger Ausdruck, sondern lediglich die Abkürzung für den etwas langen eigentlichen Achsenbezeichner /descendant-or-self::node()/. Es ist in jedem Fall noch ein folgender Location Step erforderlich. Meist ist es ein Schritt auf der Child-Achse.
  • //*
    Mit diesem am Dokumentknoten ansetzenden Ausdruck werden pauschal alle Elemente im Dokument ausgewählt, eingeschlossen das Wurzelelement. Nicht enthalten ist der Dokumentknoten selbst (der auch kein Element ist). Ausgeschrieben steht hier:
    /descendant-of-self::node()/child::*

   

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