2016-10-03 7 views
1

多分あなたは私を助けることができます。 「タイトル」でグループ化されたテーブルのセル「年」を合計する方法がわかりません。私はその合計セルも最初のセル "タイトル"としてマージする必要があります。XSLT合計グループ化テーブルセル

I)を(総和を用い、それは0

XMLコードreturs:

enter image description here

:今である結果

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html" doctype-public="XSLT-compat" omit-xml-declaration="yes" encoding="UTF-8" indent="yes" /> 

    <xsl:key name="cds" match="Row" use="TITLE" /> 

    <xsl:template match="/"> 
    <html> 
    <body> 
    <h2>My CD Collection</h2> 
    <table border="1"> 
    <tr bgcolor="#9acd32"> 
     <th>Title</th> 
     <th>Year</th> 
     <th>Artist</th> 
     <th>Artist1</th> 
    </tr> 
<xsl:for-each select="LIST/Row[generate-id() = generate-id(key('cds', TITLE)[1])]" > 
    <tr> 
    <td> 
     <xsl:if test="key('cds', TITLE)[1]"> 
      <xsl:attribute name="rowspan"> 
       <xsl:value-of select="count(key('cds', TITLE))" /> 
      </xsl:attribute> 
     </xsl:if> 
     <xsl:value-of select="TITLE"/> 
    </td>  
    <td> 
    <xsl:value-of select="YEAR"/> 
    </td> 
    <td> 
     <xsl:value-of select="artist"/> 
    </td> 
    <td>  
     <xsl:value-of select="artist1"/> 
    </td> 
</tr>  
<xsl:for-each select="key('cds', TITLE)[position() > 1]"> 
<tr> 
    <td> 
    <xsl:value-of select="YEAR"/> 
    </td> 
    <td> 
     <xsl:value-of select="artist"/> 
    </td> 
    <td> 
     <xsl:value-of select="artist1"/> 
    </td> 
</tr>  
</xsl:for-each> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 

<?xml version="1.0" encoding="UTF-8"?> 
<LIST> 
<Row> 
    <TITLE>Empire Burlesque</TITLE> 
    <YEAR>2001</YEAR> 
    <artist>Bob Dylan</artist> 
    <artist1>Bob Dylan1</artist1> 
</Row> 
<Row> 
    <TITLE>Empire Burlesque</TITLE> 
    <YEAR>2002</YEAR> 
    <artist>Bob Dylan</artist> 
    <artist1>Bob Dylanas</artist1> 
</Row> 
<Row> 
    <TITLE>Empire Burlesque</TITLE> 
    <YEAR>2003</YEAR> 
    <artist>Bonnie Tyler</artist> 
    <artist1>Bob Dylan</artist1> 
</Row> 
<Row> 
    <TITLE>Empire Burlesque</TITLE> 
    <YEAR>2004</YEAR> 
    <artist>Bonnie Tyler</artist> 
    <artist1>Bob Dylanas</artist1> 
</Row> 
<Row> 
    <TITLE>Empire Burlesque1</TITLE> 
    <YEAR>2005</YEAR> 
    <artist>Bonnie Tyler</artist> 
    <artist1>Bob Dylan</artist1> 
</Row> 
<Row> 
    <TITLE>Empire Burlesque1</TITLE> 
    <YEAR>2006</YEAR> 
    <artist>Bonnie Tyler</artist> 
    <artist1>Bob Dylanas</artist1> 
</Row> 
</LIST> 

XSLTコード

+0

あなたが試した 'sum()'は、0しか返さなかったとしても表示できますか?この場合の出力(理想的には画像ではなくコード)を表示できますか?ありがとうございました! –

答えて

1

それぞれのためにsum(key('cds', TITLE)/YEAR)を試してください。