xmLP is a literate programming tool written in XSL-T. It is heavily influenced by experience with FunnelWeb, a non-XML literate programming tool. Literate programming is about being able to getting away from having to write computer programs (or any other files for programmatic consumption) in a fashion that makes sense only to the compiler (or other applications) rather than to the humans, who really need to be the ones in charge of the process.
A literate program is a human readable document which is written and ordered so that it can be understood most easily by people. Source code fragments (or any text/XML fragments) can appear in the literate document in any order, and are assembled in the order required for computer use by tangling the document, to introduce the terminology of Donald Knuth, who came up with the idea of literate programming in the first place. The literate document is also woven to convert it into a final documentation format (traditionally TeX or LaTeX, but these days likely to be HTML or PDF).
xmLP differs from traditional literate programming tools when it comes to weaving. Traditionally, weaving involves both generating cross-reference information and producing formatted output. However, tools like XSL-T make it unnecessary for an XML literate programming tool to deal with display rendering. Hence the xmLP weaver is intentionally minimalist, and does nothing except add cross-reference information to the original literate document. This additional cross-reference information makes it much easier to build cross-reference hyperlinks using a simple rendering XSL-T stylesheet (rule of thumb: always try to separate business logic and display rendering into separate XSL-T stylesheets).
xmLP is released under version 2.1 of the Lesser GNU Public License.
This first release is xmLP is very bare bones, and has almost no documentation. Documentation will come with a future release. There are two main elements that xmLP requires to be embedded in an XML literate program:
The way that xmLP is used is:
xmLP is available from SourceForge. As well as the download area, the latest xmLP news is there, as well as forums and the xmLP-announce mailing list. For general discussion about xmLP and literate programming with XML, please use the xml-litprog-l list at Yahoo Groups.