XQuery-Syntax

XQuery ist groß- und kleinschreibunsabhängig, XQuery-Elemente, Attribute und Variablen müssen gültige XML-Namen sein.

Grundlegende Grammatikregeln von XQuery:

Einige grundlegende Grammatikregeln:

  • XQuery ist groß- und kleinschreibunsabhängig
  • XQuery-Elemente, Attribute und Variablen müssen gültige XML-Namen sein.
  • XQuery-Zeichenfolgen können einfache oder doppelte Anführungszeichen verwenden.
  • XQuery-Variable werden durch "$" und gefolgt von einem Namen definiert, z.B. $bookstore
  • XQuery-Kommentare werden durch (: und :) getrennt, z.B. (: XQuery-Kommentar :)

XQuery-Bedingungsbedingungen

"If-Then-Else" kann in XQuery verwendet werden.

Bitte sehen Sie 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>

Beachten Sie die Syntax von "If-Then-Else": Die runden Klammern nach der if-Ausdrucksform sind obligatorisch. else ist ebenfalls obligatorisch, aber es ist auch möglich, nur "else ()" zu schreiben.

Das Ergebnis des obigen Beispiels:

<adult>Everyday Italian</adult>
<child>Harry Potter</child>
<adult>Learning XML</adult>
<adult>XQuery Kick Start</adult>

XQuery-Vergleich

In XQuery gibt es zwei Methoden, um Werte zu vergleichen.

  1. Allgemeiner Vergleich: =, !=, <, <=, >, >=
  2. Wertvergleich: eq, ne, lt, le, gt, ge

Die Unterschiede zwischen diesen beiden Vergleichsmethoden sind wie folgt:

Sehen Sie sich den folgenden XQuery-Ausdruck an:

$bookstore//book/@q > 10

Wenn der Wert der q-Attribut größer als 10 ist, gibt die obige Ausdrucksform true zurück.

$bookstore//book/@q gt 10

Wenn nur ein q zurückgegeben wird und sein Wert größer als 10 ist, gibt die Ausdrucksform true zurück. Wird mehr als ein q zurückgegeben, wird ein Fehler ausgelöst.