Logische Verknüpfungen von Ausdrücken

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

Operatoren: and, or

Eine logische Verknüpfung zweier Ausdrücke erfolgt in XPath entweder in Form einer AND- oder einer OR-Verknüpfung. Hierfür stehen die logischen Operatoren and und or zur Verfügung. Eine Ver­knüpfung mit and besitzt Präzedenz zu einer mit or, wenn beide Operatoren in einem größeren Ausdruck gemeinsam auftreten.

Jeder ihrer beiden Operanden wird hierfür im Booleschen Kontext ausgewertet und geht mit seinem effektiven booleschen Wert in den Gesamtausdruck ein. Dieser ergibt daher, sofern kein Fehler auftritt, in jedem Fall entweder den Wert true oder false.

Der logische Ausdruck A1 and A2 ist dann true, wenn der effektive boolesche Wert beider Operanden A1 und A2 den Wert true ergibt. Der logische Aus­druck A1 or A2 ergibt dann true, wenn der effektive boolesche Wert eines oder beider Operanden true ist.

Die Umwandlung der Operanden in ihren effektiven booleschen Wert erfolgt automatisch bei der Normalisierung des Gesamtausdrucks gemäß der Funktion fn:boolean(). Anschließend wird der logische Operator angewendet:

a and b

entspricht daher im Prinzip

fn:boolean(a) and fn:boolean(b)

Beide folgenden Ausdrücke geben den Wert true zurück:

1 eq 1 and 2 ne 3

1 eq 1 or 2 ne 2

In Verbindung mit der Funktion fn:not(), die die logische Negation des effektiven booleschen Wertes ihres Arguments zurückgibt, sind alle denkbaren logischen Verknüpfungen zweier Ausdrücke darstellbar:

AND: a and b

OR: a or b

NAND: fn:not(a and b)

NOR: fn:not(a or b)

Rückblick auf XPath 1.0

Hier bestehen keine Unterschiede – die logischen Operatoren and und or sind in XPath 1.0 und XPath 2.0 gleichartig im­plementiert.

   

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