Язык модификации 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;
задайте соответствующие инструкции 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 конечный формат должен являться допустимым экземпляром типа, иначе возвращается ошибка проверки.
См. также