|28 earlier messages|
|Maciej Stachowiak||Mar 22, 2006 11:16 am|
|Maciej Stachowiak||Mar 22, 2006 11:22 am|
|Maciej Stachowiak||Mar 22, 2006 11:25 am|
|Robin Berjon||Mar 22, 2006 2:01 pm|
|Maciej Stachowiak||Mar 22, 2006 2:28 pm|
|Ian Hickson||Mar 22, 2006 2:48 pm|
|Ian Hickson||Mar 22, 2006 2:51 pm|
|Maciej Stachowiak||Mar 22, 2006 3:20 pm|
|Jim Ley||Mar 22, 2006 6:17 pm|
|Jim Ley||Mar 22, 2006 6:24 pm|
|Anne van Kesteren||Mar 23, 2006 4:28 am|
|Ian Hickson||Mar 23, 2006 2:31 pm|
|Anne van Kesteren||Mar 25, 2006 4:36 am|
|Ian Hickson||Mar 27, 2006 3:13 pm|
|Anne van Kesteren||Apr 3, 2006 5:46 am|
|Anne van Kesteren||Apr 3, 2006 5:51 am|
|liorean||May 12, 2006 8:49 pm|
|Anne van Kesteren||May 13, 2006 4:15 am|
|liorean||May 13, 2006 12:08 pm|
|Anne van Kesteren||May 13, 2006 12:26 pm|
|liorean||May 13, 2006 2:40 pm|
|Anne van Kesteren||May 14, 2006 7:20 am|
|liorean||May 14, 2006 4:22 pm|
|Anne van Kesteren||May 15, 2006 3:15 am|
|liorean||May 16, 2006 9:29 pm|
|Anne van Kesteren||May 17, 2006 5:18 am|
|Lachlan Hunt||May 17, 2006 6:19 am|
|Anne van Kesteren||May 17, 2006 6:30 am|
|Jim Ley||May 17, 2006 6:35 am|
|Lachlan Hunt||May 17, 2006 7:02 am|
|Robin Berjon||May 17, 2006 7:07 am|
|Anne van Kesteren||May 18, 2006 12:46 am|
|Jonas Sicking||May 30, 2006 3:11 pm|
|Jonas Sicking||May 30, 2006 3:24 pm|
|Jonas Sicking||May 30, 2006 3:42 pm|
|Ian Hickson||May 30, 2006 3:55 pm|
|Robin Berjon||May 30, 2006 4:15 pm|
|Jonas Sicking||May 30, 2006 5:56 pm|
|Anne van Kesteren||Jun 5, 2006 2:46 am|
|Anne van Kesteren||Jun 5, 2006 2:49 am|
|Jonas Sicking||Jun 5, 2006 12:31 pm|
|Charles McCathieNevile||Jun 5, 2006 5:37 pm|
|liorean||Jun 5, 2006 6:16 pm|
|Maciej Stachowiak||Jun 5, 2006 10:40 pm|
|Subject:||Re: ACTION-87: Selectors API|
|Date:||May 16, 2006 9:29:54 pm|
Some comments on the outstanding issues:
1.3 Outstanding Issues This section is non-normative.
The draft has several outstanding issues that either need to be addressed in one way or another at some point:
* 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. Regex 'match' returns an array of the matched data - data which may be either detail about a single match OR a list of all full matches depending on whether the regex has a global flag. Regex uses the verb 'test' for the boolean matching.
* There was at least one request for scoped selectors. For example, being
able to do event.target.match() or in other words allowing the methods on Element nodes. Given that Selectors itself has no notion of scoped selectors this might be difficult to define and is perhaps better delayed until the CSS WG has defined scoped selectors.
I think there's some confusion here about what is requested and what you think is requested. What I personally mean when I want to have a way to ask for all nodes in a NodeList that matches a selector or all nodes in an element's subtree that matches a selector doesn't effect the scope of the selectors. For example:
<doc> /.../ <elm1> <elm2 xml:id="bleh"> <elm3/> <elm3/> <elm2> </elm1> /.../ </doc>
var selectorMatches=document.getElementById('bleh').matchAll(':root elm3',resolver);
This selectorMatches variable would be StaticNodeList of both nodes in the subtree below #bleh that match the selector. It would not at all affect the scoping of the selector (':root' still matches the 'doc' element, for example). It would only affect a single thing: it would ask for matches in a subtree of the document instead of all matches in the entire document tree.
* It would be nice if extensibility was addressed by DOM Level 3 Core or a
separate specification that all DOM specifications could reuse.
* Need to look into XPathNSResolver and the default namespace.
* If DOM Level 3 Core gets errata we might be able to get away with not
having a new interface at all for NodeList (StaticNodeList), but just say that the object implementing the NodeList interface is not live.
At least one issue more that I think should be added:
Currently you can ask "gimme all matches in the document against this selector" but you can't ask "I've got this element handle (from event.target or whereever). Does this very element match this selector?". Even if you did add 'match' and 'matchAll' on the Element interface, those don't make it any easier to get an answer to that question. So, some type of equivalent to regex.test(string) would be immensely useful.
(It can also be noted that this is the only functionality really needed. Traversal is already in the DOM1, so that is not the problem. What is missing is the functionality of asking for if an element matches a selector.) -- David "liorean" Andersson <uri:http://liorean.web-graphics.com/>