- From: Robin Berjon <robin@berjon.com>
- Date: Thu, 24 Nov 2011 14:49:05 +0100
- To: Jonas Sicking <jonas@sicking.cc>
- Cc: public-webapps WG <public-webapps@w3.org>
On Nov 23, 2011, at 17:45 , Jonas Sicking wrote:
> On Wednesday, November 23, 2011, Robin Berjon <robin@berjon.com> wrote:
> > I would be thinking about something along the lines of (untested, off the top of my head):
> >
> > Node.prototype.queryXPath = function (xpath) {
> > var snap = this.ownerDocument
> > .evaluate(xpath,
> > this,
> > function () { return "http://www.w3.org/1999/xhtml"; },
> > XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
> > null);
> > var ret = [];
> > for (var i = 0; i < snap.snapshotLength; i++) ret.push(snap.snapshotItem(i));
> > return ret;
> > };
> >
> > Which hardly strikes me as a terribly complex addition.
>
> I like this approach. Though I would make the type ANY and return whatever type the expression produced.
I agree that in general ANY_TYPE is desirable so that we can get non-node results, the problem is that for node sets it defaults (for reasons that defy any understanding that I have) to UNORDERED_NODE_ITERATOR_TYPE — when we clearly want something ordered and a snapshot. But specifying around that is not a big deal.
So, now for the money question: should we charter this?
--
Robin Berjon - http://berjon.com/ - @robinberjon
Received on Thursday, 24 November 2011 13:49:38 UTC