I dont have any problems with how values are being returned from Jaxen when
an XPath evaluation (using evaluate() or selectNodes()) is done, but WHILE
evaluating the expression using a custom VariableContext. Jaxen call my
VariableContext back for each variable defined in the XPath expression and
my question is of what type should that value be. Currently my
VariableContext is returning Strings for everything but if they are further
used in boolean expression such as $result > 10 I get a ClassCastException.

Looking at the source, it seems that you guys are using Comparator for all
expression evaluations. Either Jaxen should be smart related to simple type
conversions (and then use the comparator) or the contract of VariableContext
should be further specified, such as
VariableContext.getBooleanVariableValue,
VariableContext.getStringVariableValue, etc.

-----------
 FROM: James StrachanDATE: 11/21/2001 01:05:57SUBJECT: RE:  [Jaxen] Jaxen
and VariableContext Problem: Java Object types If you work off the latest
CVS image, then using the evaluate() method
should return a Boolean object.

If you call the selectNodes() method right now it will probably return a
List containing a single Boolean object.

James
----- Original Message -----
From: "Yuri de Wit" <<EMAIL: PROTECTED>>
To: <<EMAIL: PROTECTED>>
Sent: Wednesday, November 21, 2001 1:47 AM
Subject: [Jaxen] Jaxen and VariableContext Problem: Java Object types


>
> I am using Jaxen and a VariableContext but I am having problems with the
> following XPath expression:
> $result > 10
>
> What is the actual Java Object class that VariableContext implementation
> should be returning? Is Jaxen smart enough so that a String returned would
> be properly converted to Integer or Double, for instance? If no, what is
the
> contract that a VariableContext should be implementing in terms of Objects
> returned?
>
> This is the exception I am getting:
> ava.lang.ClassCastException: java.lang.Integer at
> java.lang.Double.compareTo(Double.java:576) at
>
org.jaxen.expr.DefaultGreaterThanExpr.evaluateObjectObject(DefaultGreaterTha
> nExpr.java:128) at
>
org.jaxen.expr.DefaultRelationalExpr.evaluate(DefaultRelationalExpr.java:85)
> at
>
org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFunctionCallExpr.java
> :135) at org.jaxen.expr.DefaultXPath.asList(DefaultXPath.java:46) at
> org.jaxen.JaXPath.jaSelectNodes(JaXPath.java:33) at
> org.jaxen.BaseXPath.selectNodes(BaseXPath.java:21)
>
>
> _______________________________________________
> Jaxen-interest mailing list
> <EMAIL: PROTECTED>
> https://lists.sourceforge.net/lists/listinfo/jaxen-interest


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


_______________________________________________
Jaxen-interest mailing list
<EMAIL: PROTECTED>
https://lists.sourceforge.net/lists/listinfo/jaxen-interest



_______________________________________________
Jaxen-interest mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jaxen-interest

Reply via email to