[jdom-interest] what is JDOM?

Joseph Bowbeer jozart at csi.com
Sat Nov 4 01:23:14 PST 2000

Now might be a good time to restate the main goals of JDOM.  They've
gotten a little fuzzy in my mind.

What is JDOM?

To motivate the discussion, I present my current thoughts below, fuzzy
as they are.

In my view, JDOM is a Java-centric DOM.  That is, it is a Java-based
replacement for DOM that is at least 80% as functional, more efficient,
and much easier to learn and use.

It should also provide some features that DOM doesn't, such as
interoperability with XSLT and SAX.  (What else?)

JDOM does not compete with SAX.  In fact, I'd be happy if it embraced
SAX a little closer -- even to the point that SAX2 were a requirement.
(I sometimes view JDOM as the addition of Element and Document classes
to SAX.)

The fuzziest area, I think, is how JDOM is supposed to play in the "data
binding" space inhabited by DXML, Quick, Relax and, eventually, Project
Adelard (JSR-031).

I don't see JDOM as a big player in this space.

In my view, JDOM should be designed to faithfully represent the XML
document (both as an end in itself, and as an intermediate
representation between XML documents and Java data), but JDOM should not
go out of its way to support arbitrary data binding itself.

To fully support data binding, I believe, JDOM would need a complete set
of interfaces for alternate implementations, carefully crafted template
classes for custom extensions, and factories.

When people ask about how to override methods in Element or how to
create their own SAXBuilder, I wonder if they're working with the wrong

But what's the real answer?

Joe Bowbeer

More information about the jdom-interest mailing list