编程语言
首页 > 编程语言> > php – xslt 1和sum函数

php – xslt 1和sum函数

作者:互联网

我使用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()

标签:xslt-2-0,php,sum,xml,xslt
来源: https://codeday.me/bug/20190929/1831992.html