Re: [ANN] Selectors API

Robin Berjon:
>   http://www.w3.org/TR/selectors-api/

Great!

I have some further comments:

  ▪ (1) “This specification introduces two methods which take a
    selector (technically a group of selectors) as argument and return
    the matched elements as result.”

    Why not just call them a group of selectors from the get go, since
    that’s the correct term?

  ▪ (1.1) The example ‘test’ function uses matchAll to select “:root”.
    This returns a StaticNodeList, but you compare it for strict
    equality with the document element.  This is always going to be
    false.

  ▪ (1.2) Maybe a sentence just before the list of conformance classes
    such as “The following conformance classes are defined by this
    document:” should be present.

  ▪ (1.3) Although it’s obviously a reasonably subjective issue, FWIW I
    say to use select and selectAll.

  ▪ (1.3) Regarding extensibility being addressed by DOM 3 Core, what
    extensibility is being envisaged exactly?  The extensibility section
    in 2.1.1 doesn’t give much.

  ▪ (1.3) I was going to mention the default namespace.  DOM 3 XPath
    says of the XPathNSResolver: “The XPath evaluator must never call
    this with a null or empty argument, because the result of doing this
    is undefined.”  I don’t think this would be incompatible with
    Selectors API defining what happens with null is passed as the
    argument (i.e., to return the default namespace’s URI if one is
    desired) in the context of the DocumentSelect methods.

  ▪ (2.1) I think the term “document order” is sufficiently known that
    it’s unnecessary to say that it uses a “depth-first pre-order
    traversal”.

  ▪ (2.1) Having matchAll return null if no nodes matched, instead of an
    empty NodeList, is somewhat inconsistent with other DOM methods that
    return NodeLists, such as Document.getElementsByTagName.

  ▪ (2.1) Should mentioning that an ECMAScript Function can be passed as
    the namespace resolver be in a separate bindings section?  Perhaps
    this can defer to Bindings For DOM if that is completed in time.
    Either way, the “MUST do this thing (or MAY do this other thing)”
    feels strange.  Maybe omitting the MAY would help.

  ▪ (2.1.1) “Authors may use extension mechanisms specific to the host
    language, like .prototype in ECMAScript.”  I don’t know what kind of
    extensibility this is meant to be referring to.  Assigning to
    myNSResolver.prototype.lookupNamespaceURI for some reason?

Thanks,

Cameron

-- 
Cameron McCormack, http://mcc.id.au/
 xmpp:heycam@jabber.org  ▪  ICQ 26955922  ▪  MSN cam@mcc.id.au

Received on Wednesday, 7 June 2006 23:12:49 UTC