我有以下xml。
<employee>
<record id=1>
<fname>mark</fname>
<lname>smith</lname>
<id>10</id>
<record id=2>
........
</employee>
我想为每条记录添加id并获得总数。
我不知道我在该员工下的记录数量。它可以是1或10或100.
我在论坛中找到了以下示例。我可以使用它,但它们是一种更简单的方法来实现这一目标吗?
<xsl:call-template name="for.loop">
<xsl:with-param name="i">1</xsl:with-param>
<xsl:with-param name="count">10</xsl:with-param>
</xsl:call-template>
<!-- Rename "old name" elements to "new name" -->
<xsl:template name="for.loop">
<xsl:param name="i"/>
<xsl:param name="count"/>
<xsl:if test="$i <= $count">
<!-- body of the loop goes here -->
</xsl:if>
<xsl:if test="$i <= $count">
<xsl:call-template name="for.loop">
<xsl:with-param name="i">
<!-- Increment index-->
<xsl:value-of select="$i + 1"/>
</xsl:with-param>
<xsl:with-param name="count">
<xsl:value-of select="$count"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
答案 0 :(得分:1)
有一个sum
函数:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<total>
<xsl:value-of select="sum(/employee/record/id)"/>
</total>
</xsl:template>
</xsl:stylesheet>