El lenguaje XQuery solo proporciona expresiones para la realización de consultas sobre documentos XML, pero no su actualización (inserción, modificación o eliminación de nodos).
XQuery Update Facility es una extensión de XQuery que permite la actualización de documentos mediante las cláusulas insert, delete, replace y rename
.
El funcionamiento de las cláusulas de XQuery Update es el siguiente:
insert
. Permite la inserción de uno o varios nodos antes (before
) o después (after
) del nodo indicado. También se puede insertar al principio (as first into
) o al final del documento (as last into
).delete
. Elimina uno o varios nodos del documento.replace
. Tiene dos funciones:- Modificar el valor del nodo
- Modificar el nodo completo
rename
. Renombra un nodo (elemento, atributo o instrucciones de proceso) sin afectar a su contenido.
A continuación te mostramos dos ejemplos sencillos, uno de insert
y otro de delete
:
- Eliminar la empresa de
id=2
en el documento Empresa.xml:delete node doc(Empresa.xml)//empresa[@id=2]
- Insertar el nodo tipoAccesible/tipo al final del documento
/Aulas/aula3 insert node tipoAccesible/tipo as last into doc(Aulas/aula3.xml)//aula
En el siguiente enlace puedes otros ejemplos de actualizaciones usando XQuery Update: