Voorbeeld van XQuery
- Vorige pagina Inleiding tot XQuery
- Volgende pagina XQuery FLWOR
In this section, let's learn some basic XQuery syntax by studying an example.
XML example document
We will use this XML document in the following example.
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
Hoe kan je knopen selecteren uit "books.xml"?
Functie
XQuery gebruikt functies om gegevens uit een XML-document te extraheren.
doc() wordt gebruikt om het bestand "books.xml" te openen:
doc("books.xml")
Padexpressie
XQuery gebruikt padexpressies om door elementen in een XML-document te navigeren.
De volgende padexpressie wordt gebruikt om alle title-elementen in het bestand "books.xml" te kiezen:
doc("books.xml")/bookstore/book/title
(/bookstore selecteert het bookstore-element, /book selecteert alle book-elementen onder het bookstore-element, en /title selecteert alle title-elementen onder elk book-element)
De bovenstaande XQuery kan de volgende gegevens ophalen:
<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>
Predicaat
XQuery gebruikt predicaten om de gegevens te beperken die uit een XML-document worden geëxtraheerd.
De volgende predicaten worden gebruikt om alle book-elementen onder de bookstore-elementen te kiezen, en de waarde van het price-element van de geselecteerde book-elementen moet kleiner zijn dan 30:
doc("books.xml")/bookstore/book[prijs<30]
De bovenstaande XQuery kan de volgende gegevens ophalen:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Vorige pagina Inleiding tot XQuery
- Volgende pagina XQuery FLWOR