Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
XQuery
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
[[Archivo:XQuery_and_XPath_Data_Model_type_hierarchy.png | miniaturadeimagen | derecha | Ejemplo de jerarquía XQuery]]'''XQuery''' es un [[lenguaje de consulta]] diseñado para colecciones de datos [[XML]]. Es semánticamente similar a [[SQL]], aunque incluye algunas capacidades de programación. XQuery 1.0 fue desarrollado por el grupo de trabajo de Consulta [[XML]] del [[W3C]]. El trabajo fue estrechamente coordinado con el desarrollo de [[XSLT 2.0]] por el Grupo de trabajo [[XSL]]; los dos grupos compartieron la responsabilidad del [[XPath 2.0]], que es un subconjunto de XQuery 1.0. XQuery 1.0 es una Recomendación del [[W3C]] desde el 23 de enero de 2007. == Características == XQuery proporciona los medios para extraer y manipular información de documentos XML, o de cualquier fuente de datos que pueda ser representada mediante XML como, por ejemplo, [[Modelo relacional|bases de datos relacionales]] o documentos ofimáticos. XQuery utiliza expresiones [[XPath]] para acceder a determinadas partes del documento XML. Añade, además, expresiones similares a las usadas en SQL, conocidas como expresiones '''FLWOR'''. Las expresiones FLWOR toman su nombre de los 5 tipos de sentencias de las que pueden estar compuestas: '''FOR''', '''LET''', '''WHERE''', '''ORDER BY''' y '''RETURN'''. También incluye la posibilidad de construir nuevos documentos XML a partir de los resultados de la consulta. Se puede usar una [[sintaxis]] similar a XML si la estructura (elementos y atributos) es conocida con antelación, o usar expresiones de construcción dinámica de nodos en caso contrario. Todos estos constructores se definen como expresiones dentro del lenguaje, y se pueden anidar arbitrariamente. El lenguaje se basa en el modelo en árbol de la información contenida en el documento XML, que consiste en siete tipos distintos de nodo: elementos, atributos, nodos de texto, comentarios, instrucciones de procesamiento, espacios de nombres y nodos de documentos. El [[sistema de tipos]] usado por el lenguaje considera todos los valores como secuencias, asumiéndose un valor simple como una secuencia de un solo elemento. Los elementos de una secuencia pueden ser valores atómicos o nodos. Los valores atómicos pueden ser números enteros, cadenas de texto, valores booleanos, etc. La lista completa de los tipos disponibles está basada en las primitivas definidas en [[XML Schema]]. XQuery 1.0 no incluye capacidad de actualizar los documentos XML. Tampoco puede realizar búsquedas textuales. Estas dos capacidades están siendo objeto de desarrollo para su posible incorporación en la siguiente versión del lenguaje. == Ejemplos == El siguiente ejemplo de código XQuery lista los personajes que aparecen en cada acto del [[Hamlet]] de [[Shakespeare]], obtenidas a partir del documento [http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml hamlet.xml]. <html><head/><body> { for $act in doc("hamlet.xml")//ACT let $speakers := distinct-values($act//SPEAKER) return <span> <h1>{ $act/TITLE/text() }</h1> <ul> { for $speaker in $speakers return <li>{ $speaker }</li> } </ul> </span> } </body></html> XQuery es un [[Programación funcional|lenguaje de programación funcional]] que consta en su totalidad de expresiones. No hay sentencias, aun cuando algunas de las palabras claves utilizadas puede sugerir un comportamiento similar al de una sentencia. Para ejecutar una función, la expresión dentro del cuerpo de la misma se evalúa y se retorna el resultado obtenido. Por ejemplo, para escribir una función que duplique el valor suministrado como argumento, escribiríamos: declare function local:doubler($x) { $x * 2 } Para escribir una consulta XQuery que retorne el texto "Hola, Mundo", escribimos la expresión: "Hola, Mundo" == Aplicaciones == Una relación de algunos ejemplos de uso de XQuery: * Extraer información de una base de datos para usarla en un [[Servicio web|Servicio Web]]. * Generar un resumen de la información almacenada en una base de datos XML. * Realizar búsquedas textuales en la web y compilar los resultados de la misma. * Seleccionar y transformar datos de XML a [[XHTML]] de forma que se puedan publicar en la Web. * Obtener datos desde diferentes fuentes con vistas a ser integradas por la aplicación. * Dividir un documento XML que representa una serie de múltiples transacciones en varios documentos XML, uno por cada transacción. == Véase también == * [[XML]] * [[XPath]] * [[SQL]] == Enlaces externos == *[http://www.w3.org/TR/xquery/ Recomendación W3C, de enero de 2007] *[https://web.archive.org/web/20110725045753/http://basex.org/products/live-demo/ Live Demo] (basado en el base de datos [http://basex.org BaseX]) {{Control de autoridades}} [[Categoría:XML]] [[Categoría:Lenguajes de consulta]] [[Categoría:Estándares del World Wide Web Consortium]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
XQuery
»
Añadir idiomas
Añadir tema