Comment obtenir le module d'un nombre dans XPath / XSLT?
Question
Je souhaite calculer le module d'un nombre dans le XPath, mais cela ne fonctionne pas:
<xsl:if test="(count()%8)">
Comment pourrais-je le faire? J'ai consulté la référence de fonction XPath ici , mais je n'ai rien vu de tel.
La solution
essayez "mod"
voir http://www.w3.org/TR/xpath#numbers
Détails de ce lien:
L'opérateur mod retourne le reste d'une division tronquée. Pour exemple,
5 mod 2 renvoie 1
5 mod -2 renvoie 1
-5 mod 2 renvoie -1
-5 mod -2 renvoie -1
REMARQUE: Identique à l'opérateur% en Java et à ECMAScript.
Autres conseils
Essayez
<xsl:if test="(count() mod 8)">
comme dans XSL, vous devez utiliser " mod " obtenir le module
Faites également attention lorsque vous faites une addition / soustraction. En faisant l'addition, tout devrait être bon avec $ var1 + $ var2. Mais en soustraction, puisqu'un tiret (-) est valide dans un nom de variable $ var1- $ var2 ne fonctionne pas. Mais $ var1 - $ var2 devrait, et nombre ($ var1) - nombre ($ var2) devrait toujours fonctionner et vous pouvez voir un article sur l’utilisation de XPATH dans le produit Identity Manager de Novell.