【发布时间】:2011-10-20 00:54:46
【问题描述】:
我有这种 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 - Comparing preceding-sibling's elements with current's node element
我实际上正在尝试(很多事情),例如:
count(preceding-sibling::nav:attribute[@name='type.className']='com.arsdigita.cms.document.Document'
谢谢
罗曼
【问题讨论】:
-
@LarsH:你说得对,我想要全名 com.arsdigita.cms.document.Document),我简化了 XML。感谢你们俩 !!你的两个答案很有趣,我下周一试试(我之前不能测试),然后告诉你一个