XQuery espressioni FLWOR
Cos'è FLWOR?
FLWOR (pronunciato "fiore") è l'acronimo di "For, Let, Where, Order by, Return".
- Per - seleziona una sequenza di nodi
- Let - associa una sequenza a una variabile
- Dove - filtra i nodi
- Ordina per - ordina i nodi
- Ritorno - cosa restituire (viene valutato una volta per ogni nodo)
Il documento di esempio XML
Utilizzeremo il documento "books.xml" negli esempi seguenti (stesso file XML del capitolo precedente).
Visualizza il file "books.xml" nel tuo browser .
Come selezionare i nodi da "books.xml" con FLWOR
Osserva la seguente espressione di percorso:
doc("books.xml")/bookstore/book[price>30]/title
L'espressione sopra selezionerà tutti gli elementi titolo sotto gli elementi libro che si trovano sotto l'elemento libreria che hanno un elemento prezzo con un valore superiore a 30.
La seguente espressione FLWOR selezionerà esattamente la stessa espressione del percorso sopra:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
Il risultato sarà:
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
Con FLWOR puoi ordinare il risultato:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
La clausola for seleziona tutti gli elementi del libro sotto l'elemento libreria in una variabile chiamata $x.
La clausola where seleziona solo gli elementi del libro con un elemento prezzo con un valore maggiore di 30.
La clausola order by definisce l'ordinamento. Verrà ordinato in base all'elemento del titolo.
La clausola di restituzione specifica cosa deve essere restituito. Qui restituisce gli elementi del titolo.
Il risultato dell'espressione XQuery sopra sarà:
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>