Lists Home |
Date Index |
You can swap event handlers. So each class is a handler and deals with whatever elements/attributes/data that are in the class's subtree. When the class sees the end of it's subtree it swaps back in the parent handler.
I believe that you can also get away from doing it this way by just using JAXB 2.0. There are examples all over the place these days. Sun just sent out an "Enterprise Java Technologies Tech Tip" discussing JAXB 2.0.
-- Mark C. Allman
-- Allman Professional Consulting, Inc.
-- www.allmanpc.com, 617-947-4263
BusinessMsg -- the secure, managed, 100% J2EE/AJAX Enterprise IM/IC solution.
Each class then has handlers for it's specific elements.
On Sun, 2006-01-29 at 12:47 +0100, email@example.com wrote:
I have a software project holding its configuration data in an XML
structured file. Currently I'm using DOM to load this configuration data and
then kick off (instantiate) the relevant Java objects by providing the
relevant DOM subtree to their constructor. Within each management object,
this hierarchical evaluation of the configuration data is repeated as deep
as necessary. For the example (see below), the "Evaluation" management
receives the subtree below the <Evaluation>-node and provides DOM subtrees
to the "Plot_2D" and "Plot_3D" management objects when instantiating them.
When using the DOM concept, I like that each management object (General,
Evaluation, Plot_2D, Plot_3D...) is responsible for parsing its own section
of the configuration file. This reflects the OO software approach of putting
the code to the data and simplifies code maintenance.
Now, due the problem of determining line numbers in DOM, I'm considering
using a SAX parser. But when reading the SAX tutorials, I'm horrified. All
examples show one centralized event handler, which knows about all keywords
and dispatches the values to the JAVA objects.
This is against all OO approaches and requires changes in a central module
each time a subsection of the configuration data is made. Now my question:
Is this the intended way of using SAX? Or is there a way of forwarding the
SAX-events to sub-eventhandlers located in the management objects, which I
didn't find yet?
With kind regards
This is a digitally signed message part