Как получить модуль числа в XPath / XSLT?

Я хочу, чтобы вычислить модуль числа в XPath, но это не работает:

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

Как бы я это сделал? Я посмотрел на XPath ссылка на функцию здесь, но ничего подобного не видел.

3 ответов


попробуйте "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.


попробовать

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

как и в XSL, вы должны использовать "mod", чтобы получить модуль


также следите при выполнении сложения / вычитания. При добавлении все должно быть хорошо с $var1+$var2. Но при вычитании, так как тире (-) допустимо в имени переменной $var1 - $var2 не работает. Но $var1 - $var2 должен, а number ($var1) - number ($var2) всегда должен работать, и вы можете увидеть статью, о которой я писал в отношении использования XPATH в продукте Novell Identity Manager.

XPATH математические мысли