xslt 1和sum函数

NaN*_*NaN 2 php xml xslt sum xslt-2.0

我使用xml和PHP创建发票管理系统,但最新的PHP版本不支持XSLT 2.0 - 因此我必须寻找sum()替代方案.如何将有效的xslt 2函数"sum(unitprice*quantity)"转换为xslt 1.0?

XML的东西基于John的例子

我尝试使用节点集,但不支持"xmlXPathCompOpEval:找不到函数节点集"

Mic*_*Kay 6

实际上,sum(price*quantity)XSLT 2.0语法无效.我想你的意思是"总和($ x in*return $ x/price*$ x/quantity).

可以通过以下方式对XSLT 1.0中的计算值求和:

  • 两个通过解决方案,创建一个节点集,其中节点保存计算值,然后在节点集上求和

  • 递归解决方案:编写一个递归模板,该模板将参数传递给总计,为当前节点添加sum*quantity,然后递归以处理剩余的节点

  • 高阶解决方案:使用Dimitre Novatchev的FXSL库

  • 扩展解决方案:使用像saxon这样的扩展函数:sum()