Язык модификации 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, выполните следующее:
Используйте метод modify() типа данных XML для типа данных xml.
Задайте соответствующие инструкции XML DML внутри метода modify() .
Заметим, что существуют атрибуты, которые нельзя добавить, удалить или изменить их значение. Пример:
Для типизированного или нетипизированного 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по