On Mar 13, 2008, at 4:53 AM, Alex Russell wrote:


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Mar 12, 2008, at 8:46 AM, liorean wrote:


On 12/03/2008, Boris Zbarsky <[EMAIL PROTECTED]> wrote:
I guess I could do the two interfaces, but I'm having a hard time seeing
different extensions being made to these two interfaces (as
opposed to wholly
new interfaces being invented, as was done here).

I can actually imagine one extension that only makes sence on elements
and not on any other nodes - element-rooted instead of
subtree-only-but-document-rooted queries. (I don't see any real
benefit from such an interface though, but I've seen the idea
mentioned on the mailing lists.)

The benefit here is the (potential) ability to root queries to containing nodes. Nearly every JavaScript library that does CSS selectors handles the equivalent of:

        node.querySelectorAll("> .thinger");

Which currently has no expression via valid CSS 3 selectors. There's no concept of a query being a descendant of a selector root node although the above use-case occurs very frequently in real-world scripts.

It seems foolish to extend the CSS 3 selectors WD to support a syntax that is simple-selector free, whereas it has use in the DOM- centric APIs.

Whether this needs to be handled via separate interfaces, I can't say (and don't care).

Maybe the best solution would be to add a :scope pseudo-element which is the target of the querySelectorAll call if not called on the document. That would allow old-school JS library semantics just by prepending ":scope ".

Regards,
Maciej


Reply via email to