Как запретить xdmp:node-replace добавлять объявление пространства имен?

Я хочу использовать xdmp:node-replace для замены узла в моем XML-документе. Но всякий раз, когда он заменяет узел, он вставляет в этот узел пустой тег xmlns. Как этого избежать?


person Puneet Pant    schedule 29.08.2012    source источник


Ответы (1)


Пустой тег xmlns означает, что пространство имен по умолчанию не объявлено.

Если новый узел не имеет префикса и не находится ни в одном пространстве имен, а родительский узел имеет в своей области пространство имен по умолчанию, это звучит как правильное поведение, например:

<parent xmlns="http://www.example.com/">
  <new-node xmlns=""/>
</parent>

Вы пытались заменить узел, который находится в пространстве имен по умолчанию в области действия для родителя? Тогда я ожидаю следующего результата (новый-узел находится в http://www.example.com/ пространство имен):

<parent xmlns="http://www.example.com/">
  <new-node/>
</parent>
person Ghislain Fourny    schedule 29.08.2012