2008-11-21 11 views
9

Sé cómo encontrar lo que necesito de XML usando XPath. La sintaxis toma un tiempo para acostumbrarse, pero es bastante poderosa. También estoy interesado en aprender XQuery, pero la sintaxis similar a SQL parece incómoda. Aun así, si puede proporcionar no solo un equivalente selecto, sino también actualizar, insertar y eliminar como lo hace SQL, perdonaré toda incomodidad.¿Tiene XQuery (o XPath) equivalentes a Actualizar, Insertar y Eliminar, así como Seleccionar?

Entonces, ¿XQuery tiene equivalentes a Actualizar, Insertar y Eliminar, así como Seleccionar?

¿XPath tiene estos equivalentes que he pasado por alto?

Respuesta

14

No. Ninguna de XPath o XQuery tiene funcionalidad de actualización/inserción/eliminación similar a SQL.

Necesita buscar una implementación de "XQuery 1.0 Update Facility".

En este momento (noviembre de 2008), tres son conocidos como:

  1. SaxonSA XSLT and XQuery Processor - por Michael Kay; Compatible desde la versión 9.1, pero solo en la versión comercial.
  2. MonetDB/XQuery - Un procesador XQuery de fuente abierta en la parte superior del sistema de base de datos relacional MonetDB.
  3. XQilla - Una biblioteca de procesamiento de código abierto (ASL2.0) compatible con las últimas funciones de actualización de XQuery. XQilla está escrito en C++ e incluye un shell ejecutable de línea de comandos para ejecutar consultas contra el contenido XML almacenado en un sistema de archivos local. Esta biblioteca está desarrollada activamente y es parte de un producto Oracle compatible, Berkeley DB XML.
+0

BaseX también es compatible con XQUF. –

+0

@CharlesDuffy: Claro, pero en 2008 creo que BaseX todavía no estaba presente. –

4

XPath es un lenguaje para direccionar partes de un documento XML. Por lo tanto, no puede tener ninguna declaración DML. Es una declaración seleccionada por definición.

+0

Eso es cierto para XPath. XQuery, sin embargo, tiene una extensión formalmente estandarizada que permite actualizaciones. –

5

En SQL Server 2005/8 la extensión de XQuery se llama XML DML, y apoya la modificación de datos utilizando la sentencia replace value of.

Cuestiones relacionadas