Недавно я изменил свой XSL на версию 2.0 с версии 1.0, чтобы добавить некоторые изменения. Мне нужно добавить функцию SUM для следующей строки:Значение XML-23006: (Ошибка) не соответствует требуемому типу при обновлении до XSL 2.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? Какие способы я могу исправить?
Когда я упоминаю об этом сообщении об ошибке Google, похоже, это связано с процессором XSLT от Oracle. Вы пытались запустить свой код с Saxon 9 для сравнения? Что касается фрагментов кода, как первый фрагмент относится ко второму, это значение, вычисленное в первом фрагменте, используемом во втором? Это может помочь нам, если вы попытаетесь уменьшить код до минимальных, но полных фрагментов, позволяющих легко воспроизвести проблему. –