我使用xml和PHP创建发票管理系统,但最新的PHP版本不支持XSLT 2.0 – 因此我必须寻找sum()替代方案.如何将有效的xslt 2函数“sum(unitprice * quantity)”转换为xslt 1.0?
XML的东西基于John’s Examples
我尝试使用节点集,但不支持“xmlXPathCompOpEval:找不到函数节点集”
解决方法:
实际上,sum(price * quantity)是无效的XSLT 2.0语法.我想你的意思是“总和($x in * return $x / price * $x / quantity).
可以通过以下方式对XSLT 1.0中的计算值求和:
>两个通过解决方案,创建一个节点集,其中节点保存计算值,然后在节点集上求和
>递归解决方案:编写一个递归模板,传递总数到目前为止的参数,为当前节点添加sum *数量,然后递归以处理剩余的节点
>高阶解决方案:使用Dimitre Novatchev的FXSL库
>扩展解决方案:使用像saxon这样的扩展函数:sum()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。