Как получить модуль числа в 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.