[jdom-interest] Element Reference from Attribute

James Strachan james at metastuff.com
Mon Nov 20 01:55:37 PST 2000


----- Original Message -----
From: "Amy Lewis" <amyzing at talsever.com>
> My job demands an enormous amount of navigability, and I'd really like
> to use something less awkward and by-committee than DOM.  In my
> context, though, the best I can manage is to mutter, "well, JDOM isn't
> any *worse* than DOM, and it might get better."  But I don't see the
> API moving that direction; Bob seems a relatively lonely voice here.
> *shrug*  Time to try something else, perhaps.

I hear the voice of the navigators ;-)

One of the most difficult things to get right in the XML framework /
interface world is that XML has so many diverse uses that keeping everyone
happy is very difficult.

I agree with many of the sentiments Jason and others have made that the core
of JDOM should be as small and efficient as possible. The standard JDOM API
org.jdom.* is pretty good attempt at a base level JDOM functionality.
Anything more complex should be done with custom builders and custom
derivations of Element, Attribute etc.

So I'd propose building a small collection of derivations of Element,
Attribute et al which support all of the complex navigations that you and
bob need in the XPath world. Then we can have a standard builder (e.g.
XPathSAXFactory) to build a tree of Element / Attribute implementations that
you need.

e.g.

package org.jdom.xpath;

import org.jdom.*;

public class XPathAttribute extends Attribute {

    // all the various extra navigation methods...
    public Element getParent() {
        ..
    }
}

Admittedly, you'd have to cast a little bit to use your new highly navigable
XPathElement / XPathAttribute objects but that would be an acceptable
trade-off wouldn't it?

J.

James Strachan
=============
email: james at metastuff.com
web: http://www.metastuff.com



If you are not the addressee of this confidential e-mail and any
attachments, please delete it and inform the sender; unauthorised
redistribution or publication is prohibited. Views expressed are those of
the author and do not necessarily represent those of Citria Limited.



More information about the jdom-interest mailing list