[XML-SIG] XML/python approach to "smooshing docs together"?
Will Partain
partain@dcs.gla.ac.uk
Sat, 11 Nov 2000 16:33:48 +0000
Folks, here's a puzzler of the "I'm sure someone's figured
this out" type... Seeking pointers, ideas, direction, ...
The context is the Arusha Project
(http://ark.sourceforge.net/), which is trying to crack the
problem of collaborative Unix system administration. We're
also gunning for a *universal* framework for expressing
system configurations, i.e. you might use it for hosts,
packages, users, web sites, vendor interactions, etc. It
also needs to be comparatively *simple*.
A metaphor I'm thinking about is overlapping transparencies.
Imagine that I draw three tree-like diagrams (yes, XML docs
:-) to describe hosts:
#1 Shows the distinctive things about my Sun 'slicker',
e.g. its name and IP address:
<host>
<name>slicker</name>
<ip-address>221.170.160.25</ip-address>
</host>
#2 Shows the general stuff about how I plan to set up all
of the Suns at my site; e.g.:
<host>
<filesystem>
<mount-point>/</mount-point>
<size>84MB</size>
</filesystem>
<filesystem>
<mount-point>/usr/local</mount-point>
<size>128MB</size>
</filesystem>
</host>
#3 Shows stuff that is probably true of all Suns everywhere:
<host>
<programs>
<pgm name="DIFF" path="/usr/bin/diff" />
<pgm name="MAKE" path="/usr/ccs/bin/make" />
</programs>
</host>
Now, what if I line these three documents up at <host> and
shine a light through them -- what do I see? I would hope
that, all together, they tell me *everything* there is to
know about my machine 'slicker'.
How might you define, precisely, such a "smooshing together"
system?
* How do you "line up" the transparencies so you can look at
them?
* Say you have 10 transparencies... in what order do you do
the pair-wise "smooshing"?
* Various rules for "top-layer wins", "bottom-layer wins",
"layers combined into a list", etc.
* Some sort of "type system" that helps to say whether the
overall "smoosh" makes sense. ???
I can imagine something similar prevails in a document
world. Imagine a "general info about something" document
and a "site-local info about the same something" document;
how do those get "smooshed together"? It seems like there
is a useful general problem to be solved...
All ideas gratefully received... And if any of you
Python/XML gurus want to hang out on our ark-dev mailing
list and keep us straight on these kinds of these, I would
be *most pleased*.
Will