Langage de modification de données XML (XML DML)

Le langage de modification de données XML (XML DML) est une extension du langage XQuery. Tel qu'il est défini par le consortium W3C, le langage XQuery ne possède pas la partie de manipulation des données (DML). Le langage XML DML présenté dans cette rubrique, ainsi que le langage XQuery, fournit un langage de modification de données et de requête pleinement fonctionnel que vous pouvez utiliser sur les données de type xml.

Le XML DML ajoute dans XQuery les mots clés respectant la casse suivants :

  • insert

  • delete

  • replace value of

Comme décrit dans le type de données xml, vous pouvez créer des variables et des colonnes de type xml et leur attribuer des documents ou des fragments XML. Pour modifier ou mettre à jour ces instances XML, procédez comme suit :

Notez que certains attributs ne peuvent pas être insérés ou supprimés, et que leur valeur ne peut pas être modifiée. Par exemple :

  • Pour les données xml typées et non typées, les attributs sont xmlns, xmlns:* et xml:base.

  • Pour les données xml typées uniquement, les attributs sont xsi:nil et xsi:type.

Autres restrictions :

  • Pour les données xml typées et non typées, l'insertion de l'attribut xml:base échouera.

  • Pour les données xml typées, la suppression et la modification de l'attribut xsi:nil échoueront. Pour les données xml non typées, vous pouvez supprimer l'attribut ou modifier sa valeur.

  • Pour les données xml typées, la modification de la valeur de l'attribut xs:type échouera. Pour les données xml non typées, vous pouvez modifier la valeur de l'attribut.

Lorsque vous modifiez une instance XML typée, le format final doit être une instance valide de ce type. Dans le cas contraire, une erreur de validation est retournée.