我是XSLT的新手,我遇到了解决这个问题的问题。我有一些不在XML文档中的值,所以我需要创建它们,如下所示:
<xsl:for-each select="msxsl:node-set($obsData)/Round">
<xsl:with-param name="Save1">
<xsl:variable name="xx">
<xsl:element name="lasuma">
<xsl:value-of select="(some calculation)"/>
</xsl:element>
</xsl:variable>
<xsl:value-of select="msxsl:node-set($xx)/lasuma"/>
</xsl:with-param>
</xsl:for-each>
所以现在我拥有了我需要的值,我将它们保存到变量中。现在我需要总结它,但函数SUM似乎工作的唯一方法是当你有节点时,我不能对变量中的值求和。我尝试过这个,但它没有对我在该路径中指定的值求和:
... “之和(msxsl:节点集($ XX)/ lasuma)”/&GT;
有没有办法对变量中的值求和?我可能会遵循一个简单的例子,我将不胜感激。感谢。
答案 0 :(得分:2)
如果你想对任何变量求和,你必须说变量是一个数字。
所以在XSLT中你可以使用数字(值)+数字(otherValue)
答案 1 :(得分:0)
试试这个。只需确保您的计算创建有效数字。如果没有,你将得到NaN,&#34;而不是数字&#34;,从你的总和中返回。
<xsl:variable name="xx">
<xsl:for-each select="msxsl:node-set($obsData)/Round">
<xsl:element name="lasuma">
<xsl:value-of select="(some calculation)"/>
</xsl:element>
</xsl:for-each>
</xsl:variable>
<xsl:value-of select="sum(msxsl:node-set($xx)/lasuma)"/>