У меня есть такой XML:
<nav:objectList>
<nav:item >
<nav:attribute name="display">1</nav:attribute>
<nav:attribute name="className">document.Document</nav:attribute>
<nav:attribute name="title">item 1</nav:attribute>
<nav:attribute name="getFileExtension">pdf</nav:attribute>
</nav:item>
<nav:item >
<nav:attribute name="display">2</nav:attribute>
<nav:attribute name="className">video.Video</nav:attribute>
<nav:attribute name="title">item 2</nav:attribute>
<nav:attribute name="getFileExtension">mp4</nav:attribute>
</nav:item>
<nav:item >
<nav:attribute name="display">3</nav:attribute>
<nav:attribute name="className">document.Document</nav:attribute>
<nav:attribute name="title">item 3</nav:attribute>
<nav:attribute name="getFileExtension">pdf</nav:attribute>
</nav:item>
<nav:item >
<nav:attribute name="display">4</nav:attribute>
<nav:attribute name="className">video.Video</nav:attribute>
<nav:attribute name="title">item 4</nav:attribute>
<nav:attribute name="getFileExtension">mp4</nav:attribute>
</nav:item>
<nav:item >
<nav:attribute name="display">5</nav:attribute>
<nav:attribute name="className">document.Document</nav:attribute>
<nav:attribute name="title">item 5</nav:attribute>
<nav:attribute name="getFileExtension">pdf</nav:attribute>
</nav:item>
</nav:objectList>
Я хочу подсчитать все document.Document, предшествующие текущему document.Document. (Я не хочу считать видео. Видео) Например, если я нахожусь на 5, я хочу вернуть 2, а не 4.
Это похоже на сообщение: XSLT - сравнение элементов предыдущего брата с элемент текущего узла
На самом деле я пытался (много вещей), например:
count(preceding-sibling::nav:attribute[@name='type.className']='com.arsdigita.cms.document.Document'
Спасибо
Роман