OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] JDOM vs. JAXP/Xerces for XML document creation

[ Lists Home | Date Index | Thread Index ]

At 3:57 PM -0400 7/16/02, Philippe Le Hegaret wrote:

>Was it due to differences in interpretation of the specifications, bugs
>in the implementations, or differences between your interpretation and
>the implementation interpretation?

Yes. :-)

Oh, and you left a couple out, specifically: areas in which the 
behavior of the standard interfaces is underspecified, and 
functionality which has been deliberately omitted from DOM.

>As Mike suggested, this seems to be more an design pattern problem than
>a XML/DOM specific ones. Why interfaces would be a bad thing for DOM and
>not SAX for example?

Because SAX is a read-only API. That proves to be a crucial difference.

>It is true that extending the DOM requires to be
>implementation specific - most of the DOM implementations are using
>internal attributes/methods when manipulating the DOM nodes - but still
>being able to manipulate the extension as a transparent DOM Node is

Yes, but as I intend to prove, that benefit can be fully achieved 
without interfaces, and without resorting to non-portable, internal 
knowledge of the implementation.

>The DOM WG is always willing to listen if you want to share your ideas
>regarding XML APIs. We recently stopped working on Abstract Schemas
>after feedback, some (most?) of them came from this mailing list in
>fact. Stopping a draft after 2 years of work is not an easy decision but
>is still possible. However, I do believe than restarting from scratch
>the DOM API with the same set of requirements would produce the same
>result, and only a reduction of those requirements would help
>simplifying the DOM API. Parts of the complexity of the DOM API is the
>complexity of XML itself and the read/write aspects.

Perhaps the base problem is that the DOM requirements were too broad. 
Very few of us actually need to have single programs that manipulate 
HTML in JavaScript, XML in C++, and other applications in still other 
languages. I am certainly not trying to do everything DOM claims, but 
by doing less I think I can do better in the niche I'm attacking (XML 
+ Java). DOM is the Edsel of APIs. It tried to be a Corvette and a 
station wagon at the same time, and instead of being everything to 
everyone, it became nothing for nobody.

>>  I also plan to release what I suspect will be the first genuinely
>>  correct tree-based API for XML processing in Java.
>I don't think that anyone can pretend to have _The XML API for
>processing XML_ whether it is DOM, JDOM, ElectricXML, or dom4j.

I'm not going to claim to be the only XML API. This isn't the first 
and it won't be the last. But am I willing to argue that all existing 
tree-based APIs for Java are deeply flawed. And unless someone 
surprises me in the next couple of months, I think I'm going to 
produce the first such API that correctly models XML. (Note that I do 
not feel the same way about non-tree APIs. In particular I think SAX 
is correct, aside from a few minor issues on the fringes. I suspect 
XNI is equally correct, perhaps more so, though I haven't yet looked 
at it closely.)

>  DOM is
>probably the API which the largest number of requirements and that does
>not always play in its favor.

Certainly, but perhaps instead of using that as an excuse for DOM, we 
should consider whether that's a proof that the DOM requirements were 
too broad, and smaller, more focused APIs may be more appropriate.

>   SAX1 is (and will continue to be) probably
>the most successful API for XML. However, in order to share ideas and
>opinions, I might be able to stop by NYC if necessary, it is not so far
>from Cambridge (MA) anyway.

Happy to see you. If you can't make it to New York, I'll be in Boston 
for SD in November, where I'll be leading a BOF on this.

| Elliotte Rusty Harold | elharo@metalab.unc.edu | Writer/Programmer |
|          XML in a  Nutshell, 2nd Edition (O'Reilly, 2002)          |
|              http://www.cafeconleche.org/books/xian2/              |
|  http://www.amazon.com/exec/obidos/ISBN%3D0596002920/cafeaulaitA/  |
|  Read Cafe au Lait for Java News:  http://www.cafeaulait.org/      |
|  Read Cafe con Leche for XML News: http://www.cafeconleche.org/    |


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS