如果我使用
<xsl:value-of select="position()" />
在 xsl 中的 for-each 循环中,它非常适用于升序计数器。有什么办法可以将其更改为递减计数器?
谢谢
怎么这么简单...
<xsl:value-of select="last()-position()+1" />
由于fn:last返回上下文大小,而fn:position - 当前处理的项目的位置,您只需从它们的差中减去 1(因为position
它的计数从 1 开始,而不是 0)。
您可能根本不需要降序计数器(我猜这个计数器用于索引节点集以以相反的顺序处理它) - 只需使用:
<xsl:for-each select="yourNodeSet">
<xsl:sort select="position()" order="descending" data-type="number"/>
<!-- Your processing here -->
</xsl:for-each>