Lenguaje de manipulación de datos XML (XML DML)

El Lenguaje de manipulación de datos XML (XML DML) es una extensión del lenguaje XQuery. Según W3C, el lenguaje XQuery carece de la parte de manipulación de datos (DML). El lenguaje XML DML que se presenta en este tema, así como el lenguaje XQuery, proporciona un lenguaje de consultas y modificación de datos completamente funcional que se puede utilizar con el tipo de datos xml.

XML DML agrega a XQuery las siguientes palabras clave, donde se distingue entre mayúsculas y minúsculas:

  • insert

  • delete

  • replace value of

Como se describe en Tipo de datos XML, se pueden crear variables y columnas de tipo xml y asignarles documentos o fragmentos XML. Para modificar o actualizar estas instancias XML, realice el siguiente procedimiento:

  • Utilice el método modify() del tipo de datos xml.

  • Especifique las instrucciones XML DML correspondientes en el método modify().

Tenga en cuenta que no se pueden insertar ni eliminar algunos atributos, y a veces tampoco es posible modificar sus valores. Por ejemplo:

  • Para xml con tipo o sin tipo, los atributos son xmlns, xmlns:* y xml:base.

  • Sólo para xml con tipo, los atributos son xsi:nil y xsi:type.

Entre otras restricciones se pueden citar las siguientes:

  • Para xml con o sin tipo, se producirá un error al insertar el atributo xml:base.

  • Para xml con tipo, se producirá un error al eliminar y modificar el atributo xsi:nil. Para xml sin tipo, se puede eliminar el atributo o modificar su valor.

  • Para xml con tipo, se producirá un error si se modifica el valor del atributo xs:type. Para xml sin tipo, se puede modificar el valor del atributo.

Cuando se modifica una instancia XML con tipo, el formato final debe ser una instancia válida de ese tipo. En caso contrario, se devuelve un error de validación.