В Oracle вы можете использовать функцию XMLElement () для создания элемента, например:
XMLElement('name', 'John')
Но как создать элемент в определенном пространстве имен? Например, как создать следующий элемент:
<my:name xmlns:my="http://www.example.com/my">John</my:name>
Вы также можете использовать XMLAttribute:
select xmlelement("my:name", xmlattributes('http://www.example.com/my' as "xmlns:my"), 'John' ) from dual
Вернется:
Вы также можете проверить, что Oracle распознает это как пространство имен (кроме того, что вы не получаете префикс пространства имен "my" не объявлен ошибка):
select xmlelement("my:name", xmlattributes('http://www.example.com/my' as "xmlns:my"), 'John' ).getnamespace() from dual
http://www.example.com/my
Вместо XMLElement() используйте:
XMLElement()
XMLType('<my:name xmlns:my="http://www.example.com/my">John</my:name>')
Да, это так просто.