comments/questions/suggestions/bug reports for DOM Level 2

Although it seems to be past the October 8, 1999 last call date, here are
several questions, little suggestions, and some larger issues (potentially
important) with the 23 September 1999 version of the DOM Level 2
Specification. I believe some of them are important, and I apologize that
they are not arranged in any particular order, or if they have been raised
before. (I have not looked at the W3C list archives, and have not subscribed
to this list. Perhaps someone can send me subscription information)

* NamedNodeMap.item()'s comments says: Returns the <code>index</code>th item
in the map. If <code>index</code> is greater than or equal to the number of
nodes in the map, this returns <code>null</code>. What about if index is
less than zero?

* The DocumentType has PublicID and SystemID, but Entity has PublicId and
SystemId. The naming convention isn't consistent.

* Suggestion: Add a public boolean containsNamedItem() to the NamedNodeMap
interface.

* How does one tell if an Entity is a general or parameter entity?

* There seems to be a conflict between the nodeValue of an Attribute and its
text children. Under Node, it says that the nodeValue contains the "value of
the attribute," but setting Attribute.setValue apparently "creates a
<code>Text</code> node with the unparsed contents of the string." What
happens, then, when an attribute has both a node value and text children?

* The documentation for Node.importNode talks about the data and length
"attributes" of nodes, as well as the publicID, systemID, and notationName
"attributes." Perhaps "properties" is meant? (Note this type of reference is
found throughout the DOM spec, but in a few cases it could be confusing when
actual attributes are involved.)

* The DOM CSS specification repeatedly mentions a DOMException of type
INVALID_ACCESS_ERR, but the definition of this can't be found. It's not
listed in DOMException.

* Under CSSPrimitiveValue.get/setFloatValue(), CSS_PX is mentioned twice.

* CSSValue has a set of unit types, and CSSPrimitiveValue has another set of
unit types. The former is referred to as "valueType" and the latter as
"primitiveType". This is fine, except the "valueType" of CSS_INHERIT seems
in later discussion to get mixed in as a valid value of "primitiveType." The
true value of "primitiveType" when a value is inherited is uncertain, since
CSS_INHERIT is not listed as one of the possibilities. Perhaps a separate
CSS_INHERIT should be defined for "primitiveType," and it should be listed
as an accepted value under CSSPrimitiveValue.primitiveType. Also, how can
"valueType" ever return CSS_INHERIT from this interface, if this interface
is only returned when "valueType" is set to CSS_PRIMITIVE_TYPE? (This is
where I miss the type-safe enum in C++ that aren't in Java, BTW, but that's
a different issue.)

* CSSStyleDeclaration.cssText does not have a description of parameter
cssText in the documentation.

* Under MediaList, SYNTAX_ERR is mistakenly listed as a DOMException and not
as a CSSException, as it should be.

* Why does CSSStyleDeclaration.item(), when there is no property at a
particular index, return an empty string instead of null as other similar
DOM functions do?

Sincerely,

Garret Wilson
GlobalMentor, Inc.
garret@globalmentor.com

Received on Tuesday, 23 November 1999 10:08:01 UTC