>I wasn't worried so much about the total depth and element vs.
>atttribute as the reason for the parallel branching of
><SurveyTeam> vs. <Instrument> instead of simply (?) a deeper/fatter
><Instrument> structure.
Aahh, with this I think you have hit upon just the reason that I did use
such a model. I like to build modular data structures. I like putting
things into compartments that helps keep them seperated from each other.
That means I like putting people into people collections and instruments
into instrucment collections.
I seem to recall someone on this list had an issue with the location of
data in one substructure that was related to data in another sub
strucutre.
I didn't agree with that at the time, and still don't, but hadn't voiced
my opinion till now. It is in fact a very useful practice to organize
data into seperate substructures, even at different levels, and then use
cross references to associate the two. This creates a more stable
hierarchical structure, one that is not too wide, nor too deep. But
instead is roughly as wide as it is deep. You see these kinds of
constructs in UNIX (file links), web sites (hyperlinks), even
distributed software (remote procedure calls, etc).
I really like to specifiy data values that are common to a bunch of
things in the collection at a higher level of the structure (yes, a
global level) and then override those values at a lower level on an as
needed basis.
Regarding this, one thing that has perplexed me with the XML constructs
bandied about on the group these last few weeks is this: I often see
constructs similar to -
<shot fromstation="A1" azimuth="90" compass="Suunto" person="Paul"/>.
Now imagine a whole bunch of shots, like this...
<shot fromstation="A1" azimuth="90" compass="Suunto" person="Paul"/>
<shot fromstation="A2" azimuth="95" compass="Suunto" person="Paul"/>
<shot fromstation="A3" azimuth="94" compass="Suunto" person="Paul"/>
<shot fromstation="A4" azimuth="93" compass="Suunto" person="Paul"/>
Just how many flippin' times do I have to record the compass and the
person in my XML file? I'm not saying these attributes should not exist
at the shot (or lower) level. I just don't think they should be used by
default. If a set of data share a common value throught most of it's
instances, then a more efficient solution is to specify that common
value at the beginning of the data set and have done with it. If you do
encounter an instance where the "global" value does not apply then you
can override it at the local level. N'est pas?
DSK
-- Devin Kouts Caver Systems Engineer www.psc-cavers.org
This archive was generated by hypermail 2b30 : Mon Apr 02 2001 - 18:00:00 CEST