0
我不得不itterate在XML項目和做一些數學的每一行XSLT 2.0,每個計數
<items>
<item amount="12">
<item amount="13">
<item amount="14">
</items>
我已經嘗試過這種分配給全局變量或進行功能。兩者都不適合我。
所以現在我想每行後的金額總和。我怎麼能用xslt-2.0來做到這一點。分配給全局變量不起作用。
我不得不itterate在XML項目和做一些數學的每一行XSLT 2.0,每個計數
<items>
<item amount="12">
<item amount="13">
<item amount="14">
</items>
我已經嘗試過這種分配給全局變量或進行功能。兩者都不適合我。
所以現在我想每行後的金額總和。我怎麼能用xslt-2.0來做到這一點。分配給全局變量不起作用。
我想在每行之後的金額總和爲。
如果你想打印所有以前的金額的累積總和,您可以使用XPath表達式,在每個item
的背景下,如:
sum(preceding-sibling::item/@amount | @amount)
這個樣式表:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="items">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="item">
<xsl:copy-of select="."/>
<subtotal>
<xsl:value-of select="sum(preceding-sibling::item/@amount | @amount)"/>
</subtotal>
</xsl:template>
</xsl:stylesheet>
施加到你的例子的話會產生:
<items>
<item amount="12"/><subtotal>12</subtotal>
<item amount="13"/><subtotal>25</subtotal>
<item amount="14"/><subtotal>39</subtotal>
</items>
您的預期成果是什麼?你想爲每一行累計小計嗎? – helderdarocha