У меня есть XML, как это,Получить самый дальний -Xpath предка узла, XSLT
<doc>
<chap>
<sec originator="ABC">
<app originator="body">
<sec originator="body">
<p>text</p>
</sec>
</app>
</sec>
</chap>
<chap>
<chap>
<app originator="DEF">
<sec originator="body">
<sec>
<p>text2</p>
</sec>
</sec>
</app>
</chap>
</chap>
<sec originator="GHI">
<sec originator="body">
<p>text</p>
</sec>
</sec>
<app originator="KLM">
<sec>
<sec>
<p>text2</p>
</sec>
</sec>
</app>
</doc>
я написал шаблон для <p>
узла и от этого мне нужно, чтобы получить большинство расстояния предка <sec>
или <app>
узел originator
атрибута стоимость.
Мой XPath является
//p/(ancestor::app[@originator][last()] | ancestor::sec[@originator][last()])/@originator
Это будет выбирать originator
значения атрибутов ABC, body, DEF, body, GHI, KLM
.. Но что мне нужно ABC, DEF, GHI, KLM
.
Как я могу изменить свой XPath, чтобы получить наиболее расстояние <sec>
или <app>
значение узла originator
атрибута