Peter Verthez created JXPATH-197:
------------------------------------
Summary: number() function does not work correctly on empty string
Key: JXPATH-197
URL: https://issues.apache.org/jira/browse/JXPATH-197
Project: Commons JXPath
Issue Type: Bug
Affects Versions: 1.3
Reporter: Peter Verthez
If you evaluate an expression that amounts to '' = 0, then JXPath is returning
true for that although it should be false in my interpretation.
Analysis:
* when comparing a string with a number, a conversion is done: if at least one
object to be compared is a number, then each object to be compared is converted
to a number as if by applying the number function
([https://www.w3.org/TR/1999/REC-xpath-19991116/#booleans])
* the number function converts an empty string to a NaN number
([https://www.w3.org/TR/1999/REC-xpath-19991116/#section-Number-Functions])
I see that in the InfoSetUtil class the following is implemented:
{code:java}
public static double doubleValue(Object object) {
...
if (object instanceof String) {
if (object.equals("")) {
return 0.0;
}
...
{code}
This is the cause of this problem, instead of 0.0 NaN should be returned.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)