4

如果我使用

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

在 xsl 中的 for-each 循环中,它非常适用于升序计数器。有什么办法可以将其更改为递减计数器?

谢谢

4

2 回答 2

5

怎么这么简单...

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

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

于 2012-11-12T17:12:08.013 回答
2

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

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

 <!-- Your processing here -->
</xsl:for-each>
于 2012-11-13T04:04:39.463 回答