More L3 Core Comments

Interface DOMStringList:

"ordered collection of parallel pairs of name and namespace values"

This phrase also appears in the description for NameList.

Interface NameList:

"ordered collection... values"

Maybe "ordered collection of qualified names"

The description for the return values of getName and getNamespaceURI are 
identical, though from the context you could guess that one is a name 
and the other a NamespaceURI.

getName does not define whether the return value is a local name or 
might contain a namespace prefix.  I'd would assume that local name 
would be preferrable.  Changing the name to getLocalName() would be 
clearer and consistent with XPath.

Exception clauses of getName() and getNamespaceURI() contain "number of 
nodes in the list" though the list does not contain nodes.  The expected 
behavior for negative indexes is not defined.  Throwing an exception on 
out of range indexes is not consistent with DOMStringList and other 
lists.   I can understand the motivation since getNamespaceURI() could 
be null before the end of the list, however you could distinguish 
between a null namespace and end of the list since getName would be null 
at the end of the list.

Interface DOMImplementationSource:

I dislike the form of this interface for a couple of reasons:  it 
requires that each implementation source to parse the features list 
which could have been done once for all implementation sources and it 
enables the implementation source to return inconsistent first 
implementation sources.  I'd suggest something like

interface DOMImplementationSource {
    DOMImplementation getDOMImplementation(DOMStringList features, 
DOMStringList versions, unsigned int index);
}

I believe that eliminates any use of DOMImplementationList so that 
interface could be eliminated.

Received on Thursday, 17 July 2003 01:09:34 UTC