XQuery Syntax

XQuery is gevoelig voor hoofd- en kleine letters, XQuery elementen, eigenschappen en variabelen moeten legitieme XML-namen zijn.

Basis grammaticale regels van XQuery:

Enkele basis grammaticale regels:

  • XQuery is gevoelig voor hoofd- en kleine letters
  • XQuery elementen, eigenschappen en variabelen moeten legitieme XML-namen zijn.
  • XQuery stringwaarden kunnen worden weergegeven met aanhalingstekens, zowel enkel als dubbel.
  • XQuery variabelen worden gedefinieerd met "$" gevolgd door een naam, bijvoorbeeld, $bookstore
  • XQuery comments worden gescheiden door (: en :), bijvoorbeeld, (: XQuery commentaar :)

XQuery conditie expressie

"If-Then-Else" kan worden gebruikt in XQuery.

Bekijk het volgende voorbeeld:

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>

Let op de syntaxis van "If-Then-Else": de haakjes na de if-expressie zijn vereist. else is ook vereist, maar je kunt ook alleen "else ()" schrijven.

Het resultaat van de bovenstaande voorbeelden:

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

XQuery Vergelijking

In XQuery zijn er twee methoden om waarden te vergelijken.

  1. Algemene vergelijking: =, !=, <, <=, >, >=
  2. Waarde vergelijking: eq, ne, lt, le, gt, ge

Het verschil tussen deze twee vergelijkingsmethoden is als volgt:

Zie hieronder de XQuery expressie:

$bookstore//book/@q > 10

Als de waarde van de q-eigenschap groter is dan 10, is de retourwaarde van de bovenstaande expressie true.

$bookstore//book/@q gt 10

Als er maar één q wordt geretourneerd en zijn waarde groter is dan 10, dan retourneert de expressie true. Als er meer dan één q wordt geretourneerd, ontstaat er een fout.