Zusammenstellung der Ergebnissequenz
(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 4.)
Im einfachsten Fall eines Pfadausdrucks, der nur aus einem einzelnen Schritt besteht, stellt dieser unmittelbar die Ergebnissequenz zusammen. Diese besteht aus denjenigen Knoten, die, ausgehend von dem jeweils aktuellen Kontextknoten (oder, im Falle eines absoluten Pfadausdrucks, dem Dokumentknoten), die Bedingung des Schritts erfüllen. Einen solchen Pfadausdruck bezeichnet man als einfachen Pfadausdruck.
Sind mehrere Schritte durch den Pfadoperator verkettet, so spricht man von einem zusammengesetzten Pfadausdruck (composite path expression). Die Erzeugung der Ergebnissequenz ist in diesem Fall weniger trivial, da sich diese auf einen pro Schritt wechselnden Fokus bezieht.
Jeder einzelne der von links nach rechts ausgewerteten Location Steps erzeugt eine Nodesequenz, deren Items der Reihe nach als Kontextknoten den vorübergehenden Ausgangspunkt für die Auswertung des folgenden Schritts bilden. Während der Auswertung eines Pfadausdrucks wandert der Kontextknoten daher in Form des Auswertungskontextes. Der Fokus wird nach dem letzten Schritt wieder an den ursprünglichen Kontextknoten zurückgegeben.
Erzeugt step_1 eine Sequenz aus n Knoten, so wird step_2 genau n-mal ausgewertet, und zwar mit Knoten 1 bis n der Primärsequenz als jeweiligem Kontextknoten. Dieser Vorgang wird wiederholt, bis das Ende der Kette erreicht wird.
Die Vereinigungsmenge aller bei Auswertung des letzten Schritts erfolgreich getesteten Knoten ergibt die Ergebnissequenz des Pfadausdrucks. Diese Sequenz muss keinen zusammenhängenden Bereich des Baums umfassen – die Knoten können durchaus über das gesamte Dokument verstreut sein.
Die Knoten der Ergebnissequenz haben gemeinsam, dass jeder von ihnen die Bedingungen der Schrittfolge des Pfadausdrucks erfüllt. Es sind dokumentweit alle Knoten in der Sequenz enthalten, auf die dies zutrifft: Ein Pfadausdruck in XPath gilt in diesem Sinne als umfassend (inclusive).
<< 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