Bezugspunkt: Der Pfadausdruck im Kontext

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

Hier noch einmal die genaue Reihenfolge des Geschehens:

  1. Mit der Aktivierung der Template-Regel match="/" betritt der Parser den Quell­dokumentbaum, genauer gesagt dessen Dokumentknoten. Die Blickrichtung zeigt auf das Wurzelelement hin.
  2. Es wird nach einem Element <gruss> gesucht, um dessen Stringwert zu holen.

Im Detail: Der XSLT-Prozessor begibt sich, unter Aktivierung der Template-Regel match="/" gewissermaßen auf die Schwelle des Eingabedokuments, jedoch (noch) nicht ins Innere. An dieser Position bleibt er stehen. Sie bildet während der Verarbeitung der Template-Regel den Auswertungskontext.

Der Current Node dient also als Basis zur Auswertung von XPath-Ausdrücken innerhalb der Template-Regel. Von dort ausgehend wertet der Prozessor einen in der aktuellen Template-Regel stehenden Pfadausdruck aus.

Das Pattern ist in diesem Fall /, der Kontext ist also der Dokumentknoten des Quelldokuments. Mit diesem Bezug ist der XPath-Ausdruck gruss zu betrach­ten. Setzt man Kontext und Ausdruck gedanklich zusammen, so ergibt sich:

/ + gruss -> /gruss

Dies ähnelt äußerlich einer Dateipfadangabe. Nicht ohne Grund: XPath ist in der Tat an die Dateipfadsyntax von UNIX angelehnt. Ein führender Slash kenn­zeichnet dort die Wurzel des Systemverzeichnisses, hier den Dokumentknoten des XML-Dokuments. Nicht dessen Wurzelelement, dieses liegt eine Ebene weiter innen! So interpretiert bedeutet der oben stehende zusammengesetzte Ausdruck:

»Ein Element <gruss> in der ersten (obersten) Ebene des Dokumentbaums«

   

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