如果我们使用子串函数如何求和
我想问如果我们使用 substring 函数如何获得总金额, 例如我有这个xml,
<document>
<line id="0">
<field id="0"><![CDATA[AAAddd17aaass]]></field>
</line>
<line id="1">
<field id="0"><![CDATA[DDDaaa33sssaa]]></field>
</line>
</document>
我应该 sum(substring(field[@id='0'], 7,2))。然后我尝试这样做,收到此错误消息:当前项目是“xs:string 类型的 NaN”。 (我尝试使用数字函数,但没有帮助)
请告诉我如何解决它。
I want to ask how to get total amount if we use substring function,
for example I have this xml,
<document>
<line id="0">
<field id="0"><![CDATA[AAAddd17aaass]]></field>
</line>
<line id="1">
<field id="0"><![CDATA[DDDaaa33sssaa]]></field>
</line>
</document>
I should sum(substring(field[@id='0'], 7,2)). Then I try to do that, I get this error message: Current Item is 'NaN of type xs:string. (I try to use number function but it doesn't help)
Please advice me how to solve it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
XSLT 2.0 中很容易:
XSLT 1.0 中更困难:参见示例 http://www.velocityreviews.com/forums/t170401-sum-over-compulated-value.html
Easy in XSLT 2.0:
Rather more difficult in XSLT 1.0: see for example http://www.velocityreviews.com/forums/t170401-sum-over-computed-value.html
在 XSLT 1.0 中,如果您不想自己编写递归模板,可以使用
transform-and-sum
模板,来自 FXSL 。了解如何使用它此处。
以下是完整的转换:
应用于提供的 XML 文档时:
生成所需的正确结果:
In XSLT 1.0 if you don't want to write recursive templates yourself, you can use the
transform-and-sum
template from FXSL.See how to use it here.
Here is the full transformation:
when applied on the provided XML document:
the wanted, correct result is produced: