Учитывая этот фрагмент XML и XPATH / XSLT 1.0
<corpus>
<TEI id="first">
.
.
.
</TEI>
<TEI id="second">
<text>
<div n="A">
<div n="1" />
<div n="2" />
</div>
<div n="B">
<div n="3" />
<div n="4" />
</div>
</text>
</TEI>
<TEI id="third">
.
.
.
</TEI>
</corpus>
Когда текущий узел, скажем, n = 1, 2, 3 или 4, мне нужно знать, является ли он последним <div>
в его <TEI>
.
Я думал, что это будет работать
test="node()=ancestor::TEI//div[not(div)][last()]"
но, к моему удивлению,
ancestor::TEI//div[not(div)][last()]
возвращает оба элемента 2 и 4, а
ancestor::TEI//div[not(div)][last()][last()]
делает то же самое.
Как проверить, является ли текущий нижний лист <div>
последний нижний лист <div>
в текущем <TEI>
?