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

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

  • insert

  • Удаление

  • 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