Exemplos de XQuery
- Página Anterior Introdução ao XQuery
- Próxima Página FLWOR do XQuery
Nesta seção, vamos aprender algumas gramáticas básicas do XQuery através do estudo de um exemplo.
Documento de exemplo XML
Vamos usar este documento XML em nossos exemplos a seguir.
"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>
Como selecionar nós de "books.xml"?
Função
O XQuery usa funções para extrair dados de um documento XML.
doc() é usado para abrir o arquivo "books.xml":
doc("books.xml")
Expressão de caminho
O XQuery usa expressões de caminho para navegar pelos elementos em um documento XML.
Abaixo estão as expressões de caminho usadas para selecionar todos os elementos "title" no arquivo "books.xml":
doc("books.xml")/bookstore/book/title
(Seleciona o elemento "bookstore", /book seleciona todos os elementos "book" dentro do elemento "bookstore", e /title seleciona todos os elementos "title" dentro de cada elemento "book")
O XQuery acima pode extrair os seguintes dados:
<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>
Predicado
O XQuery usa predicados para limitar os dados extraídos do documento XML.
Os predicados abaixo são usados para selecionar todos os elementos book dentro do elemento bookstore, e o valor do elemento price deve ser menor que 30:
doc("books.xml")/bookstore/book[price<30]
O XQuery acima pode extrair os seguintes dados:
<book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book>
- Página Anterior Introdução ao XQuery
- Próxima Página FLWOR do XQuery