Задача следующая: требуется создать БД, в общем случае состоящую только из одной таблицы с двумя столбцами - "ID" целочисленного типа и "DATA" типа XML; вся структура и взаимосвязь данных будет втиснута в XML-поле. Это у меня первая БД, связанная с применением XML, так что многое не ясно и ответов я пока не нашел. Например, можно ли путем только SQL-запросов (XPath) заменить/удалить/добавить конкретный элемент в содержимом поля. Например: "<A><B>Item1<C>Item2</C></B></A>" , я хочу заменить "Item1" на какой-то "ItemNN" или на пробел (удалить). Можно ли это сделать, не извлекая полностью содержимое поля из БД, не перерабатывая его каким-то скриптом вне БД и не вставляя обратно через "UPDATE ... SET DATA="<...><...><...>"" ?
И еще вопрос: как получить список имен тегов на определенной глубине (пути) вложения? Например:
<A><B><C></C><D><E></E></D></B></A>
Я запрашиваю путь наподобие "/A/B/*" и получаю список: {"С", "D"} (элемент "Е" отсутствует, т.к. вложен уже глубже, в тег "D"), или запросив "/*" должен получить только "A". (На мои запросы XPath PostgreSQL "вываливает" только всю кучу тегов подчиненного уровня, не убирая даже "<" ">"). Или тут опять нужен только внешний парсер?
И если существует страничка с примерами такого рода, был бы весьма признателен за ссылку!