2014-01-07 3 views
0

Мне нужно проверить условие в XSLT, где parent_of 'c' должен быть 'b', но предок 'c' не должен быть 'a'? Как я могу достичь этого?Как найти предков более чем на один уровень выше

<a1> 
<a> 
    <b> 
    <c> </c> 
    </b> 
</a> 
<a1> 
+1

Не могли бы вы дать нам простой пример фрагмента XSLT, в котором вы бы использовали это условие? Что будет в этом случае узлом контекста? – JLRishe

ответ

1

Чтобы проверить, соответствует ли текущий узел ваше описание:

self::c[parent::b and not(ancestor::a)] 

Чтобы выбрать все элементы документа, которые соответствуют вашему описанию (или проверить, есть ли какие-либо):

//b/c[not(ancestor::a)] 

Учитывая более понятный пример использования, может быть путь, который лучше подходит для вашей ситуации, и если да, сообщите нам об этом. Надеемся, что вышеизложенное вы на правильном пути.