La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

XML XQuery. Indice Introducción Estructura FLWOR Expresiones condicionales Cuantificadores existenciales Operadores y Funciones Conclusiones.

Presentaciones similares


Presentación del tema: "XML XQuery. Indice Introducción Estructura FLWOR Expresiones condicionales Cuantificadores existenciales Operadores y Funciones Conclusiones."— Transcripción de la presentación:

1 XML XQuery

2 Indice Introducción Estructura FLWOR Expresiones condicionales Cuantificadores existenciales Operadores y Funciones Conclusiones

3 Introducción Xquery es un lenguaje de consultas diseñado para consultar colecciones de datos XML, así como también cualquier archivo que tenga la misma estructura que un XML. Xquery es a XML como SQL es a una Base de Datos Relacional. Permite la transformación de datos en su salida. Xquery es recomendado por la W3C R desde 23 Enero del 2007.

4 Introducción XQuery está construido en base a expresiones Xpath. XQuery 1.0 y XPath 2.0 comparten el mismo modelo de datos y soportan las mismas funciones y operaciones.

5 Introducción Ejemplos de uso Extraer información para usar en un Web Service Generar reportes XQuery como alternativa a XLST: permite realizar transformaciones de datos en XML a otro tipo de representaciones, como HTML o PDF. Buscar documentos web para obtener información relevante

6 Estructura Xml ejemplo: books.xml

7 Estructura Reglas basicas de sintaxis a tener en cuenta: XQuery es case-sensitive Los elementos, atributos y variables Xquery deben ser nombres validos para XML. Un String en XQuery puede estar marcado por comillas simples o dobles. Las Variables en XQuery se definen con el simbolo $ seguido de su nombre, ej: $books Los comentarios en XQuery estan delimitados por (: y :), ej: (: XQuery Comment :)

8 Estructura Funciones: Xquery usa funciones para extraer información de los documentos XML. La función doc() es usada para abrir el archivo "books.xml" : ej: doc("books.xml")

9 Estructura Expresiones Path: XQuery usa expresiones path para navegar a travez de un documento XML La siguiente expresion path es usada para seleccionar todos los elementos title del archivo books.xml: doc("books.xml")/bookstore/book/title La consulta mencionada extraerá de nuestro XML: Everyday Italian Harry Potter XQuery Kick Start Learning XML

10 Estructura Predicados: XQuery usa predicados para limitar la imformación extraida de nuestro XML. El siguiente predicado es usado para seleccionar todos los elementos book bajo el elemento bookstore los cuales tienen un valor en el element price menor a 30: doc("books.xml")/bookstore/book [price<30] La consulta mencionada extraerá de nuestro XML: Harry Potter J K. Rowling

11 FLWOR FLWOR es un acrónimo para "For, Let, Where, Order by, Return". For vincula una o varias variables a cada nodo de la expresión. Let vincula una variable al resultado completo de la expresión o sea sin iteración. Where filtra las tuplas producidas por la cláusulas let y for, contiene una expresión que es evaluada para cada tupla. Si su evaluación es false esa tupla es descartada. Order Indica para un conjunto de información un orden de salida y va seguido de for. Por defecto de manera ascendente, si no es indica lo contrario, acorde con el tipo de datos que se esté evaluando. Return Formatea la salida del documentos. Tiene múltiples utilidades, entre otras XML, HTML, PDF, etc.

12 FLWOR Expresion Path: El siguiente predicado es usado para seleccionar todos los elementos title bajo los elementos book que estan bajo el elemento bookstore los cuales tienen un valor en el elemento price mayor a 30. doc("books.xml")/bookstore/book[price>30]/title Expresion FLWOR con exactamente la misma salida: for $x in doc("books.xml")/bookstore/book where $x/price>30 return $x/title Salida para ambos casos: XQuery Kick Start Learning XML

13 FLWOR Con FLWOR se puede ordenar el resultado: for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title La clausula for selecciona todos los elementos book bajo el element bookstore en una variable llamada $x. La clausula where selecciona solo los elementos book con un elemento price cuyo valor es superior a 30. La clausula order by define el orden, este sera dependiendo del elemento title. La clausula return especifica que sera retornado en la variable $X. En este caso retornalos elemetos title. La consulta antes mencionada extraerá de nuestro XML: Learning XML XQuery Kick Start

14 Expresiones condicionales XQuery admite IF-THEN-ELSE. Ej: for $x in doc("books.xml")/bookstore/book return if then {data($x/title)} else {data($x/title)} La consulta mencionada extraerá de nuestro XML: Everyday Italian Harry Potter Learning XML XQuery Kick Start La etiqueta data() elimina en este caso,el titulo del elemento title en la salida.

15 Cuantificadores existenciales Un cuantificador existencial empieza con un cuantificador SOME o EVERY, seguido por una o mas clausulas IN que se usan para unir variables, seguido de la palabra reservada satisfies y una expresión de comparación o testeo. El retorno es siempre True or False.

16 Cuantificadores existenciales Esta expresión retorna True si todos los elementos book tienen un atributo category (sin importar el valor de atributo.) every $categ in /bookstore/book satisfies Esta expresión retorna True si por lo menos uno de los elementos book tiene un elemento Price cuyo valor sea mayor a 49: some $precio in /bookstore/book satisfies ($precio/price>49)

17 Operadores y Funciones XQuery tiene una serie de funciones y operadores aritméticos para la recuperación de información: Matemáticos: +, -, *, div(*), idiv(*), mod Comparación: =, !=,, =, not() Secuencia: union (|), intersect, except Redondeo: floor(), ceiling(), round() Funciones de agrupación: count(), min(), max(), avg(), sum() Funciones de cadena: concat(), string-length(), startswith(), ends-with(), substring(), string() Uso general: distinct-values(), empty(), exits() La división se indica con el operador div ya que el símbolo / es necesario para indicar rutas.

18 Xquery FIN Preguntas??


Descargar ppt "XML XQuery. Indice Introducción Estructura FLWOR Expresiones condicionales Cuantificadores existenciales Operadores y Funciones Conclusiones."

Presentaciones similares


Anuncios Google