XQuery Syntax

XQuery är känslig för storlek på bokstäver, XQuery element, egenskaper och variabler måste vara giltiga XML-namn.

XQuery grundläggande grammatiska regler:

Några grundläggande grammatiska regler:

  • XQuery är känslig för storlek på bokstäver.
  • XQuery element, egenskaper och variabler måste vara giltiga XML-namn.
  • XQuery strängvärden kan använda enkel- eller dubbelcitat.
  • XQuery variabler definieras med "$" följt av ett namn, till exempel, $bookstore
  • XQuery kommentarer skiljs av med (: och :), till exempel, (: XQuery kommentar :)

XQuery villkorsexpressioner

"If-Then-Else" kan användas i XQuery.

Se exempel nedan:

för $x i doc("books.xml")/bookstore/book
return	if ($x/@category="CHILDREN")
	then <child>{data($x/title)}</child>
	else <adult>{data($x/title)}</adult>

Observera syntaxen för "If-Then-Else": Parentesen efter if-uttrycket är obligatorisk. else är också obligatorisk, men du kan också skriva "else ()".

Resultatet av de ovanstående exemplen:

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

XQuery Jämförelse

I XQuery finns det två sätt att jämföra värden.

  1. Allmän jämförelse: =, !=, <, <=, >, >=
  2. Värdejämförelse: eq, ne, lt, le, gt, ge

Skillnaden mellan dessa två jämförelsemetoder är följande:

Se nedanstående XQuery uttryck:

$bookstore//book/@q > 10

Om q-egenskapens värde är större än 10, är returvärdet för uttrycket ovan true.

$bookstore//book/@q gt 10

Om endast en q returneras och dess värde är större än 10, returnerar uttrycket true. Om mer än en q returneras inträffar ett fel.