Výrazy XQuery FLWOR
Co je FLWOR?
FLWOR (vyslovováno „květina“) je zkratka pro „Pro, Let, Kde, Uspořádejte podle, Vraťte se“.
- Pro - vybere posloupnost uzlů
- Let - váže sekvenci na proměnnou
- Kde - filtruje uzly
- Uspořádat podle - seřadí uzly
- Return - co vrátit (vyhodnocuje se jednou pro každý uzel)
Vzorový dokument XML
V příkladech níže použijeme dokument "books.xml" (stejný soubor XML jako v předchozí kapitole).
Zobrazte soubor „books.xml“ ve svém prohlížeči .
Jak vybrat uzly z "books.xml" pomocí FLWOR
Podívejte se na následující výraz cesty:
doc("books.xml")/bookstore/book[price>30]/title
Výše uvedený výraz vybere všechny prvky názvu pod prvky knihy, které jsou pod prvkem knihkupectví, které mají prvek ceny s hodnotou vyšší než 30.
Následující výraz FLWOR vybere přesně stejný výraz jako výraz cesty výše:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
Výsledkem bude:
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
S FLWOR můžete výsledek seřadit:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
Klauzule for vybere všechny prvky knihy pod prvkem knihkupectví do proměnné $x.
Klauzule where vybere pouze prvky knihy s prvkem ceny s hodnotou větší než 30.
Pořadí podle klauzule definuje pořadí řazení. Bude seřazeno podle prvku title.
Klauzule návratu určuje, co by mělo být vráceno. Zde vrací prvky názvu.
Výsledkem výše uvedeného výrazu XQuery bude:
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>