Java Mailing List Archive

http://www.junlu.com/

Home » Home (12/2007) » JDOM User »

[jdom-interest] making XMLOutputter DTD-aware

Paul Libbrecht

2005-07-26



hello list,

I gave some cycles into making XMLOutputter DTD-aware.
The reason for doing so is that we write XML-files with a dtd-reference
with a large set of hidden information encoded in the DTD such as
namespace for almost all elements. Most of these are attribute default
values.
Only using such an outputter I can claim that our authors' files are
not changed too dramatically. Otherwise, each line is made twice as big
and completely unreadable.

Clearly using a finer-grained parsing (that would report wether an
attribute is present or only "implied") would bring it all... but such
fine-grained lexical analysis isn't available as far as I know.

So I just adapted XMLOutputter to prevent the output of attributes of
namespaces if equivalent to the DTD-specified values... seems to be
working fine.

I'd love providing this to the project. It is relying on Mark Wutka's
DTD parser, now with an Apache-style-license, which is the only usable
DTD-parser I found.
Where could I drop such a submission ?

Also I would have wished to subclass XMLOutputter but this turned out
to be impossible... there are too many private methods that needed to
be either re-used or overridden... not sure if that's solvable.
Currently, I just added "setDtd" and modified XMLOuputter's methods
directly.

paul

_______________________________________________
To control your jdom-interest membership:
http://www.jdom.org/mailman/options/jdom-interest/youraddr@(protected)
©2008 junlu.com - Jax Systems, LLC, U.S.A.