Язык модификации XML-данных (XML DML)

Применимо к:база данныхSQL Server Azure SQL Управляемый экземпляр SQL Azure

Язык модификации XML-данных (XML DML) является расширением языка XQuery. Как определено консорциумом W3C, в языке XQuery отсутствует часть, касающаяся манипулирования данными (DML). Язык XML DML, представленный в этом разделе, вместе с языком XQuery обеспечивает полнофункциональный язык запросов и модификации данных, который можно использовать для данных типа xml.

В язык XML DML добавлены следующие ключевые слова с учетом регистра, которые отсутствуют в языке XQuery:

  • insert

  • delete

  • replace value of

Как описывается в разделе Столбцы и типы данных XML (SQL Server), можно создавать переменные и столбцы типа xml и присваивать им XML-документы или фрагменты XML-документов. Чтобы модифицировать или обновить эти экземпляры XML, выполните следующее:

Заметим, что существуют атрибуты, которые нельзя добавить, удалить или изменить их значение. Пример:

  • Для типизированного или нетипизированного xml это атрибуты xmlns, xmlns:* и xml:base.

  • Для типизированного xml это атрибуты xsi:nil и xsi:type.

К другим ограничениям также относятся:

  • Для типизированного или нетипизированного xml невозможно успешное добавление атрибута xml:base.

  • Для типизированного xml невозможно успешное удаление или модификация атрибута xsi:nil. Для нетипизированного xml можно удалить атрибут или модифицировать его значение.

  • Для типизированного xml невозможна успешная модификация атрибута xs:type. Для нетипизированного xml можно модифицировать значение атрибута.

При модификации экземпляра типизированного xml конечный формат должен являться допустимым экземпляром типа, иначе возвращается ошибка проверки.

См. также:

insert (XML DML)
delete (XML DML)
replace value of (XML DML)
Сравнение типизированного и нетипизированного XML
Создание экземпляров данных XML
Методы для типа данных XML