Introducción a XQuery

XQuery es un lenguaje de programación funcional diseñado por World Wide Web Consortium (W3C) para satisfacer necesidades específicas en la consulta y la modificación de datos XML.

A diferencia de los datos relacionales, que son predecibles y tienen una estructura regular, los datos XML son muy variables. Los datos XML suelen ser imprevisibles, dispersos y autodescriptivos.

Debido a que la estructura de los datos XML es imprevisible, las consultas que necesita realizar en los datos XML a menudo difieren de las consultas relacionales típicas. El lenguaje XQuery proporciona la flexibilidad necesaria para realizar este tipo de operaciones. Por ejemplo, es posible que tenga que utilizar el lenguaje XQuery para realizar las operaciones siguientes:

  • Buscar datos XML para objetos que están en niveles desconocidos de la jerarquía.
  • Realizar transformaciones estructurales en los datos (por ejemplo, es posible que desee invertir una jerarquía).
  • Devuelve resultados que tienen tipos mixtos.
  • Actualizar datos XML existentes.

Componentes de una consulta XQuery

En XQuery, las expresiones son los principales bloques de construcción de una consulta. Las expresiones se pueden anidar y formar el cuerpo de una consulta. Una consulta también puede tener un prólogo antes de este cuerpo. El prólogo contiene una serie de declaraciones que definen el entorno de proceso para la consulta. El cuerpo de consulta consta de una expresión que define el resultado de la consulta. Esta expresión se puede componer de varias expresiones XQuery que se combinan utilizando operadores o palabras clave.

La Figura 1 ilustra la estructura de una consulta típica. En este ejemplo, el prólogo contiene dos declaraciones: una declaración de versión, que especifica la versión de la sintaxis XQuery que se va a utilizar para procesar la consulta, y una declaración de espacio de nombres predeterminada que especifica el URI de espacio de nombres que se va a utilizar para los nombres de tipo y elemento sin prefijo. El cuerpo de la consulta contiene una expresión que construye un elemento price_list . El contenido del elemento price_list es una lista de elementos product que se ordenan en orden descendente por precio.
Figura 1. Estructura de una consulta típica en XQuery
Consulta de ejemplo que consta de un prólogo con dos declaraciones y un cuerpo de consulta que contiene una expresión simple.