[RFC] SRS Section 1

Kevin P. Fleming kpfleming at linuxfromscratch.org
Tue Feb 1 17:18:39 PST 2005

Jeremy Huntwork wrote:

> A profile could just be a list of shell commands copied from the book 
> and pasted into a text file. XML is useful because it organizes the data 
> into discrete chunks, allowing us to define more clearly what we want to 
> do with it.  It also allows us to do more with the commands than just 
> execute them if we so desire.  XML is just a very good way of arranging 
> and describing our data and commands.  Very useful in this case. 

Jeremy hinted at the value of the XML profiles: they allow you to 
provide attributes, ancillary information and semantic interpretation 
data about the commands.

For example, many people would like to see the tool be able to build a 
dependency graph and control the profile execution based on that. A 
simple list of commands will never have that ability, at least not in a 
maintainable fashion.

While other formats can also provide this, XML also has already-existing 
tools for validating that a document conforms to a given design, which 
is very valuable in a tool like this. Yes, XML is harder to edit by 
hand, and more verbose and other formats. Each of us needs to decide 
whether the additional effort required to edit/maintain the profile is 
more or less valuable than the time savings generated when the profile 
is run (many, many times over).

For that matter, I have long envisioned that the protocol between the 
client and the server would _also_ be XML (and previous discussions 
headed in that direction as well); there's no particular reason not to 
do so (there is not a large amount of communication, so bandwidth 
consumption is not a concern), and it falls right into XML's primary 
purpose: descriptive data communication. If you build your own protocol, 
you have to deal with parsing/validation, versioning, serialization and 
deserialization of data elements, etc. (and that's assuming you use a 
text-based protocol... if you use a binary protocol, you also get to 
deal with endianness, word length, etc.)

More information about the alfs-discuss mailing list