[
Lists Home |
Date Index |
Thread Index
]
On May 17, 2004, at 10:20 AM, Roger L. Costello wrote:
>
> 1. How you structure your information in XML has a tremendous impact
> on the processing of the information.
>
> 2. Hierarchy makes processing information hard! There exists a
> relationship between hierarchy of information and the complexity of
> code to process the information. The relationship is roughly: the
> greater the hierarchy, the greater the complexity of code to process
> the information (Some hierarchy is good, of course. But the amount
> of hierarchy that is good is probably much less than one might
> imagine, certainly less than I thought, as described above.)
>
> 3. Flat data is good data! Flatten out the hierarchy of your data.
> It makes the information flexible and easier to process.
>
> 4. Order hurts! Requiring a strict order of the information makes for
> a brittle design. It is only when I allowed the lots and pickers to
> occur in any order that the flexibility and simplicity kicked in.
>
> Comments? /Roger
I'm wondering if you haven't rediscovered the relational model? (Or at
least you've discovered the importance of "normalization" in the
relational sense even in the XML context). But why bother with XML at
all (except maybe as a data interchange format) here? Wouldn't a
relational reporting tool be much easier than XSLT with this data
structure?
C.J. Date gave a speech recently
http://searchdatabase.techtarget.com/originalContent/
0,289142,sid13_gci962948,00.html complaining that XML is trying to take
over the world. Maybe he has a point :-) I certainly don't agree with
all he's saying, but if you are modeling data rather than exchanging
documents, I would think that the relational model would be the
starting point until you run into its walls.
Clearly if flexibility is paramount, order and hierarchy are a pain,
and there's not much gain *if* you have unique identies for everything
and the identity is all you need to know to figure out what to do with
the information.
On the other hand, if *context* is important, i.e. the intepretation /
semantics / meaning / processing paradigm of some bit of information
depends more on where it stands in relation to other information, then
order and hierarchy are critical. That's where the XML "data model"
(by which I mean "fairly deeply hierarchical labelled trees in which
order is preserved", not the InfoSet per se) comes into its own.
|