Esempio XQuery
- Pagina precedente Introduzione a XQuery
- Pagina successiva FLWOR di XQuery
In questa sezione, esamineremo un esempio per imparare alcune sintassi di base di XQuery.
Esempio di documento 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 dal 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 gli elementi nel documento XML.
L'espressione di percorso seguente viene 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 sotto l'elemento bookstore, e /title seleziona tutti gli elementi title sotto ogni 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>
Predicato
XQuery utilizza predicati per limitare i dati estratti dal documento XML.
Le 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[prezzo<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