xsl中的降序计数器

时间:2012-11-12 17:09:04

标签: xml xslt

如果我使用

<xsl:value-of select="position()" />

在xsl中的for-each循环内,它非常适合升序计数器。有没有办法将它改为降序计数器?

由于

2 个答案:

答案 0 :(得分:5)

如此简单......

<xsl:value-of select="last()-position()+1" />

fn:last返回上下文大小,fn:position - 当前处理的项目的位置时,您只需要从它们的差异中减去1(因为position从1开始计数,而不是0)。

答案 1 :(得分:2)

您可能根本不需要降序计数器(我猜这个计数器用于索引节点集以反向顺序处理它) - 只需使用:

<xsl:for-each select="yourNodeSet">
 <xsl:sort select="position()" order="descending" data-type="number"/>

 <!-- Your processing here -->
</xsl:for-each>