私はXSLを初めて使用し、Win値の合計をカウントするための次のコードを作成しました。
<xsl:variable name="WinAmount">
<xsl:number value="number(0)"/>
<xsl:for-each select="Event">
<xsl:if test="SpinTheReelsInfo">
<xsl:number value="number(number($WinAmount) + number(SpinTheReelsInfo/Win))"/>
</xsl:if>
<xsl:if test="SpinFreeReelsInfo">
<xsl:number value="number(number($WinAmount) + number(SpinFreeReelsInfo/Win))"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="$WinAmount"/>
私のxmlファイルでは、winタグは次の値と一致します。
<Win>0</Win>
....
<Win>20</Win>
.....
<Win>200</Win>
しかし、結果は121201です。これは、数値が連結され、すべての数値が増加したためだと思います。
しかし、なぜこれが起こっているのですか?そして、どうすればそれらを合計できますか?これにはどの演算子を使用できますか?私を助けてください!ありがとうございました!
更新:私のXML
<Game>
<GameSeqNo>1</GameSeqNo>
<Event>
<Time>2012-12-20T08:24:26Z</Time>
<SpinTheReelsInfo>
<Win>0</Win>
<JP>0</JP>
</SpinTheReelsInfo>
</Event>
<Event>
<Time>2012-12-20T08:24:42Z</Time>
<PickFieldInfo>
</PickFieldInfo>
</Event>
<Event>
<Time>2012-12-20T08:25:07Z</Time>
<SpinFreeReelsInfo>
<Win>20</Win>
<JP>0</JP>
</SpinFreeReelsInfo>
</Event>
<Event>
<Time>2012-12-20T08:25:18Z</Time>
<SpinFreeReelsInfo>
<Win>200</Win>
<JP>0</JP>
</SpinFreeReelsInfo>
</Event>
</Game>