Why XT doesn't use the DOM

Subject: Why XT doesn't use the DOM
From: James Clark <jjc@xxxxxxxxxx>
Date: Wed, 23 Dec 1998 09:29:58 +0700
Tyler Baker wrote:

> > Koala also takes a DOM tree as input.
> >
> > Unluckily Clark's XT doesn't (or at least it didn't last time I checked).
> 
> I guess you will have to ask him why, but my best guess is that namespaces
> really invalidates use of the DOM since the latest DOM spec is not namespace
> aware and building a DOM tree using namespaces is a painful job.

Lack of namespace support is one important reason.  Others are:

- the DOM supports modifying the source tree; I don't need this for XSL
and it adds a lot of overhead

- I need to know the source line and URL for any node in order to be
able to report errors in the stylesheet

- I need a compareTo operation that compares the position of two nodes
in document order (for implementing | in select patterns)

- it's convenient to deal with whitespace stripping as part of the tree
building process

- XSL needs to see the document tree with entities expanded

- I don't like the design of the DOM

It would probably be relatively straightforward to implement my Node
interface as a layer on top of the DOM Node interface.  However I think
SAX is probably a better mechanism for allowing the use of other parsers
with XT, and I plan to support SAX both for source and result in a
future release. (The only problem I can see is the lack of support for
comments.)

James



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread