A posting from Anthony B. Coates (Reuters Plc) announces the public availability of an XSLT-based literate programming tool for XML. Version 1.0 of xmLP is distributed under the Lesser GNU Public License, and may be downloaded from SourceForge. xmLP is "a literate programming tool written in XSLT and heavily influenced by experience with FunnelWeb, a non-XML literate programming tool. 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 XSLT 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 XSLT stylesheet."
From the web site description:
"Literate Programming is about embedding code fragments in human-readable documentation (rather than the usual reverse situation) so that the information is presented is the order which best suits people, rather than the order which best suits compilers."
"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."
Related news: "SXML as a higher-order markup language and a tool for literate programming." By Oleg Kiselyov. "S-expressions, DOM trees and syntax-heavy XML documents are three different realizations of a hierarchy of containers made of strings and other containers (Infoset). Unlike DOM trees, S-expressions and XML documents both have an external representation. SXML is a S-expression-based, parsed, abstract syntax tree representation of an XML document; as such SXML is concise, expressive and more suitable for queries and transformations than the raw XML... SXML is also suitable for literate XML programming -- design of a markup format. A literate design document should permit a transformation into a well laid-out, easy-to-read hyperlinked user manual. A literate design document should be easy to write. And yet the user manual should be precise enough to allow automatical extraction of a formal specification. SXML fulfills all these roles. SXML is similar to TeX, but far easier to write and read. SXML transformations do the job of 'weaving' a document type specification and of 'typesetting' the user manual. See also: XML and Scheme.
Principal references:
- Announcement 2002-01-03: "xmLP, a Literate Programming tool for XML"
- Description: 'xmLP - A Literate Programming Tool for XML
- xmLP SourceForge Project
- Download xmLP [cache]
- FunnelWeb
- xml-litprog-l - Yahoo Group for Literate Programming using XML
- Literate Programming resources from Loria
- LiterateProgramming.com web site
- Contact: Anthony B. Coates (Reuters Plc)
- "SGML/XML and Literate Programming" - Main reference page.