XSL/XML添加节点以创建总计

XSL/XML添加节点以创建总计,xml,function,xslt,Xml,Function,Xslt,我是XML/XSL的新手,相信我需要一个函数来满足这个请求 我有一个表单,需要有一个具有相同名称的节点总数 -----------------总截面-------------------------- <th align="left"><font size="2"><xsl:text>Total Freight & Other Charges: </xsl:text></font></th> <td>&l

我是XML/XSL的新手,相信我需要一个函数来满足这个请求

我有一个表单,需要有一个具有相同名称的节点总数

-----------------总截面--------------------------

<th align="left"><font size="2"><xsl:text>Total Freight & Other Charges:
</xsl:text></font></th>
<td><font size="2"> $<xsl:value-of select='format-number(Document-810/SUMMARY/SAC/SAC05, "###,###,##0.00")'/></font></td>
总运费和其他费用:
$
-------------用于单个节点的部分---------


数量
描述

假设用于转换的输入XML如下所示

<Document-810>
    <SUMMARY>
        <SAC>
            <SAC05>1000</SAC05>
            <SAC15>Description 1</SAC15>
        </SAC>
        <SAC>
            <SAC05>2000</SAC05>
            <SAC15>Description 2</SAC15>
        </SAC>
        <SAC>
            <SAC05>3000</SAC05>
            <SAC15>Description 3</SAC15>
        </SAC>
        <SAC>
            <SAC05>4000</SAC05>
            <SAC15>Description 4</SAC15>
        </SAC>
        <SAC>
            <SAC05>5000</SAC05>
            <SAC15>Description 5</SAC15>
        </SAC>
    </SUMMARY>
</Document-810>
下面是可用于获取HTML表的XSLT(您可以将其用作参考,并根据需要更改表结构)


总运费及;其他费用:
数量
描述
输出


例如,预定义函数在或中进行了总结。因此,首先检查一下你是否找到了做这项工作的方法。如果您需要进一步的帮助,那么考虑添加XML的一个小而有代表性的示例,并确切地显示您想要使用哪些值来计算哪一个值。再次感谢您的帮助。
<Document-810>
    <SUMMARY>
        <SAC>
            <SAC05>1000</SAC05>
            <SAC15>Description 1</SAC15>
        </SAC>
        <SAC>
            <SAC05>2000</SAC05>
            <SAC15>Description 2</SAC15>
        </SAC>
        <SAC>
            <SAC05>3000</SAC05>
            <SAC15>Description 3</SAC15>
        </SAC>
        <SAC>
            <SAC05>4000</SAC05>
            <SAC15>Description 4</SAC15>
        </SAC>
        <SAC>
            <SAC05>5000</SAC05>
            <SAC15>Description 5</SAC15>
        </SAC>
    </SUMMARY>
</Document-810>
<xsl:variable name="totalAmt" select="sum(SAC/SAC05) div 100" />
<xsl:value-of select="concat('$', format-number($totalAmt, '###,###,##0.00'))"/>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
    <xsl:output method="html" />
    <xsl:strip-space elements="*" />

    <xsl:template match="SUMMARY">
        <html>
            <body>
                <table cellpadding="3" cellspacing="0" border="1">
                    <tr>
                        <th align="left"><font size="2"><xsl:text>Total Freight &amp; Other Charges:</xsl:text></font></th>
                        <td align="left"><font size="2">
                                <xsl:variable name="totalAmt" select="sum(SAC/SAC05) div 100" />
                                <xsl:value-of select="concat('$', format-number($totalAmt, '###,###,##0.00'))"/>
                            </font></td>
                    </tr>
                    <tr>
                        <th align="left"><font size="2"><xsl:text>Amount</xsl:text></font></th>
                        <th align="left"><font size="2"><xsl:text>Description</xsl:text></font></th>
                    </tr>
                    <xsl:for-each select="SAC">
                        <tr>
                            <td><font size="2"><xsl:value-of select="concat('$', format-number(SAC05 div 100, '###,###,###.00'))" /></font></td>
                            <td><font size="2"><xsl:value-of select="SAC15" /></font></td> 
                        </tr>
                    </xsl:for-each>
                </table>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>