Exemple XQuery
- Page précédente Introduction à XQuery
- Page suivante FLWOR XQuery
Dans cette section, explorons un exemple pour apprendre quelques bases de la syntaxe XQuery.
Exemple de document XML
Nous allons utiliser ce document XML dans les exemples suivants.
"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>
Comment sélectionner des nœuds à partir de "books.xml" ?
Fonction
XQuery utilise des fonctions pour extraire les données du document XML.
doc() est utilisé pour ouvrir le fichier "books.xml" :
doc("books.xml")
Expression de chemin
XQuery utilise des expressions de chemin pour naviguer dans le document XML à travers les éléments.
L'expression de chemin suivante est utilisée pour sélectionner tous les éléments title dans le fichier "books.xml" :
doc("books.xml")/bookstore/book/title
(/bookstore sélectionne l'élément bookstore, /book sélectionne tous les éléments book sous l'élément bookstore, et /title sélectionne tous les éléments title sous chaque élément book)
Le XQuery suivant peut extraire les données suivantes :
<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>
Prédicat
XQuery utilise des prédicats pour restreindre les données extraites du document XML.
Les prédicats suivants sont utilisés pour sélectionner tous les éléments book sous l'élément bookstore, et la valeur de l'élément price sélectionné doit être inférieure à 30 :
doc("books.xml")/bookstore/book[price<30]
Le XQuery suivant peut extraire les données suivantes :
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Page précédente Introduction à XQuery
- Page suivante FLWOR XQuery