[jdom-interest] streaming document output
Patrick Dowler
patrick.dowler at nrc-cnrc.gc.ca
Thu Apr 11 10:29:55 PDT 2013
We have a few web services that send XML documents in the response. The
documents can be large and when they are there is always one spot where
there is an arbitrarily long list of child elements.
With jdom1 we had implemented a subclass of Element for the element with
the long list of child elements and then had the iterator over that list
dynamically generate the children. Since the XMLOutputter used indexed
access rather than the iterator, we also had to subclass it and override
the list access. That works fine at the time.
No we are porting to jdom2 and I see that the outputter still uses
indexed access; that is a shame given all the comments in the code about
how the iterator is generally better than having to call size() on the
lists. It would be really nice and enable people to implement
customisations if jdom2 used the iterators rather than the indexing
throughout the codebase. Is that a lot of work?
The further problem we have right now is that XMLOutputter is final so
we can't trivially port our jdom1 code. Is implementing a custom
XMLOutputProcessor the right place to do that? The change we'd be making
is to change it to use iterators... is that something that should go
into the core library?
For XMLOutputProcessor, I am looking specifically at these methods:
process(Writer,Format,Element)
process(Writer,Format,List)
Is that the place to change to iterators?
--
Patrick Dowler
Canadian Astronomy Data Centre
National Research Council Canada
5071 West Saanich Road
Victoria, BC V9A 2L9
250-363-0044 (office) 250-363-0045 (fax)
More information about the jdom-interest
mailing list