Vergleiche
Beim Vergleichen zweier Objekte in XPath werden diese mit dem =
-Zeichen auf Übereinstimmung und mit dem !=
-Zeichen auf Ungleichheit überprüft.
Zum Durchführen eines Vergleichsvorgangs müssen genau zwei Operanden bereitgestellt werden. Vergleiche werden durchgeführt, indem alle Operanden ausgewertet und bei Bedarf so konvertiert werden, dass sie denselben Typ aufweisen. Dies wird nachfolgend entsprechend dem unter "Rangordnung für Vergleiche" beschriebenen Vorgang durchgeführt.
Alle Elemente und Attribute sind Zeichenfolgen, die jedoch automatisch in Ganzzahlwerte für numerische Vergleiche umgewandelt werden. Numerische Literalwerte werden während des Vergleichsvorgangs gemäß der folgenden Tabelle in die Typen long
oder double
umgewandelt.
Informationen zu <
und anderen binären Vergleichsoperatoren finden Sie nachfolgend unter "Binäre Vergleichsoperatoren".
Literaltyp | Vergleich | Beispiel |
---|---|---|
String |
|
|
Ganze Zahl |
|
|
Real |
|
|
Einfache oder doppelte Anführungszeichen können als Zeichenfolgen-Trennzeichen in Ausdrücken verwendet werden. Auf diese Weise wird das Erstellen und Übergeben von Mustern aus Skriptsprachen vereinfacht.
Weitere Informationen zum Durchführen von Vergleichen mithilfe von XPath finden Sie unter www.w3.org/TR/xpath in "XML Path Language (XPath) Version 1.0 (W3C Recommendation 16 November 1999)", Abschnitt 3.4 ("Booleans").
Beispiele
Ausdruck | Bezieht sich auf |
---|---|
|
Alle |
|
Alle |
|
Alle |
|
Alle |
|
Alle |
Rangordnung für Vergleiche
Vergleiche in Bezug auf Datentypen unterliegen der Rangordnung.
Wenn mindestens einer der Operanden ein boolescher Wert ist, wird jeder Operand zunächst in einen booleschen Wert konvertiert.
Wenn mindestens einer der Operanden eine Zahl ist, wird jeder Operand zunächst in eine Zahl konvertiert.
Wenn mindestens einer der Operanden ein Datum ist, wird jeder Operand zunächst in ein Datum konvertiert.
Andernfalls werden beide Operanden zunächst in Zeichenfolgen konvertiert.
Binäre Vergleichsoperatoren
Ein Satz binärer Vergleichsoperatoren, die Zahlen vergleichen und boolesche Werte als Ergebnis zurückgeben. Die Operatoren <
, <=
, >
und >=
werden jeweils für "kleiner als", "kleiner als oder gleich", "größer als" und "größer als oder gleich" verwendet. Einfache oder doppelte Fragezeichen können für Zeichenfolgen-Trennzeichen in Ausdrücken verwendet werden. Auf diese Weise wird das Erstellen und Übergeben von Mustern in Skriptsprachen vereinfacht.
Beachten Sie, dass diese Vergleichsoperatoren nur mit Zahlen verwendet werden können. Sie können Zeichenfolgen auf Gleichheit überprüfen. Zum Vergleichen von Zeichenfolgen für die Ermittlung der Sortierreihenfolge sollten jedoch Microsoft XPath-Erweiterungsfunktionen verwendet werden.
Beispiele
Ausdruck | Bezieht sich auf |
---|---|
|
Alle |
|
Alle |
|
Die ersten drei |
Beispiel
XML-Datei (test.xml)
XSLT-Datei (test.xsl)
Im folgenden XSLT-Stylesheet werden alle <x>
-Elemente ausgewählt, die in der Dokumentreihenfolge das erste unter den ihnen nebengeordneten Elementen sind.
Formatierte Ausgabe
Die oben auf die XML-Datei angewendete Transformation führt zu folgendem Ergebnis:
<x a="1">
<x a="2" b="B">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
</x>
<x a="2" b="B">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
<x>
<y>y31</y>
<y>y32</y>
</x>