día+5-5-2008

Empezamos repasando la clase anterior y viendo ejercicios de autoevaluación. Hoy vamos a ver XPath, es una tecnología para definir 'caminos' o más bien directorios. Un camino se compone de 'pasos', separados por '/'. Y cada paso puede ser: -Especificador de eje -Test de nodo (es el que vamos a estudiar nosotros) -Predicado (condicion que tiene que cumplir un nodo determinado) Podemos extraer con el XPath un elemento concreto o un grupo de nodos. Incluso podemos extraer todos aquellos nodos que cumplan una condición determinada. De hecho, podemos definir XPath como un lenguaje de extracción de contenidos completo. También podemos acceder a todos los títulos independientemente de su camino así (usando doble barra): XPath. each ( doc, "//title[#{numero}]"// ) { | titulo | Vemos un ejemplo... habitacion[puerta/@a='salon']/@id nos devuelve la id de la habitacion cuya puerta es 'salon'

Seguimos con las bases de datos XML. La diferencia con las bbdd normales es que usamos las de XML cuando la estructura es semiregular. Hay dos tipos de bbdd que vamos a utilizar: -eXist -Xindice Las colecciones son grupos de elementos necesarios para hacer cualquier cosa y que podemos modificar para añadir datos. Usando Xindice y Xpath podemos hacer búsquedas simultáneas en todos los documentos. La ventaja de Xindice es que tiene una libreria específica para trabajar con Ruby.