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 实例时,最终格式必须是该类型的有效实例。否则,将返回一个验证错误。
请参阅
参考
插入 (XML DML)
delete (XML DML)
替换 (XML DML) 的值
概念
类型化与非类型化的 XML
生成 XML 实例
xml 数据类型
示例 XML 应用程序