Rationale
One of the main tenets of the philosophy of the UNIX operating system is that it is more effective to write small, simple programs that do specific tasks very well, as opposed to having one integrated program that does it all. Users compose these small programs at the command line, by way of a pipeline, to perform more complex computations. These simple programs have typically focussed on processing flat text files. Often, programs generate output that was destined to be displayed to the user and as such, the data is formatted for display. This necessitates the use of text processing programs to filter out irrelevant information and to select the appropriate data. However, this imposes an unwanted dependency on the formatting of the original output. It is clear that a separation of form and content must be made.
This project explores the idea of using structured data for the input and output of some standard UNIX utilities. In particular, versions of these programs that parse XML input and generate an XML document as their output have been created. An environment in which to execute these programs and format their output for display was also developed.