Запрос Xpath исключает предков определенного пространства имен - PullRequest
1 голос
/ 27 ноября 2009

Следующий запрос xpath получает узлы, кроме случаев, когда предок относится к определенному типу:

(/def:Image|…|//def:TextBox)[not(ancestor::clpm:EditableText)]

Однако я хочу иметь возможность исключить все узлы, у которых есть предок в пространстве имен clpm.

Не можете разобраться, ребята, есть идеи?

Спасибо

1 Ответ

2 голосов
/ 29 ноября 2009

Используйте в качестве предиката следующее:

нет (предка :: * [начинается-с (имя (), 'clpm:')])

Обратите внимание , однако, что namespace и prefix - это совершенно разные вещи. В одном XML-документе много разных префиксов могут быть связаны с одним и тем же пространством имен, а один префикс может быть связан (переопределен) с более чем одним пространством имен.

В своем вопросе вы говорите namespace, когда имеете в виду prefix.

Выражение XPath выше истинно, если текущий узел не имеет предков с prefix clpm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...