Xpath+xquery

Solo disponible en BuenasTareas
  • Páginas : 5 (1051 palabras )
  • Descarga(s) : 0
  • Publicado : 17 de enero de 2011
Leer documento completo
Vista previa del texto
XPath
XPath es un lenguaje para la búsqueda de información en un documento XML.
¿Qué es XPath?

* XPath es una sintaxis para definir partes de un documento XML
* XPath utiliza expresiones de la ruta de acceso para navegar en documentos XML
* XPath contiene una biblioteca de funciones estándar
* XPath es un elemento importante en XSLT
* XPath es una recomendación del W3CDescriptores de caminos
* Sirven para seleccionar elementos que se encuentran en cierto camino en el árbol.
* Los descriptores se forman simplemente nombrando tags separados por /.
* Si el descriptor comienza con / se supone que es un camino desde la raíz.
* Si el descriptor comienza con // se supone que el camino descrito puede comenzar en cualquier parte en el árbol.
*Implícitamente se supone que todos los descriptores se refieren a caminos que avanzan en la profundidad del árbol.

Ejemplos

* El descriptor /Empresa/departamento/empleado selecciona a todos los tags que corresponden a empleados de la empresa.

* El descriptor /Empresa/departamento/empleado/nombre selecciona la lista de todos los tags nombre de todos los empleados en la empresa.

* Eldescriptor //nombre selecciona la lista de todos los tags nombre en cualquier lugar del documento.

* En este caso se obtienen los nombres de los departamentos y de los empleados.

* El descriptor //empleado/nombre selecciona la lista de todos los tag nombre que son hijos de un tag empleado en el árbol, partiendo desde cualquier punto.

* En este caso obtenemos el mismo resultado queen el primer ejemplo.

Operador * : Ejemplo

* El * se usa para nombrar a cualquier tag, se usa como comodín.

* El descriptor /*/*/nombre selecciona la lista de todos los tag nombre que se encuentran a dos niveles de profundidad desde la raíz.

* En este caso se obtienen solo los nombres de los departamentos.

Atributos
* Para referirse a los atributos de los elementosse usa @ antes del nombre, por ejemplo @telefono.
* En un descriptor de camino los atributos se nombran como si fueran tag hijos pero anteponiendo @.

Ejemplo

* El descriptor \Empleado\departamento\@telefono selecciona los telefonos de los departamentos de la empresa.

Condiciones de Selección
* En un descriptor una condición entre paréntesis cuadrados [...] puede seguir alnombre de un tag o atributo (sin usar /).
* En este caso se seleccionan los elementos que siguen el camino del descriptor pero que además cumplen la condición especificada.
* En las condiciones se pueden usar comparadores (<, >, <=, >=, =, !=) y conectivos lógicos (or, and).

Ejemplos

* La expresión /Empresa/departamento/empleado[@salario > 500000] selecciona loselementos empleados tales que su atributo salario es mayor a 500000.

* La expresión //departamento[codigo=B02]/empleado/nombre selecciona los nombre de los empleados del departamento con código B02.

Predicados
* Las condiciones de selección son un tipo especial de predicados que se usan para dirigir la búsqueda por el árbol.
* En general un predicado, que también se escribe entreparéntesis cuadrados luego de un elemento (o atributo), puede ser una expresión general para dirigir la búsqueda.
* Se pueden usar funciones construidas (last, count, etc.) o expresiones matemáticas (usando +, -, *, div, etc.)
Ejemplos

* La expresión \Empresa\departamento[1]\empleado\rut entrega el rut de los empleados del primer elemento departamento en el documento.

* Por ejemplo laexpresión \Empresa\departamento\empleado[last()]\rut entregará el rut del último elemento empleado de cada departamento en el árbol, y \Empresa\departamento\empleado[last()-1]\rut el rut del penúltimo elemento empleado en el árbol.

* La función count se usa para contar elementos.

* Por ejemplo la expresión
\Empresa\departamento[count(empleado)>1]\codigo entrega el elemento...
tracking img