XML'ized .SPEC files
RPM-4.1 and following contain 'hooks' for transintioning in XML'ized
.SPEC files. While many 'fads' in computing come and go, XML is one
which goes right to the heart of how one 'does it right' to separate
presentation code, from the underlying data. A well-implemented
XML DTD layer will isolate into a well-defined schema, all germaine data
for an object. (buzzwords: XML = eXtended markup Langauge, DTD = Data
Type Definition)
Wow -- that even sounds hard. For a formal and yet approachable
look at XML, please consider here (in new window) at the Stanford SLAC
site. Quoting from the top: "XML includes the concept of a DTD, a file
which defines a set of tags for a particular problem domain, as well as
rules for how tags can be nested and what attributes each tag allows."
RPM is not alone in this lightweight approach to slotting data into
a well-structured form -- The Gnome glade
rapid prototyping tool produces in a mixed graphical / property inspector
model, 'p-code' objects in an XML structure. GCC has an XML
documentation extractor here.
One benefit for going through the pain of (1) getting the DTD correct, and
(2) transitioning legacy data, and (3) prodoucing new data into an XML'ized
format, is that computer assisted pre-, during, and post- processing of the
data at the input, processing, and output presentation phases of actually
using the data, become possible with well-formed tools. Productivity and
accuracy gains are an almost immediate payback.
Tools assist to ease the transition from prior, proprietary, or legacy
formats into an XML model. The
Introspector project is one example.
And unlike some intiatives, real world results exist for proving the
concept.
- The Glade rapid prototyping environment (which emits C, C++, perl,
eiffel, or Ada 95 source code)
which will compile and run in either a *nix X display, or a proprietary Mac
or Windows desktop, using the GTK) has a very low learning curve.
- The Dia
drafting tool project uses XML for its data store on objects to
be rendered.