[jdom-interest] What do we want JDOM to be?

Jason Hunter jhunter at collab.net
Wed Dec 6 01:49:15 PST 2000

> Perhaps Brett and/or Jason can kick off such a discussion
> by given their view on this matter.

To be honest, I'd prefer to spend my time in the near future getting
some of the overdue TODO items crossed off, rather than engaging in a
philosophical discussion.  Yet somehow here I go answering the email

> The project initiators (Brett and Jason)
> stated that JDOM isn't
> going to encapsulate everything that can be done with XML
> API 

We never said that.  I actually expect JDOM to provide full control over
XML.  What you won't be able to do (probably) is have things like a
document implementation where Attribute objects can be internally
reused, because the cost of supporting that (removing attribute
parentage and thus either hurting XPath or requiring a more complicated
factory-dependent design) outweights the memory saving benefit.  Those
are the compromises we're willing to make.

> But, after a while people start looking for more
> >advanced features - like XPath, XSLT, etc... . Some of
> them are inside JDOM
> some aren't yet and some will never be.

XPath and XSLT are definitely things JDOM should support.  We do depend
on volunteers to help out (Bob is amazing!), so if you want something,
step up to the plate.

> For example - is JDOM going to support XPath? (I know bob
> is working on
> that) If so, what are the features that we need to add to
> the API for XPath support? 

Bob's been active on the list helping keep us abreast of what features
JDOM needs for XPath.  The most important is Attribute needs a
getParent().  That's one of those TODO items I want to cross off.

> The same question is valid for XLink, XInclude,
> XSLT and others.

XSLT definitely.  XLink and XInclude I personally haven't researched but
I'm trusting Elliotte to be the voice of XInclude.

> People will be able to find out if JDOM is right for them (or will 
> be in the future) or not - and yes, there arecases when it isn't ;-)

The JDOM FAQ addresses the JDOM Philosophy.  We wrote it quite a while
ago, but it's still right on.  The only thing confusing is what 80/20
means.  The main point there is we're willing to leave certain tasks
unsolved if the solution would overly impact the existing solutions in
an adverse way.  

It's late so let me attempt an analogy:  JDOM is to Newton's Laws as DOM
is to Einstein's Theory of Relativity.  Einstein's equations explain a
broader range of physical behaviors, but they're so darn cumbersome that
for earthbound requirements people use Newton's.  That's how I
personally see the 80/20.


More information about the jdom-interest mailing list