Java JxPath:评估'';=0

Java JxPath:评估'';=0,java,xpath,expression,equality,jxpath,Java,Xpath,Expression,Equality,Jxpath,我正在计算JxPath 1.3中的表达式''=0,我希望结果为false。这是我的代码: JXPathContext.newContext(ctaSectionABean).getValue("'' = 0"); 然而,返回的结果是真的!如果我在EclipseJXPath工具中对同一表达式求值,我会得到false,我希望这是正确的,因为第3.4节说: 当两个要比较的对象都不是节点集且运算符为= 或者!=,然后通过将对象转换为公共对象来比较对象 键入以下内容,然后进行比较。如果至少要创建一个对象

我正在计算JxPath 1.3中的表达式
''=0
,我希望结果为false。这是我的代码:

JXPathContext.newContext(ctaSectionABean).getValue("'' = 0");
然而,返回的结果是真的!如果我在EclipseJXPath工具中对同一表达式求值,我会得到false,我希望这是正确的,因为第3.4节说:

当两个要比较的对象都不是节点集且运算符为= 或者!=,然后通过将对象转换为公共对象来比较对象 键入以下内容,然后进行比较。如果至少要创建一个对象 compared是一个布尔值,然后将要比较的每个对象转换为 一个布尔函数,就像应用布尔函数一样。否则,如果在 至少有一个要比较的对象是一个数字,然后每个对象都要比较 “比较”将转换为一个数字,就像应用该数字一样 作用否则,要比较的两个对象都将转换为 通过应用string函数将字符串设置为。比较将 当且仅当对象相等时为真;那个!=比较会 当且仅当对象不相等时为真。比较数字 根据IEEE 754[IEEE 754]的规定进行等式计算。两个布尔人是相等的 如果两者都是真的或都是假的。两个字符串相等,如果 并且仅当它们包含相同的UCS字符序列时

因此,因为没有对象是布尔型的,其中一个是数字,所以我希望JxPath尝试将它们都转换为数字。这将是
0
0
NaN
'
,我测试了JxPath是否使用
number()
函数以这种方式转换它们。这意味着JxPath不会像规范定义的那样尝试将它们转换为数字


这是一个bug吗?

是的,如果您的信息是正确的,那么我认为这是一个bug。

工作正常吗?(不太熟悉xpath的细节,但似乎≠ 0?)我在邮件列表中发布了完全相同的问题: