XQuery- Syntax
Bei XQuery wird zwischen Groß- und Kleinschreibung unterschieden, und XQuery-Elemente, -Attribute und -Variablen müssen gültige XML-Namen sein.
Grundlegende Syntaxregeln für XQuery
Einige grundlegende Syntaxregeln:
- Bei XQuery wird zwischen Groß- und Kleinschreibung unterschieden
- XQuery-Elemente, -Attribute und -Variablen müssen gültige XML-Namen sein
- Ein XQuery-Zeichenfolgenwert kann in einfachen oder doppelten Anführungszeichen stehen
- Eine XQuery-Variable wird mit einem $ gefolgt von einem Namen definiert, z. B. $bookstore
- XQuery-Kommentare werden durch (: und :) getrennt, z. B. (: XQuery-Kommentar :)
Das XML-Beispieldokument
In den folgenden Beispielen verwenden wir das Dokument "books.xml" (dieselbe XML-Datei wie in den vorherigen Kapiteln).
Zeigen Sie die Datei „books.xml“ in Ihrem Browser an .
Bedingte XQuery-Ausdrücke
"If-Then-Else"-Ausdrücke sind in XQuery erlaubt.
Sehen Sie sich das folgende Beispiel an:
for $x in doc("books.xml")/bookstore/book
return if ($x/@category="children")
then <child>{data($x/title)}</child>
else <adult>{data($x/title)}</adult>
Hinweise zur "if-then-else"-Syntax: Klammern um den if-Ausdruck sind erforderlich. else ist erforderlich, kann aber auch einfach else () sein.
Das Ergebnis des obigen Beispiels lautet:
<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>XQuery Kick Start</adult>
<adult>Learning XML</adult>
XQuery-Vergleiche
In XQuery gibt es zwei Möglichkeiten, Werte zu vergleichen.
1. Allgemeine Vergleiche: =, !=, <, <=, >, >=
2. Wertevergleiche: eq, ne, lt, le, gt, ge
Der Unterschied zwischen den beiden Vergleichsmethoden wird unten gezeigt.
Der folgende Ausdruck gibt „true“ zurück, wenn eines der q-Attribute einen Wert größer als 10 hat:
$bookstore//book/@q > 10
Der folgende Ausdruck gibt „true“ zurück, wenn nur ein q-Attribut vom Ausdruck zurückgegeben wird und sein Wert größer als 10 ist. Wenn mehr als ein q zurückgegeben wird, tritt ein Fehler auf:
$bookstore//book/@q gt 10