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 執行個體時,最後的格式必須是該類型的有效執行個體。否則,就會傳回驗證錯誤。