我正在努力使用XSLT 1.0,希望有人可以帮助我。这是我第一次使用它。请参阅下面的XML。我需要汇总每种类型的存款。我为每种类型创建了一个表格,因此在行中显示产品,在最后一列中显示存款。在最后一行中,我想对该类型的存款进行总计。什么是好的方法?
<Letter>
<Information>
<Product>
<Type>Type1</Type>
</Product>
<Transactions>
<Deposits>150</Deposits>
</Transactions>
</Information>
</Letter>
<Letter>
<Information>
<Product>
<Type>Type1</Type>
</Product>
<Transactions>
<Deposits>120</Deposits>
</Transactions>
</Information>
</Letter>
<Letter>
<Information>
<Product>
<Type>Type2</Type>
</Product>
<Transactions>
<Deposits>120</Deposits>
</Transactions>
</Information>
</Letter>
答案 0 :(得分:0)
您可以使用MUENCHIAN方法在XSLT 1.0中进行分组
<xsl:key name="deposit" match="Information" use="Product/Type"/>
<xsl:template match="Letter">
<xsl:for-each select="Information[generate-id() = generate-id(key('deposit', Product/Type)[1])]" >
<xsl:text> Deposite for </xsl:text>
<xsl:value-of select="Product/Type"/>
<xsl:text> = </xsl:text>
<xsl:value-of select="sum(key('deposit', Product/Type)/Transactions/Deposits)"/>
</xsl:for-each>
</xsl:template>
输出
Deposite for Type1 = 270
Deposite for Type2 = 120