XQuery-Syntax

XQuery ist auf Groß- und Kleinschreibung empfindlich, und die Elemente, Attribute und Variablen von XQuery müssen gültige XML-Namen sein.

Grundlegende Syntaxregeln von XQuery:

Einige grundlegende Syntaxregeln:

  • XQuery ist auf Groß- und Kleinschreibung empfindlich.
  • XQuery-Elemente, Attribute und Variablen müssen gültige XML-Namen sein.
  • XQuery-Stringwerte können mit einfacher oder doppelter Anführungszeichen verwendet werden.
  • XQuery-Variable werden durch "$" und gefolgt von einem Namen definiert, z.B. $bookstore
  • XQuery-Kommentare werden durch (: und :) getrennt, z.B. (: XQuery-Kommentar :)

XQuery bedingte Ausdrücke

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

Betrachten Sie das folgende Beispiel:

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>

Bitte beachten Sie die Syntax von "If-Then-Else": Die runden Klammern nach dem if-Ausdruck sind obligatorisch. else ist ebenfalls obligatorisch, man kann aber auch nur "else ()" schreiben.

Das Ergebnis des obigen Beispiels:

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

XQuery Vergleiche

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

  1. Allgemeine Vergleiche: =, !=, <, <=, >, >=
  2. Wertevergleich: eq, ne, lt, le, gt, ge

The differences between these two comparison methods are as follows:

Please see the following XQuery expression:

$bookstore//book/@q > 10

If the value of the q attribute is greater than 10, the return value of the above expression is true.

$bookstore//book/@q gt 10

If only one q is returned and its value is greater than 10, the expression returns true. If more than one q is returned, an error will occur.