如何获取XPath / XSLT中的数字模数?

时间:2009-03-04 03:02:11

标签: xslt xpath modulo

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

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

我该怎么办?我看了XPath function reference here,但没有看到类似的东西。

3 个答案:

答案 0 :(得分:35)

尝试“mod”

请参阅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中的%运算符相同。

答案 1 :(得分:14)

尝试

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

在XSL中你必须使用“mod”来获得模数

答案 2 :(得分:6)

进行加/减时也要注意。在进行添加时,$ var1 + $ var2应该都很好。但在减法中,由于破折号( - )在变量名中有效,因此$ var1- $ var2不起作用。但$ var1 - $ var2应该和number($ var1) - number($ var2)总是应该有效,你可以看到我写的关于在Novell的Identity Manager产品中使用XPATH的文章。

XPATH Math thoughts