Lists Home |
Date Index |
Elliotte's XOM has gotten me thinking a lot about how we're processing
XML and what we plan to do with it. I'm afraid that I'm also
"underwhelmed" by XOM, but only because it's yet another tree model.
For what Elliotte's chosen to do, it's quite elegant, though I can't say
that XOM reflects what I want to do very well.
I think the most interesting piece of Elliotte's presentation is:
He divides the XML API world into Push (SAX etc.), Pull (XMLPULL etc.),
Tree-Based (DOM etc.) and Data-Binding (Castor etc.). I keep hoping
that we'll see more creative implementations of tools that blur those
My own MOE (http://moe.sourceforge.net) is an effort to blur the push
model and the tree-based model, since MOE objects can listen to the
events and build trees as desired. Perl and Python have libraries for
this as well.
Similarly, configurable pull interfaces that can moderate flows of push
events seem like a nice way to simplify access to information without
forcing programmers into as many of the traps that pull parsers seem to
create for complex decision trees. Data-binding approaches that leave
the information accessible through any of the other options seem
similarly powerful. (I believe that one's happened.)
Walter Perry talks a lot about processes deciding on their own how to
handle information. Even at the basic document interface level, I'm not
sure I'm content with the kinds of choices we have, especially in the
Java world, and I suspect that one aspect of the problem set developers
face in processing XML is that while there are ready-made toolkits, most
of those follow well-tracked paths.
I'll be focusing on MOE for the rest of this year, converting my TAM
parser to the richer set of possibilities in MOE, and focusing on
improving the documentation. I hope there are more folks out there
working on different approaches, and that maybe we can indeed find
something new (and useful) under the markup sun.
[Couldn't stay away forever, though the break was very nice.]
Simon St.Laurent - SSL is my TLA
http://simonstl.com may be my URI
http://monasticxml.org may be my ascetic URI
urn:oid:184.108.40.206.4.1.6320 is another possibility altogether