撒克逊人。 XPathSelector。 XPathException:无法将xs:untypedAtomic与xs:decimal进行比较

问题描述 投票:0回答:1

当我在Net Framwork的应用程序中使用saxon9-he(版本9.8.0.6)进行XPath时,会出现错误“net.sf.saxon.trans.XPathException:无法将xs:untypedAtomic与xs:decimal进行比较”。

当XPathSelector使用“Evaluate”方法计算表达式时会发生这种情况。表达式本身如下所示:matches($ var1 / text(),'^ [0-9] {1,2}。[0-9] {2} $')或($ var1 eq 100.0)。

变量“var1”在XPathSelector中由SetVariable方法设置为XdmNode。

我请你建议一种摆脱这种情况的方法。

saxon
1个回答
0
投票

“=”运算符将xs:untypedAtomic操作数转换为另一个操作数的类型。 “eq”运算符没有。

这样做的原因是使“eq”具有传递性,因此它可以合理地用于索引,分组等。

所以你应该做一个手动转换:

xs:decimal($var1) eq 100.0

或使用“=”运算符:

$var1 = 100.0

顺便说一下,欢迎您在这里或在Saxon论坛上询问Saxon的问题,但请不要在两者上提出同样的问题:它浪费了每个人的时间。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.