2009-11-27 2 views
1

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

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

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

Не может это решить, ребята, какие-нибудь идеи?

Благодаря

ответ

2

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

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

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

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

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

Смежные вопросы