XQuery esimerkki
- Edellinen sivu XQuery esittely
- Seuraava sivu XQuery FLWOR
Tässä luvussa tutkimme esimerkin avulla perus XQuery-kielioppia.
XML-esimerkki
Käytämme tätä XML-dokumenttia seuraavissa esimerkeissä.
"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>
Miten valitaan solmut "books.xml"-tiedostosta?
Funktiot
XQuery käyttää funktioita XML-dokumentin tietojen hakemiseen.
doc() avaa "books.xml"-tiedoston:
doc("books.xml")
Polkuilmaisu
XQuery käyttää polkuilmaisua XML-dokumentissa elementtien navigointiin.
Alla oleva polkuilmaisu käytetään kaikkien title-elementtien valitsemiseen "books.xml"-tiedostosta:
doc("books.xml")/bookstore/book/title
Valitaan bookstore-elementti (/bookstore), valitaan kaikki bookstore-elementin alla olevat book-elementit (/book) ja valitaan kaikki book-elementin alla olevat title-elementit (/title).
Yllä oleva XQuery voi poimia seuraavat tiedot:
<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>
Predikaatti
XQuery käyttää predikaatteja rajoittaakseen XML-dokumentista poimitua tietoa.
Seuraavat predikaatit valitsevat kaikki bookstore-elementin alle kuuluvat book-elementit, ja valittujen book-elementtien alle kuuluvien price-elementtien arvon on oltava alle 30:
doc("books.xml")/bookstore/book[price<30]
Yllä oleva XQuery voi poimia seuraavat tiedot:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Edellinen sivu XQuery esittely
- Seuraava sivu XQuery FLWOR