我是xsl的新手。 我试图将表的所有价格加起来并将总和放在一个新行中。 但是当我运行它时,我只得到一个值。无法理解原因。 任何想法?
<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 :(得分:0)
尝试将foo = function(...){
length(unique(lengths(list(...)))) == 1
}
foo(a, b, c)
#[1] FALSE
更改为<xsl:value-of select="sum(Album/Price)"/>
是否修复了它。