Los últimos tutoriales de desarrollo web
 

Ejemplo XQuery


Vamos a aprender algo de XQuery básica examinado un ejemplo.


El Ejemplo de documento XML

Vamos a utilizar el siguiente documento XML en los ejemplos siguientes.

"Books.xml":

<?xml version="1.0" encoding="UTF-8"?>

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

Ver el "books.xml" archivo en su navegador .


Cómo seleccionar linfáticos de "books.xml"?

funciones

XQuery utiliza funciones para extraer datos de documentos XML.

El doc() función se utiliza para abrir el "books.xml" archivo:

doc("books.xml")

Las expresiones de ruta

XQuery utiliza expresiones de ruta para navegar por los elementos de un documento XML.

La siguiente expresión de ruta se utiliza para seleccionar todos los elementos del título en la "books.xml" archivo:

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

(/ Librería selecciona el elemento de librería, / libro selecciona todos los elementos de libro bajo el elemento de librería, y / título selecciona todos los elementos de título en cada elemento de libro)

El XQuery anteriormente extraerá el siguiente:

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

predicados

XQuery utiliza predicados para limitar los datos extraídos de los documentos XML.

El siguiente predicado se utiliza para seleccionar todos los elementos de libro bajo el elemento de librería que tiene un elemento de precio con un valor que es menor que 30:

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

El XQuery anteriormente extraerá el siguiente:

<book category="CHILDREN">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>