XQuery Selectie en Filteren
- Vorige Pagina XQuery Toevoegen
- Volgende Pagina XQuery Functies
XML instance document
We will continue to use this "books.xml" document in the following examples (the same as the XML file used in the previous chapters).
Kiezen en filteren van elementen
Zoals in de vorige hoofdstukken is te zien, gebruiken we paduitdrukkingen of FLWOR-uitdrukkingen om elementen te kiezen en te filteren.
Bekijk de volgende FLWOR-uitdrukking:
for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title
- for
- (optioneel) Bind een variabele aan elk item dat door een in-uitdrukking wordt geretourneerd
- let
- (optioneel)
- where
- (optioneel) Stel een voorwaarde in
- order by
- (optioneel) Stel de volgorde van de resultaten in
- return
- Bepaalt wat in de resultaten wordt geretourneerd
for-statement
Een for-statement bindt een variabele aan elk item dat door een in-uitdrukking wordt geretourneerd. Een for-statement kan een iteratie genereren. Er kunnen meerdere for-staten in dezelfde FLWOR-uitdrukking voorkomen.
Als u een specifieke hoeveelheid keren door een for-statement wilt herhalen, kunt u:Sleutelwoord to :
for $x in (1 to 5) return <test>{$x}</test>
Resultaat:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
Sleutelwoord at Kan gebruikt worden om iteraties te berekenen:
for $x at $i in doc("books.xml")/bookstore/book/title return <book>{$i}. {data($x)}</book>
Resultaat:
<book>1. Everyday Italian</book> <book>2. Harry Potter</book> <book>3. XQuery Kick Start</book> <book>4. Learning XML</book>
Dit geldt ook voor de for-statementMeerdere in-uitdrukkingen zijn toegestaanGebruik komma's om elke in-uitdrukking te scheiden:
for $x in (10,20), $y in (100,200) return <test>x={$x} en y={$y}</test>
Resultaat:
<test>x=10 en y=100</test> <test>x=10 en y=200</test> <test>x=20 en y=100</test> <test>x=20 en y=200</test>
let statement
De let-statement kan variabelen toewijzen en kan herhaaldelijke expressies vermijden. De let-statement veroorzaakt geen iteratie.
let $x := (1 to 5) return <test>{$x}</test>
Resultaat:
<test>1 2 3 4 5</test>
Where-statement
De where-statement wordt gebruikt om een of meerdere voorwaarden (criteria) voor de resultaten te stellen.
where $x/price>30 and $x/price<100
Order by-statement
De order by-statement wordt gebruikt om de volgorde van de resultaten te bepalen. Hier willen we de resultaten sorteren op category en title:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
Resultaat:
<title lang="en">Harry Potter</title> <title lang="en">Everyday Italian</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
Return-statement:
De return-statement definieert het te retourneren inhoud.
for $x in doc("books.xml")/bookstore/book return $x/title
Resultaat:
<title lang="en">Everyday Italian</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
- Vorige Pagina XQuery Toevoegen
- Volgende Pagina XQuery Functies