You need to upgrade your browser .

SourceForge Logo

XML-Lit: A Simple XML-Based Literate Programming System

xml-lit aims to be a complete literate programming system in the style of Donald Knuth's WEB. For those unfamiliar with the concept, literate programming is an attempt to solve many of the problems in program design and maintenance by fusing the tasks of documenting and writing code. In most literate programming systems, including xml-lit, you write an essay describing your program, which contains your program as well. You tangle the essay to get the compilable program and weave the essay to produce a document people can read and understand (provided your writing is any good!).

And so we have xml-lit. Unlike many other literate programming systems out there that use TeX or LaTeX, xml-lit uses XML, and it is not restricted to any dialect of XML either. You can use it with DocBook, XHTML, or any other underlying XML-based markup language at all, within reason. I have only used it with DocBook at the moment, because DocBook is the richest XML tagset to date for writing technical documentation and documenting computer programs.


The complete weaved documentation of the program is available in HTML form here. I have not yet been able to produce the docs in PDF because there seems to be a problem either with the DocBook XSL stylesheets or with FOP.

System Requirements and Package Dependencies

To build the program you need only two things: James Clark's Expat XML parser library, and GNU getopt. The last is included by default on all systems that use the GNU C library. I hope to eliminate this dependency by the next release.

To build the documentation, you'll need some way to process DocBook documents. As for me, I use the DocBook XSL stylesheets with an XSLT stylesheet processor. I vacillate between XT and Saxon.


You can get the source from the SourceForge Project Page. I do not maintain any binary distributions at this time.

Let me know...

I want your feedback on this program. You know how to reach me...

Valid XHTML 1.0!Rafael R. Sevilla
Last modified: Wed Jul 11 11:07:05 GMT+08:00 2001