Latest web development tutorials

exemplos de XQuery

Nesta seção, vamos aprender através do estudo de exemplo para alguns sintaxe básica XQuery.


documentos de instância XML

Usaremos este documento XML nos exemplos abaixo.

"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>

Veja o arquivo "books.xml" no seu browser .


Como selecionar um nó de "books.xml"?

função

XQuery usa funções para extrair dados a partir do documento XML.

doc () é usado para abrir o arquivo "books.xml":

doc("books.xml")

expressão de caminho

XQuery usa expressões de caminho para navegar em documentos XML através dos elementos.

A seguinte expressão de caminho para "books.xml", selecione todos os arquivos no elemento title:

doc("books.xml") /bookstore/book/title

(/ Livraria elemento select livraria, / livro Seleciona todos os elementos do livro sob o elemento livraria, e / título Seleciona todos os elementos do título sob cada elemento livro)

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

XQuery usa predicados para definir um documento XML a partir dos dados extraídos.

O seguinte predicado é usado para selecionar todos os elementos do livro sob o elemento livraria, eo valor do elemento preço elemento livro selecionado menos de 30 anos deve ser inferior a:

doc("books.xml")/bookstore/book [price<30]

O XQuery acima pode ser extraído para 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>