-1

私はいくつかのxslを書いて、いくつかのxmlコードを作成し、それを合計しました。コードは次のとおりです。

              <xsl:variable name ="tmpTotal">
                <root>
                  <xsl:for-each select="key('idxid',$id)//parent::*/transaction/transaction-date[substring(@iso-date,1,4) = $newyear  ]">
                      <xsl:if test="../transaction-type[@code='E']">
                        <item>
                          <xsl:value-of select="number(../value)"/>
                        </item>
                      </xsl:if>

                    </xsl:for-each>
               </root>
            </xsl:variable>

              <xsl:variable name="value" select="sum(exsl:node-set($tmpTotal)/root/item)" />
              <h3>
                All: <xsl:value-of select="exsl:node-set($tmpTotal)/*"/> <br/>
                Year: <xsl:value-of select="$newyear"/> <br/>
                Value:<xsl:value-of select="$value"/> <br/>

              </h3>

結果は次のとおりです: すべて: 96363464029561 年: 2005 値: 73837

数値のリスト (All: 出力から) は次のとおりです: 9636 3460 29561 合計は 42657 になるはずです。数値は xml で正しいのに、なぜ合計が正しくないのですか? よろしくお願いします。

4

1 に答える 1

0

あなたの計算は間違っています。9636 + 34640 + 29561 = 73837

于 2012-10-19T17:15:07.613 に答える