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 に答える