XQuery FLWOR- expressies
Wat is FLWOR?
FLWOR (uitgesproken als "bloem") is een acroniem voor "For, Let, Where, Order by, Return".
- Voor - selecteert een reeks knopen
- Let - bindt een reeks aan een variabele
- Waar - filtert de knooppunten
- Sorteer op - sorteert de knooppunten
- Return - wat te retourneren (wordt eenmaal geëvalueerd voor elk knooppunt)
Het XML-voorbeelddocument
In de onderstaande voorbeelden gebruiken we het document "books.xml" (hetzelfde XML-bestand als in het vorige hoofdstuk).
Bekijk het bestand "books.xml" in uw browser .
Knooppunten selecteren uit "books.xml" met FLWOR
Bekijk de volgende padexpressie:
doc("books.xml")/bookstore/book[price>30]/title
De bovenstaande uitdrukking selecteert alle titelelementen onder de boekelementen die zich onder het boekwinkelelement bevinden en die een prijselement hebben met een waarde die hoger is dan 30.
De volgende FLWOR-expressie selecteert precies hetzelfde als de bovenstaande padexpressie:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
return $x/title
Het resultaat zal zijn:
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>
Met FLWOR kunt u het resultaat sorteren:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
De for -clausule selecteert alle boekelementen onder het boekwinkelelement in een variabele genaamd $x.
De where -clausule selecteert alleen boekelementen met een prijselement met een waarde groter dan 30.
De order by -clausule definieert de sorteervolgorde. Wordt gesorteerd op het titelelement.
De retourclausule specificeert wat moet worden geretourneerd. Hier retourneert het de titelelementen.
Het resultaat van de bovenstaande XQuery-expressie is:
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>