System requirements

xml-lit is written in C, so obviously an ANSI-compliant C compiler is needed to build it from source. The aforementioned Expat XML parser library is of course required as well to use it.

To use Donald Knuth's terminology [KNUT83] xml-lit is only a tangler, i.e. it extracts and assembles the program fragments from your literate program. In order to weave a literate program, i.e. produce printable documentation that describes your program, you need a working system capable of producing DocBook documents in XML mode (obviously DocBook SGML is not going to work). What I use are Norman Walsh's DocBook XSL stylesheets, and an XSLT processor like Michael Kay's Saxon, and the Apache Project's FOP for producing PDF documentation from XSL formatting objects. You can also use the DSSSL stylesheets and a DSSSL processor like Jade to do the weaving. How to get these programs properly installed and set up on your system is beyond the scope of this document, which is really only supposed to describe what xml-lit does and how it works.

This program has only been tested under Linux, but since it is pure ANSI C, there should be no problems building it under any platform where Expat can be built, which is ANSI C as well. I suspect that it can easily be built and should should work fine on Windows or even stranger platforms that have a fully compliant ANSI C development system without any changes.

If you use xml-lit in your own projects

Be kind enough to include the tangled source code along with your XML source file when you distribute your program. Excess dependencies are always a pain when building a package. But in the same way, kindly remind people who do wish to make changes in your program not to edit the tangled files, which are not source code as it is defined by most licenses (including the GPL). The true source code is the literate program embodied in your XML file, and this is what they should be editing. This also applies to you if you wish to hack xml-lit yourself.