2017-12-14 19 views
0

xslを初めて使用しています。 私はテーブルのすべての価格を合計し、その合計を新しい行に入れようとしています。 私はそれを実行するとき、私は1つだけの値を取得します。理由を理解できません。 アイデア?カラムテーブルの合計xml

<xsl:for-each select="Album[count(. | key('albums-by-country', Country)[1]) = 1]"> 
     <xsl:sort select="Country" /> 
     <h4 style="color:green;"><xsl:value-of select="Country" style="color:red;" /><br /></h4> 


        <table border="1"> 
    <tr bgcolor="#979994"> 
     <th style="text-align:left">Price</th> 
     <th style="text-align:left">Link</th> 
     <th style="text-align:left">Company</th> 
     <th style="text-align:left">Name</th> 
     <th style="text-align:left">Date</th> 
     <th style="text-align:left">Artist</th> 
    </tr> 
    <xsl:for-each select="key('albums-by-country', Country)"> 
<xsl:sort select="Date" /> 
    <tr> 
     <td><xsl:value-of select="Price"/></td> 
      <xsl:variable name="PriceBase" select="Price" /> 
    <xsl:variable name="calculatedTotal" select="Album/total/score" /> 
    <xsl:variable name="calculatedTotal" select="$PriceBase + $calculatedTotal" /> 
     <td><xsl:value-of select="Link"/></td> 
     <td><xsl:value-of select="Company"/></td> 
     <td><xsl:value-of select="Name"/></td> 
     <xsl:choose> 
     <xsl:when test="string-length(Date)>4"> 
     <td><xsl:value-of select="concat(substring(Date,5,2),'/',substring(Date,7,8),'/',substring(Date,1,4))"/></td> 
</xsl:when> 
<xsl:otherwise> 
<td><xsl:value-of select="concat('01/01/',substring(Date,1,4))"/></td> 
</xsl:otherwise> 
</xsl:choose> 
     <td style="color:red;"><xsl:value-of select="Artist"/></td> 
    </tr> 
    </xsl:for-each> 
     <tr> 

       <td colspan="2">Total Amount</td> 
       <td bgcolor="#ffff00"><xsl:value-of select="sum(Album/Price)"/></td> 
      </tr> 
    </table> 
+0

https://stackoverflow.com/help/mcve –

答えて

0

<xsl:value-of select="sum(Album/Price)"/><xsl:value-of select="sum(key('albums-by-country', Country)/Album/Price)"/>への修正にそれを変更するかどうかを試してみてください。

+0

ありがとうございます! select = "合計(キー( '国別アルバム'、国別)/価格)" /> – user4485863

関連する問題