19

我想计算 XPath 中数字的模数,但这不起作用:

<xsl:if test="(count()%8)">

我该怎么做?我在这里查看了 XPath函数参考,但没有看到类似的内容。

4

3 回答 3

42

试试“模组”

http://www.w3.org/TR/xpath#numbers

该链接的详细信息:

mod 运算符返回截断除法的余数。例如,

5 mod 2 返回 1

5 mod -2 返回 1

-5 mod 2 返回 -1

-5 mod -2 返回 -1

注意:这与 Java 和 ECMAScript 中的 % 运算符相同。

于 2009-03-04T03:04:05.333 回答
18

尝试

<xsl:if test="(count() mod 8)"> 

就像在 XSL 中一样,你必须使用“mod”来获取模数

于 2009-03-04T03:04:59.683 回答
6

做加法/减法时也要小心。在进行加法时,$var1+$var2 应该是好的。但在减法中,由于破折号 (-) 在变量名中有效,$var1-$var2 不起作用。但是 $var1 - $var2 应该,并且 number($var1) - number($var2) 应该总是有效的,您可以看到我写的一篇文章,介绍了在 Novell 的 Identity Manager 产品中使用 XPATH。

XPATH 数学思想

于 2009-03-04T18:31:53.917 回答