RE: DOM L2 comments, various

> What exactly does your proposed extension do that
> you couldn't define an XML namespace to do?

Backward compatibility with a non-standard, but very common syntax.

I wrote something similar to the following in a previous message, but I
haven't seen it show up, so I guess it must not have made to the list

This has been a very long conversation about a simple question:

Are implementors allowed to extend the NodeType and Exception lists?

If the answer is yes, the spec should be revised with instructions as to how
the lists are extended while maintaining some degree of forward
compatibility. If the answer is no, then the spec should explicitly state
that extension is not allowed, and if conformance tests are developed in the
future, they should explicitly test for compliance (although this would be
extremely time consuming to do correctly). Regardless of the answer, the
spec should be revised to remove ambiguity.

Personally, I believe that the DOM should concentrate on functionality and
interoperability, rather than on restricting implementations. A primary
concern for a standard API should be compliance and interoperability, but
not at the expense of innovation. By closing the NodeType list, the DOM API
makes extensions available only to typed languages. (In Java, I can cast my
Element object to a SuperElement when I need to, but I can't access the
functionality of SuperElement from ECMAScript because I have no way to
determine that a node is a SuperElement).

> I just don't see from what you wrote why you want to
> do what you describe, since as far as I can tell,
> XML already appears to define what you want as
> a basic feature.

The XML specs do not address backward compatibility with the billions of
pages that currently exist (HTML, ASP, DTD, etc.).  One way to deal with
this issue is through extending the NodeType list.  There are very likely
other valid solutions.

But the real issue here is the ability of implementors to extend the DOM.
The ASP "tag" is an example where backward compatibility may be enhanced by
extending DOM. Other examples may include a distributed DOM or a persistent
DOM, or a biological DOM. So again, the real question is: Are implementors
allowed to extend the NodeType and Exception lists.

Jeff Mackay
Vtopia, Inc.

Received on Tuesday, 5 October 1999 02:08:07 UTC