Shlomi Fish


docmake - a tool to render DocBook/XML into various output formats.


    # To render input.xml file into XHTML
    docmake -o output.xhtml xhtml input.xml

    # Same with more verbose output
    docmake -v -o output.xhtml xhtml input.xml

    # Render into pdf
    docmake -v -o output.pdf pdf input.xml

    # Same while not rebuilding if not necessary
    docmake -v --make -o output.pdf pdf input.xml

    # Render using a Stylesheet
    docmake -v -o output.xhtml -x my-stylesheets.xsl xhtml input.xml


docmake is a tool to render DocBook/XML into its resultant formats using XSLT: XHTML, XSL-FO, PDF, RTF, etc. For a brief help type docmake help .

It aims to be a replacement for xmlto - . As opposed to xmlto, it is written in Perl, which is easier to get right than xmlto's Bash, and xmlto hasn't been updated for a long time when I started work on docmake.


The basic invocation of docmake is:

    docmake [flags] MODE input.xml


The available modes are:

  • help

    To get help.

  • fo

    Convert to XSL-FO.

  • rtf

    Convert to Word/RTF.

  • xhtml

    Convert to XHTML.

  • pdf

    Convert to PDF.


The available flags are:

  • -h ; --help

    Display some rudimentary help.

  • --man

    Display the man page.

  • -v ; --verbose

    Verbose - output the commands' invocation as they are executed.


    Put the result in OUTPUT_PATH .

  • -x STYLESHEET ; --stylesheet STYLESHEET

    Use the XSLT stylesheet STYLESHEET for performing XSLT transformations.

  • --basepath PATH

    This is the base path for the DocBook stylesheets. The appropriate XSLT mode will be appended to it. This is for example, useful for building DocBook 5 documents by specifying the path to their stylesheets.

  • --stringparam KEY=VALUE

    Specify the string parameter of KEY as VALUE. Note that as opposed to xsltproc, KEY and VALUE cannot be specified as different command line arguments, but rather should be on the same one, delimited by an equal sign ("=").

  • --make

    Behave like make in building files only if their dependencies are newer.


There are some examples for sample invocation in the Synopsis.


You can look for information at:



Copyright 2008 Shlomi Fish, all rights reserved.

This program is released under the following license: MIT/X11 License. ( ).


Shlomi Fish , .