Henry's Notes

The Basics

  1. turn <foo>.xsl into <foo>.dsl:
    xslj -c /usr/contrib/share/lib/xml/catalog <foo>.xsl > <foo>.dsl
  2. use jade to get the output:
    jade -d <foo>.dsl -c /usr/contrib/share/lib/xml/catalog <foo>.xml

The Official LT-XML documentation

File Locations

I've rationalised and reconstructed all of this, but some people may therefore not find everything where they expect.

Sources and FSF emacs byte-compiled files are in

/usr/contrib/share/lib/emacs/lisp/psgml and /usr/contrib/share/lib/emacs/lisp/xml.

Info files are in


I've written a structure-smart editor for XML document instances (no DTDs) called xed, which is now available in /usr/contrib/bin.

Invoke it with no arguments to start creating your own XML documents, or with the name of an existing (well-formed) XML document to edit, and you're off. The Help button will show you a summary of available commands and keystrokes.

This is an alpha release, I'm sure there will be bugs. Please send me LOTS of detailed information when it doesn't work, crashes, or even doesn't work the way you'd like it to.

There is one weakness in the current release: entity references will be replaced by their definitions in all cases except < and &.


Continuing our efforts to make more support for XML available, I've reorganised the library files and added new tools and resources:

  1. /usr/contrib/share/lib/xml now has a number of useful things, including templates for XML (using my simple document DTD) and XSL files:


    Try 'xed /usr/contrib/share/lib/xml/empty-doc.xml'
  2. /usr/contrib/share/lib/sgml now has up-to-date TEI and HTML4 dtd files plus other goodies.
  3. /usr/contrib/bin/jade is the latest test release, set up to work with XML input by default -- use /usr/contrib/bin/sjade for SGML.
  4. The latest versions of all the SP tools (nsgmls, spam, sgmlnorm, spent, sx) are installed in /usr/contrib/bin, with /usr/contrib/share/lib/sgml/catalog as the built-in catalog default.
  5. A validator for XML files is available as /usr/contrib/bin/nsgmlx.
  6. Tools to render XML files conformant to my simple document DTD into HTML and RTF are available as


    These take a single XML file as input and produce an HTML or RTF file as output. /usr/contrib/share/lib/xml/sample.xml is an illustrative example.

The up-to-date documentation for this release is in /usr/contrib/share/doc/sgml as HTML files.

For application developers, the 16-bit libraries (sp-m, spgrove, grove and style) and headers are in place in /usr/contrib/{lib,include}.


  1. An uptranslator for bibtex reference output which would produce an XML file with the appropriate information;
  2. a style-sheet which would turn such a file into an HTML file with paragraph per entry, tagged <a name='[citation tag]'>...</a>;
  3. A <cite cite-tag='...'/> tag into my simple doc.dtd;
  4. A style-sheet fragment for XML-to-HTML which turns <cite cite-tag='xyzzy'/> into <a href='http://...../#xyzzy'>xyzzy</a>, where the URL is a parameter and points to the file output from (2) above;
  5. A style-sheet fragment for XML-to-print which turns <cite cite-tag='xyzzy'/> into e.g. [xyzzy] AND sucks the relevant XML text from the output of (2) up and formats it into the References section.