- From: Lachlan Hunt <lachlan.hunt@lachy.id.au>
- Date: Wed, 17 May 2006 23:19:46 +1000
- To: Anne van Kesteren <annevk@opera.com>
- CC: liorean <liorean@gmail.com>, "Web APIs WG (public)" <public-webapi@w3.org>
Anne van Kesteren wrote: > On Wed, 17 May 2006 06:29:54 +0200, liorean <liorean@gmail.com> wrote: >>> * Several people have raised issues with naming the methods match and >>> matchAll as those might suggest a boolean return value. Alternate >>> suggestions >>> have been select and selectAll. >> >> For ECMAScript, I think "match" is a fine choice of verb and is >> consistent. For the closest comparison, regex 'match' isn't boolean. > > Sure, I like match() as well. Mostly because it's short and simple, but > there were some concerns raised. I like match() too because it's much shorter than getElementsBySelector(), but I think the fact that it only returns a single node is confusing and that, in most cases, authors would want the whole collection, not just the first match. I think it would be better if the methods were: interface DocumentSelector { StaticNodeList match(in DOMString selectors, in XPathNSResolver nsresolver); Node matchOne(in DOMString selectors, in XPathNSResolver nsresolver); }; Or possibly matchFirst() instead. >> <doc> >> /.../ >> <elm1> >> <elm2 xml:id="bleh"> >> <elm3/> >> <elm3/> >> <elm2> >> </elm1> >> /.../ >> </doc> >> >> var >> selectorMatches=document.getElementById('bleh').matchAll(':root >> elm3',resolver); What's wrong with using: var selectorMatches = document.matchAll('#bleh elm3', resolver); There may still be use cases for matching a sub tree, so it may be worth extending the Element interface too, but all the ones I can think of can be handled by simply writing a more specific selector. -- Lachlan Hunt http://lachy.id.au/
Received on Wednesday, 17 May 2006 13:20:12 UTC