Saltar la navegación

3.5.3.- Primeras consultas XQuery.

Estudiante sentado de espalda trabajando con ordenador y un libro.

Una consulta XQuery es una expresión que lee una secuencia de datos en XML y devuelve como resultado otra secuencia de datos en XML, donde:

  • Una secuencia es un conjunto ordenado de cero o más ítems.
  • Un ítem es cualquier tipo de nodo del árbol XML o un valor atómico.

Las funciones que se pueden invocar para referirnos a colecciones y documentos dentro de la BD son las siguientes:

collection(camino de la colección)

doc(camino del documento)

Así por ejemplo:

  • La consulta collection(/Books): devuelve el contenido de la colección de ruta absoluta /Books.
  • La consulta doc(/Empresa.xml): devuelve el documento /Empresa.xml completo.

Otros ejemplos de consultas XQuery basadas en expresiones XPath son los siguientes:

  • La consulta collection(/Books)//book/title devuelve los nodos title de todos los libros (book) de la colección /Books
  • Si se utilizan espacios de nombres o namespaces, entonces la consulta anterior se redactaría de la siguiente forma: declare namespace t = http://www.qizx.com/namespace/Tutorial; collection(/Books)//t:book/t:title
  • La consulta doc(/Empresa.xml)//nombre devuelve todos los nodos nombre del documento /Empresa.xml

En la siguiente enlace encontraras diferentes ejemplos de consultas XQuery:  ejecutadas directamente sobre una sencilla BD XML denominada 'Cursillos'. Necesitarás descargar el archivo:

Un valor atómico es una instancia de uno de los tipos de datos atómicos incorporados definidos por el esquema XML.

Autoevaluación

Señala si la siguiente afirmación es verdadera o falsa.

Pregunta 1

La expresión colletcion("/Cursos")//curso[aula=2]/profesor devuelve los cursos y los profesores con cursos en el aula 2.