XML-23006 :(错误)值在升级时与XSL 2.0的升级类型不匹配



我最近已将XSL更改为版本1.0版,以添加一些更改。我需要为以下行添加总和函数:

<xsl:sequence select="sum (/ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:WOACTIVITY/(ns0:ESTLABCOST + ns0:ESTMATCOST))"/>

这导致我遇到了错误:XML-23006 :(错误)值不匹配所需的类型

在以下行:

<xsl:value-of select="/ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:LBRCOSTOUT + /ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:SERVICECOST + /ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:MATLCOSTIN + /ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:MATLCOSTOUT + /ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:TOOLCOSTIN + /ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet/ns0:WORKORDER/ns0:PLUSDESTCONTROL/ns0:PLUSDESTVERSION[ns0:ESTVERSION=$VERSION]/ns0:PLUSDACGDETAIL/ns0:TOOLCOSTOUT"/>

我正在使用的示例数据如下:

<LBRCOSTOUT>0.0</LBRCOSTOUT>
<SERVICECOST>0.0</SERVICECOST>
<MATLCOSTIN>260.36</MATLCOSTIN>
<MATLCOSTOUT>0.0</MATLCOSTOUT>
<TOOLCOSTIN>0.0</TOOLCOSTIN>
<TOOLCOSTOUT>0.0</TOOLCOSTOUT>

这是因为XSL 2.0中的键入更强吗?我可以解决哪些方法?

您传递给sum()的XPath无效:

/ns0:PublishZXQPPWORKORDER/ns0:ZXQPPWORKORDERSet
    /ns0:WORKORDER/ns0:WOACTIVITY/(ns0:ESTLABCOST + ns0:ESTMATCOST))
                                  ^

著名的(不属于那里。

我也不确定为什么您要从sum()的输出中创建一个序列,或者以后在代码中如何使用此序列,但是如果没有别的,您的更改在语法上是错误的。

相关内容

  • 没有找到相关文章

最新更新