XML 数据修改语言 (XML DML)

XML 数据修改语言 (XML DML) 是 XQuery 语言的扩展。根据 W3C 的定义,XQuery 语言缺少数据操作 (DML) 部分。本主题所介绍的 XML DML 以及 XQuery 语言,提供了完整的功能查询和数据修改语言,您可以使用它们对 xml 数据类型进行操作。

XML DML 将下列区分大小写的关键字添加到 XQuery 中:

  • insert

  • delete

  • replace value of

xml 数据类型中所述,您可以创建 xml 类型的变量和列,并为它们分配 XML 文档或片断。若要修改或更新这些 XML 实例,请执行下列操作:

请注意,存在某些无法插入、删除或修改其值的属性。例如:

  • 对于类型化或非类型化的 xml 而言,这样的属性有 xmlnsxmlns:*xml:base

  • 仅对于类型化的 xml 而言,这样的属性有 xsi:nilxsi:type

下面列出了其他限制:

  • 对于类型化或非类型化的 xml,插入 xml:base 属性将失败。

  • 对于类型化的 xml,删除和修改 xsi:nil 属性将失败。对于非类型化的 xml,则可以删除此属性或修改此属性的值。

  • 对于类型化的 xml,修改 xs:type 属性值将失败。对于非类型化的 xml,则可以修改此属性值。

修改类型化的 XML 实例时,最终格式必须是该类型的有效实例。否则,将返回一个验证错误。