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


version 0.1003


    # 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

    # Avoid trailing slash when emitting to a dummy file in a dir
    docmake --trailing-slash=0 -o output/notneeded.xhtml xhtml5 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 ("=").

  • --trailing-slash=0

    Disable adding a trailing slash when building into an HTML file, to emit an unneeded file there. Note the =0 argument.

  • --make

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


There are some examples for sample invocation in the Synopsis.



Copyright 2008 Shlomi Fish, all rights reserved.

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


Shlomi Fish , .



The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.

Bugs / Feature Requests

Please report any bugs or feature requests by email to bug-app-xml-docbook-builder at, or through the web interface at You will be automatically notified of any progress on the request by the system.

Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)

  git clone git://


Shlomi Fish <>


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


This software is Copyright (c) 2020 by Shlomi Fish.

This is free software, licensed under:

  The MIT (X11) License