W3C home > Mailing lists > Public > www-dom@w3.org > October to December 2002

Re: Level 3 XPath doesn't feel right

From: Shelby Moore <shelby@coolpage.com>
Date: Mon, 16 Dec 2002 12:46:58 -0600
Message-Id: <4.1.20021216123124.01558cd0(null)>
To: Ray Whitmer <rayw@netscape.com>
Cc: www-dom@w3.org

> On Mon, 16 Dec 2002 09:25:05 -0800 Ray Whitmer wrote:
> In DOM Level 3 working drafts, there already is a new method called,
> I believe, "getInterface" which accepts a feature name. It has some issues
> to be worked out, but could be applied to what you have described.
> But in this case, it just doesn't seem at all like the pain of adding an
> obtainable from every node is worth it. The alternative we have today is
> modular, easy. Many/most implementations will not ever build a framework for
> dynamically attaching things such as XPath implementations to every node
of the tree.

But my understanding of popular OO languages is that a base class virtual
function only has to implemented in one place, and the behavior is
inherited automatically.  The extension only needs to be implemented in
(Node?) base class.  Am I missing something obvious?

More below...

>>The downside to this alternative is I guess that the extension can not be 
>>separated from DOM, for use with alternative DOM. However, my cursory 
>>understanding is that DOM already has features (getDOMImplementation()) for 
>>morphing itself. 
>Again, it is possible, but that does not mean that it is desirable to
require XPath
> implementations to jump through these hoops when passing a node as an
> argument to a more-global evaluator is so much easier, and I think is
easier for
> the user to understand, as well. If I write a convenience routine that
works with
> arbitrary XPath implementations, and the application needs it to work
with a specific
> one, I like the idea of passing an XPathEvaluator much more than passing
a feature
> name and querying each node. The application might even supply the
XPathEvaluator itself.

I just realized the two api models are NOT mutually exclusive.  The
"getInterface" can merely expose the XPathEvaluator as an OO wrapper in the
DOM node.  And per above, I think it only needs to be implemented in once
place-- the base class.

So then we get the best of both, and this api methology can be applied to
all new extensions to the DOM.

-Shelby Moore
Received on Monday, 16 December 2002 13:46:45 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 20 October 2015 10:46:10 UTC