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 数据类型的 modify() 方法(xml 数据类型)。
指定 modify() 方法中相应的 XML DML 语句。
请注意,存在某些无法插入、删除或修改其值的属性。例如:
对于类型化或非类型化的 xml 而言,这样的属性有 xmlns、xmlns:* 和 xml:base。
仅对于类型化的 xml 而言,这样的属性有 xsi:nil 和 xsi:type。
下面列出了其他限制:
对于类型化或非类型化的 xml,插入 xml:base 属性将失败。
对于类型化的 xml,删除和修改 xsi:nil 属性将失败。对于非类型化的 xml,则可以删除此属性或修改此属性的值。
对于类型化的 xml,修改 xs:type 属性值将失败。对于非类型化的 xml,则可以修改此属性值。
修改类型化的 XML 实例时,最终格式必须是该类型的有效实例。否则,将返回一个验证错误。