Wyrażenia FLWOR w XQuery

Przykładowy dokument XML

W przykładach poniżej będziemy nadal używać tego dokumentu "books.xml" (ten sam plik XML jak w poprzednim rozdziale).

Zobacz plik "books.xml" w swojej przeglądarce.

Jeśli używasz FLWOR do wybierania węzłów z "books.xml"

Proszę spojrzeć na poniższy wyrażenie ścieżki:

doc("books.xml")/bookstore/book[price>30]/title

Powyższe wyrażenie FLWOR wybiera wszystkie elementy title z elementów book w elementach bookstore, przy czym wartość elementu price musi być większa niż 30.

Powyższe wyrażenie FLWOR wybiera dane takie same jak powyższe wyrażenie ścieżki:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title

Wynik:

<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>

Dzięki FLWOR można posortować wyniki:

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title

FLWOR to skrócona nazwa "For, Let, Where, Order by, Return".

for Wyrażenie zdefiniowane przez zdanie wydobywa wszystkie elementy book z elementu bookstore do zmiennej o nazwie $x.

where Wyrażenie zdefiniowane przez zdanie wybiera elementy book, dla których wartość elementu price jest większa niż 30.

order by Wyrażenie zdefiniowane przez zdanie określa kolejność sortowania. Sortowanie będzie przeprowadzane według elementów title.

return Wyrażenie zdefiniowane przez zdanie zwraca co ma być zwrócone. W tym przypadku zwracany jest element title.

Wynik powyższego wyrażenia XQuery:

<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>