Predicates – Filterbedingungen für Location Steps

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

In XPath wird eine hierfür erforderliche Filterbedingung mittels eines sogenannten Predicates definiert, gewöhnlich etwas unschön mit »Prädikat« (Anmerkung: Adäquater wäre »Filterbedingung« oder »Prädikatfilter«. Ich favorisiere in diesem Fall den kürzeren englischen Ausdruck – im Sinne eines Fachausdrucks, nicht aus Hang zur Anglisierung.) übersetzt. Ein solches Predicate wird, in eckige Klammern gestellt, einfach an Achsenbezeichner und Knotentest eines Schritts angehängt:

achsenbezeichner::knotentest[predicate]

Der Inhalt des Predicates kann ein beliebiger XPath-Ausdruck sein, der Bezeich­ner, Operatoren und Funktionsaufrufe enthält. Ein Schritt kann dabei mehrere Predicates in Folge besitzen:

achsenbezeichner::knotentest[predicate1][predicate2]

Dies kann man als eine Art Folge von Sieben verstehen, durch die die Ergebnis­menge des Location Step gefiltert wird. Es ist wichtig, sich zu vergegenwärti­gen, dass die resultierende Menge nicht unabhängig von der Reihenfolge der Predicates ist, zumindest nicht in jedem Falle: Stellt man sich beispielsweise eine Bedingung vor, die pauschal jedes zweite Item einer Sequenz entfernt, und eine weitere, die den verbleibenden Rest mit einem Schwellenwertver­gleich filtert, so wird dieser Umstand deutlicher.

Setzt sich ein Pfadausdruck aus einer Reihe von Schritten zusammen, so kann jeder Schritt eine beliebige Menge von Predicates erhalten:

step1[predicate]/step2[predicate]/step3[predicate]

Jeder Predicate-Ausdruck wird in Zusammenhang mit einem geprüften Kandi­datenknoten zu einem Booleschen Wert ausgewertet. Ist dieser true, so wird der geprüfte Knoten der Ergebnismenge des Schritts zugeschlagen (bzw. beibe­halten), andernfalls verworfen. Die nach dem letzten Schritt verbleibende Sequenz ist die Ergebnissequenz des Pfadausdrucks.

Auf diesem Wege ist es möglich, die Zusammensetzung einer Sequenz bis ins Detail zu bestimmen. Dies soll jetzt an ein paar einfachen Beispielen gezeigt werden.

   

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