Bases de Datos Avanzada Taller Xpath I. Html y XML 1. ¿Qué es

Bases de Datos Avanzada
Taller
Xpath
I. Html y XML
1.
2.
3.
4.
5.
6.
¿Qué es html?
¿Qué es DTD (Document Type Descriptor)?
¿Qué es ID?
¿Qué es XML Schema?
¿Qué es XML?
¿En qué se diferencian html y XML?
XML (eXtensible Markup Languaje) puede ser interpretado como modelo para estructurar datos.
XML es un estandar para representar e intercambiar datos, inicialmente fue diseñado para intercambiar
información en internet. XML tiene tres componentes básicos:
1. Tagged element (elementos etiquetados). Etiqueta para abrir y cerrar. Contienen texto y pueden
contener subelementos.
2. Attributes (atributos): nombre y valor. Se encuentran dentro del elemento. Los nombres de los
elementos son únicos.
3. Texto: texto dentro del elemento.
II. Consultas en XML
Pensar XML como un árbol. Las consultas deben realizarse sobre el árbol. Se han desarrollado
varios lenguajes para realizar consultas sobre XML, los más importantes son:
•
•
•
XPath: Fue el primer lenguaje de consulta para XML. Consiste en un camino de expresiones y
condiciones (path expressions + conditions)
XSLT: Segundo lenguaje desarrollado para consultas en XML. Complementó XPath con
transformaciones. También es usado para transformar XML a html.
XQuery: El último lenguaje, y el más expresivo. Contiene a Xpath, el lenguaje es mucho más
completo (similar a sql).
Xpath
Constructores del camino
/ (slash): elemento raiz (root element). Se coloca en el comienzo de una consulta para indicar
que la búsqueda se quiere comenzar en la raiz. También se usa como separador (entre elementos del
camino de búsqueda)
nombre del elemento. * para cualquier elemento. Si es un atributo, se usa @ antes del nombre del
atributo.
// (doble slash). “match” cualquier descendiente del actual elemento
Condiciones
Las condiciones son evaluaciones que se realizan en los elementos u atributos. Estas se indican
entre parentesis cuadrados [].
Funciones
Se pueden usar varias funciones. Ejemplo: Contains(cadena1, cadena2) devuelve true si la
cadena1 contiene la cadena2.
Name(), devuelve el nombre del tag del elemento actual.
Actividades
1.
2.
3.
4.
5.
6.
7.
Bajar e instalar la herramienta Kernow que provee interfaces para trabajar con queries en XML
Bajar el archivo books.xml
Identificar los elementos, atributos y texto del archivo xml.
Dibujar el árbol del archivo xml.
Bajar el archivo Bookstore-DTD.xml
Adicionar dos libros más, y una revista.
Consultas XQuery:
5.1 La función doc() abre el archivo xml. Luego se indica la consulta:
doc("books.xml")/bookstore/book/title Abre el archivo xml y realiza la consulta de los titulos
de los libros. Realizar esta consulta en kernow.
5.2 Xquery usa predicados para seleccionar datos bajo alguna condición. La siguiente sentencia:
doc("books.xml")/bookstore/book[price<30]
selecciona todos los elementos “book” que se encuentran entre el elemento “bookstore” y tienen
el elemento precio menor que 30. Realizar esta consulta en Kernow
5.3 Abrir el archivo Bookstore-DTD, que tiene atributos, y realizar las siguientes consultas:
doc("Bookstore-DTD.xml")/Bookstore/Book/data(@ISBN)
doc("Bookstore-DTD.xml")/Bookstore/(Magazine|Book)/Title
doc("Bookstore-DTD.xml")/Bookstore/Book/Title
doc("Bookstore-DTD.xml")/Bookstore/Book[ @Price < 90 ]
doc("Bookstore-DTD.xml")/Bookstore/Book[ @Price < 90 ]/Title
doc("Bookstore-DTD.xml")/Bookstore/Book[Remark]/Title
doc("Bookstore-DTD.xml")/Bookstore/Book[ @Price < 90 and
Authors/Author/Last_Name="Garcia-Marquez"]/Title
doc("Bookstore-DTD.xml")/Bookstore/Book[ @Price < 90 and
Authors/Author[Last_Name="Garcia-Marquez" and First_Name="Gabriel"]]/Title
5.4 Realizar otras consultas sobre este archivo.