Esempi di XQuery
- Pagina precedente Introduzione a XQuery
- Pagina successiva FLWOR di XQuery
In questa sezione, esaminiamo un esempio per imparare alcune basi della sintassi XQuery.
Documento di esempio XML
Utilizzeremo questo documento XML negli esempi seguenti.
"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>
Come selezionare i nodi da "books.xml"?
Funzione
XQuery utilizza funzioni per estrarre dati da un documento XML.
doc() viene utilizzato per aprire il file "books.xml":
doc("books.xml")
Espressione di percorso
XQuery utilizza espressioni di percorso per navigare attraverso un documento XML.
Ecco l'espressione di percorso utilizzata per selezionare tutti gli elementi title nel file "books.xml":
doc("books.xml")/bookstore/book/title
(/bookstore seleziona l'elemento bookstore, /book seleziona tutti gli elementi book contenuti nell'elemento bookstore, mentre /title seleziona tutti gli elementi title contenuti in ciascun elemento book)
Il seguente XQuery può estrarre i seguenti dati:
<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>
Predicati
XQuery utilizza predicati per limitare i dati estratti dal documento XML.
I seguenti predicati vengono utilizzati per selezionare tutti gli elementi book sotto l'elemento bookstore e il valore dell'elemento price deve essere inferiore a 30:
doc("books.xml")/bookstore/book[price<30]
Il seguente XQuery può estrarre i seguenti dati:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Pagina precedente Introduzione a XQuery
- Pagina successiva FLWOR di XQuery