Sintassi XQuery

XQuery è sensibile alle maiuscole e minuscole, gli elementi, gli attributi e le variabili XQuery devono essere nomi XML validi.

Regole di base della sintassi XQuery:

Alcuni regole di sintassi di base:

  • XQuery è sensibile alle maiuscole e minuscole
  • Gli elementi, gli attributi e le variabili XQuery devono essere nomi XML validi.
  • I valori di stringa XQuery possono essere utilizzati con virgolette singole o doppie.
  • Le variabili XQuery sono definite con un "$" seguiti da un nome, ad esempio, $bookstore
  • I commenti XQuery sono separati da (: e :), ad esempio, (: commento XQuery :)

Espressione condizionale XQuery

La sintassi "If-Then-Else" può essere utilizzata in XQuery.

Ecco un esempio sotto:

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>

Attenzione alla sintassi "If-Then-Else": i parentesi quadri dopo l'espressione if sono obbligatori. else è anche obbligatorio, ma si può scrivere anche "else ()".

Risultato degli esempi sopra:

<adult>Italiano quotidiano</adult>
<child>Harry Potter</child>
<adult>Impara XML</adult>
<adult>Avvio rapido di XQuery</adult>

Confronto XQuery

In XQuery ci sono due metodi per confrontare i valori.

  1. Confronto universale: =, !=, <, <=, >, >=
  2. Confronto dei valori: eq, ne, lt, le, gt, ge

Le differenze tra questi due metodi di confronto sono le seguenti:

Ecco l'espressione XQuery di seguito:

$bookstore//book/@q > 10

Se il valore dell'attributo q è maggiore di 10, il valore di ritorno dell'espressione sopra è true.

$bookstore//book/@q gt 10

Se viene restituito un singolo q e il suo valore è maggiore di 10, l'espressione restituisce true. Se vengono restituiti più di un q, si verifica un errore.