- From: <jeroen@tcf.nl>
- Date: Thu, 11 May 2000 23:57:12 +0200 (CEST)
- To: www-dom-xpath@w3.org
Hi Scott, Nice start (sorry for the late reaction)! First quick reaction: >Goals >Layered +1 >Complete +1 >Expression Language Independent >The PAX API need not expose the expression language directly to the interface. >Therefore, it will be possible to use PAX to address other expression languages >besides XPath, such as Perl (in a limited fashion), or perhaps >a full-blown XML Query Language. mmmmmm, expression language independence sounds good but I rather see it happening through add-ons with a hasFeature test. Tomorrow there will be some new query language called SSQL (super simple query language) with a complete different expression language without the need for an environment of context at all. XObject evaluate(Node context, XEnvironment environment) gives an indirect dependence of specific expression languages. > 1.The API must support all XPath functionality. +1 > 2.It must be DOM-compatible, i.e., use DOM concepts rather than invent any new infrastructure (such as Nodes, > lists, iterators, etc.) unless absolutely necessary. +1 > 3.It must be language neutral and vendor neutral. +1 > 5.Implementation of PAX should be optional for DOM implementors. Implementing a specific expression language binding should be optional, with at least 1 of the available expression languages. compare it to DOM which might offer XSL besides CSS. > 7.It should provide a way to install XPath extension functions, and +1 > 10.It must support the binding of variables. The types of these variables will be return Node-sets, Booleans, Numbers, and Strings, but other variable types should be possible, such as a Java Object (which may be passed to an extension function). Java Object -> Object > public static ExpressionFactory newInstance(String language) > throws java.lang.IllegalAccessException, > java.lang.InstantiationException, > java.lang.ClassNotFoundException I would prefer createXPathInstance() and createXSLPatternInstance()... DOMException INSTANTIATION_ERROR, INSTANTIATION_NOT_ALLOWED_ERROR add the boolean hasFeature(in DOMString feature, in DOMString version); >public interface XObject > { > public static final short NODESET = 1; > public static final short BOOLEAN = 2; > public static final short STRING = 3; > public static final short NUMBER = 4; The XObject interface suggests an expression independent setup thought the constants defined point directly towards XPath. (and ofcourse I'm in favor of XPathResultObject.....) > lessThan, lessThanOrEqual etc ... I don't see why this should be in the result interfaces. Sure XPath has specific rules for comparing strings with numbers etc but the interpretation of a result site might be left to the user. By the way, am I missing something ... Where is the actual unparsed query set ? The ExpressionFactory is delivering an empty language specific instance isn't it ? Does it mean that a specific instance has to implement the Inquirer interface ? mmmmm, an explanation is welcome. Additional features: A separate Expression.parseExpression() DOMException PARSE_EXCEPTION might be usefull. ..... I have to dig into it a bit further, especially the function extensions. More later. Jeroen ------------------------------------- Jeroen van Rotterdam The Connection Factory http://www.xhive.com -------------------------------------
Received on Thursday, 11 May 2000 17:57:25 UTC