Lists Home |
Date Index |
On Mon, Dec 17, 2001 at 05:41:39PM -0500, John Cowan wrote:
| Clark C . Evans wrote:
| > You are proposing a hierarchical iterator (just as SAX is
| > a hierarchical visitor). I would keep the iterator
| > "flat" and go over a single list of children.
| My basic objection to this style is that if the XML
| document is arbitrarily deeply nested, your code has to
| be too: elements within elements are represented in the
| code as loops within loops.
True. However, most of the time code that processes
XML takes this shape anyway (and I usually use nested
functions instead of nested loops... keeps the functions
small). The advantage of this design is that it
better supports this type of modulization.
| Alternatively, you have to use an explicit stack to
| keep track of the current Iterator object.
Right. And I say, this is what the program stack
is for... *smile*
The real "downside" of the proposal is that it
complicates the XML data sources. However, these
are rather re-useable. BTW, a converter from
SAX to this interface will require a thread in
Java... unless you can pull some magic out of
your hat that I'm unaware of. Really, most XML
parsers should be written to natively support
this interface instead of SAX. It's trivial to
go from this interface to SAX (all you need is
a while loop).
| I just snarfed the YAML spec today and look forward to
| reading it.
Thanks! It got updated around noon today. There are
a few small changes to be made, but this is mostly
in our "namespace" mechanism. (see the earlier post
on XML-DEV). We are going to a URI mechanism to allow
for better SOAP <-> YAML conversions.
Feedback on the spec would be helpful... implementations
are in the works; but don't expect them for a while yet.
Clark C. Evans Axista, Inc.
XCOLLA Collaborative Project Management Software