Здравствуйте, XPath / Xslt Друзья,
У меня есть следующий XML.Я хочу определить идентификатор первого соответствующего раздела или главы моего элемента cout
.Если ближайший узел cout
является главой, тогда я получу идентификатор главы, в противном случае идентификатор секции.
<book>
<chapter id="chapter1">
<aa>
<cout></cout> --> i will get "chapter1"
</aa>
<section id="section1">
<a>
<b>
<cout></cout> --> i will get section1
</b>
</a>
</section>
<section id="section2">
<a>
<b>
<cout></cout> --> i will get section2
</b>
</a>
</section>
</chapter>
</book>
я попробовал следующее утверждение:
<xsl:value-of select="ancestor::*[local-name() = 'section' or local-name() = 'chapter']/@id" />
но в случае cout
, содержащегося в разделе 1, он даст мне главу 1 вместо раздела 1.Любые решения?