AsciiDoc DocBook XSL Stylesheets Notes ====================================== ********************************************************************* All current AsciiDoc PDF and manpage documentation has been generated using *DocBook XSL Stylesheets version 1.72.0*, these notes and patches relate to this version. The version of FOP used is 0.20.5 (I did try FOP 0.93 under Ubuntu 6.10, but got a Java exception which I didn't pursue). ********************************************************************* My tools of choice for converting AsciiDoc generated DocBook files to PDF and manpage files are xsltproc(1), FOP and DocBook XSL Stylesheets. Output file customisation is achieved by tweaking the DocBook XSL stylesheets. I've tried to keep customization to a minimum and confine it to the separate XSL driver files in the distribution `./docbook-xsl/` directory (see the User Guide for details). To polish a couple of rough edges I've written some patches for the DocBook XSL stylesheets -- you don't need them but they're documented below and included in the distribution `./docbook-xsl/` directory. Manually upgrading Debian to the latest DocBook XSL stylesheets --------------------------------------------------------------- The DocBook XSL Stylesheets distribution is just a directory full of text files and you can switch between releases by changing the directory name in the system XML catalog. To upgrade to the latest docbook-xsl stylesheets without having to wait for the Debian `docbook-xsl` package: - Download the latest docbook-xsl tarball from http://docbook.sourceforge.net/projects/xsl/[]. - Unzip the tarball to `/usr/share/xml/docbook/stylesheet/`: # cd /usr/share/xml/docbook/stylesheet # tar -xzf /tmp/docbook-xsl-1.72.0.tar.gz - Edit `/etc/xml/docbook-xsl.xml` catalog and replace occurences of the current stylesheets directory with the new one (in our example it would be `/usr/share/xml/docbook/stylesheet/docbook-xsl-1.72.0`. - Apply optional patches (see below). Patches to DocBook XSL Stylesheets ---------------------------------- Shade Literal Block Patch ~~~~~~~~~~~~~~~~~~~~~~~~~ The processing expectation for AsciiDoc LiteralBlocks and LiteralParagraphs is that they are not shaded. The `shaded-literallayout.patch` was devised to allow AciiDoc Listing blocks to be shaded while leaving Literal paragraphs and Literal blocks unshaded (the default DocBook XSL Stylesheets behavior is to shade all verbatim elements). The patch implements a `shade.literallayout` XSL parameter so that shading in literal elements could be disabled while other verbatim elements are left shaded (by setting the XSL `shade.verbatim` parameter). The relevant patch file is `shaded-literallayout.patch` and it can be applied from the DocBook XSL Stylesheets directory with the following command: # patch -p0 < shaded-literallayout.patch Manpage spurious .sp patch ~~~~~~~~~~~~~~~~~~~~~~~~~~ IMPORTANT: Don't apply this patch. It was designed for docbook-xsl 1.69.1 (the previous version of docbook-xsl used with AsciiDoc) and does not work with 1.72.0. I don't think it's necessary with docbook-xsl 1.72.0. Standalone `simpara` and some nested `title` DocBook elements generate `.sp` groff markup without a preceding newline, the `manpage-sp.patch` fixes this as well as stripping out extra blank lines generated by some `.sp` markup elements. The patch can be applied from the DocBook XSL Stylesheets directory with the following command: # patch -p0 < manpage-sp.patch