Dependencies on other software

To use docbook2X you need:

A reasonable Unix system, with Perl 5

docbook2X can work on Linux, FreeBSD, Solaris, and Cygwin on Windows.

A C compiler is required to compile a small ANSI C program (utf8trans).

XML-NamespaceSupport, XML-SAX, XML-Parser and XML-SAX-Expat (Perl modules)

The last two are optional: they add a Perl interface to the C-based XML parser Expat. It is recommended that you install them anyway; otherwise, the fallback Perl-based XML parser makes docbook2X real slow.

You can get all the Perl modules here: CPAN XML module listing.

iconv

If you are running Linux glibc, you already have it. Otherwise, see the GNU libiconv home page.

XSLT 1.0 processor

You have a choice of:

libxslt

See the libxml2, libxslt home page.

SAXON

See the SAXON home page.

Xalan-Java

See the Xalan-Java home page.

For the Java-based processors (SAXON and Xalan-Java), you will also need[6] the Apache XML Commons distribution. This adds XML catalogs support to any Java-based processor.

Out of the three processors, libxslt is recommended. (I would have added support for other XSLT processors, but only these three seem to have proper XML catalogs support.)

Unlike previous versions of docbook2X, these Java-based processors can work almost out-of-the-box. Also docbook2X no longer needs to compile XSLT extensions, so you if you use an OS distribution package of libxslt, you do not need the development versions of the library any more.

DocBook XML DTD

Make sure you set up the XML catalogs for the DTDs you install.

The DocBook: The Definitive Guide website has more information.

You may also need the SGML DTD if your documents are SGML rather than XML.

Norman Walsh’s DocBook XSL stylesheets

See the Open DocBook Repository.

This is optional and is only used to build documentation in HTML format. In your XML catalog, point the URI in doc/ss-html.xsl to a local copy of the stylesheets.

For all the items above, it will be easier for you to install the OS packaging of the software (e.g. Debian packages), than to install them manually. But be aware that sometimes the OS package may not be for an up-to-date version of the software.

If you cannot satisfy all the prerequisites above (say you are on a vanilla Win32 system), then you will not be able to “build” docbook2X properly, but if you are knowledgeable, you can still salvage its parts (e.g. the XSLT stylesheets, which can be run alone).



[6] Strictly speaking this component is not required, but if you do not have it, you will almost certainly have your computer downloading large XML files from the Internet all the time, as portable XML files will not refer directly to cached local copies of the required files.