Login | Register
My pages Projects Community openCollabNet

System Requirements

[ fromfile: userguide.xml id: systemrequirements ]

Slacker's Docbook is built on top of 100% open source software, and therefore, should work on all platforms. It has been tested with Linux and Windows 2000/XP.

To use Slacker's Docbook to build the documentation, you need to install yourself:

  • Java Standard Edition 1.5 or later

  • A full Installation of Python 2.4, (or later) including distutils.

    On Linux distros, this is included in the separately installed python devel package, called something like python2.5-dev.

You also need to install the PyRXP library:

[Tip] Installing PyRXP on Windows

Includced with Slacker's Docbook is a source tarball of “pyRXP”, a Python library. On Linux/Mac, this tarball needs to be extracted, and then from the pyRXP directory, installed via the Python distlibs step as superuser:

python setup.py install 

On Windows, the compile step is not necessary - you'd need to match compiler versions with the person who built your binary of Python. Just install the Win32 binary of Python for the version that you have installed, and copy the supplied pyRXP.pyd into C:\Python2x\dll

Finally, you need an xslt processor. The one most frequently used for transformation with Docbook stylesheets is xsltproc, built on the gnu XML libs, available on all *nix platforms, and also as a Win32 binary.

[Tip] Installing xsltproc

The 4 gnu XML packages you need for Slacker's Docbook are: iconv-1.9.2, libxml2-2.6.24, libxslt1.1.16, and zlib1.2.3. If the packages are available on your distribution, a simple apt-get install xsltproc should be sufficient.

There are other processors available, but since docbook-xml is a very complicated stylesheet, it stretches them to (and sometimes beyond) their limits.

[Tip] Trying to use cygwin?

Let me know how far you get - I keep getting path mismatch problems whenever I try to use non-cygwin versions of Java or Python with cygwin versions of xsltproc. Don't waste your time trying to get this combo working unless you really know what you are doing.

Directory Structure

Here is a tour of the directory structure:

  • doc - contains the source XML documents which were used to generate what you are reading now.

  • bin - contains some executable shell scripts for ant, as well as the python scripts that comprise Slacker's Docbook, the XML docbook generator used for the documentation you are reading right now.

  • lib - Libraries needed by the ant build script or any of the classes it invokes. Also contains tarballs of the docbook stylesheets and pyRXP.

  • doc/uml - some UML diagrams I drew to describe the process of getting from XML to HTML/PDF.

  • settings - some settings and scripts I use on various platforms. You can safely ignore this directory.

  • xsl - a docbook customization layer. Stylesheets: xsl and css files are here. Custom headers/footers can be found in htmlstyle.xsl.

  • icons - Callout graphics, navigation graphics, used by the stylesheets.

  • xsd - W3C XML Schema to describe (and validate) Slacker's Docbook, plus an XML catalog file.

  • www - The web root, also containing generated docbook and HTML files, as well as a copy of many other files in the source tree.

    [Note]Note

    the svn repo has files under revision control in this directory, but that's only because the svn repo dir is used for http://slackerdoc.tigris.org. You can wipe out this directory and all files should be re-created there on the next rebuild.

Configuration Files for building

There is a file called build.properties in this project.:

build.properties contains variables used by ant and as well as the python XML preprocessor:

Example 3. ../build.properties.sample

# example docbook directories on various platforms:
# Fink (Mac OS-x) location:
#docbook.dir=/sw/share/xml/xsl/docbook-xsl/
# Cygwin (Windows) location:
docbook.dir=/usr/share/docbook-xsl

<include src=“../build.properties.sample” id=“buildproperties” mode=“text”/>


These variables will be substituted for their values inside the XML documentation by using @keyname@ syntax, and they are replaced with their values in Ant build.xml with ${keyname} syntax. The important one is docbook.dir, which must point to the root of the unzipped docbook-xsl tarball.