I've just started using spring-xml which is part of spring-ws project and I have quickly noticed inconsistencies in these two interfaces:
First one allows operations on top of javax.xml.transform.Source, the second one allows only operations on top of org.w3c.dom.Node.
What I would like to do is to create precompiled XPathExpressions and then evaluate them by passing an instance of Source (in my case org.springframework.xml.transform.ResourceSource).
I don't think adding methods taking InputSource to XPathExpression should be a problem since javax.xml.xpath.XPathExpression takes both Node and InputSource. Maybe I am overlooking something?
Also note following inconsistency:
XPathOperations: double evaluateAsDouble(String expression, Source context) throws XPathException
XPathExpression: double evaluateAsNumber(Node node) throws XPathException;