Skip to content
This repository

XSL for transforming DocBook to AsciiDoc


This is a stylesheet for transforming DocBook 4.5 to AsciiDoc, originally started by bjepson.


The XSLT is written in XSLT 2.0, so you’ll need to run it with an XSLT 2.0 processor. You can use Saxon, which is included in this repo.

Run It

Run a command like this to output the AsciiDoc:

java -jar saxon9he.jar -s book.xml -o book.asc d2a.xsl

If you’d like the AsciiDoc output to be "chunked" into separate files for each preface/chapter/appendix, add the parameter chunk-output=true:

java -jar saxon9he.jar -s book.xml -o book.asc d2a.xsl chunk-output=true

Content within <bookinfo> of the DocBook source will be output as XML to the filename specified in the parameter "bookinfo-doc-name". For example:

java -jar saxon9he.jar -s book.xml -o book.asc d2a.xsl chunk-output=true bookinfo-doc-name="mybookinfo.xml"

Default value of "bookinfo-doc-name" is "book-docinfo.xml"

Other Parameter Options:

  • If you’d like the Glossary element to be output inside a DocBook passthrough, instead of Asciidoc markup, add the parameter glossary-passthrough=true:

java -jar saxon9he.jar -s book.xml -o book.asc d2a.xsl glossary-passthrough=true
  • If you’d like to strip out the indexterm elements, use the parameter strip-indexterms=true:

java -jar saxon9he.jar -s book.xml -o book.asc d2a.xsl strip-indexterms=true


This example shows how to run this script for a subversion repository

First, you have to clone this repo so that you’ll have the code.

$ git clone

Second, pull down the repo for the book you want:

$ svn checkout

Third, make a new directory where the asciidoc files will go:

$ cd ~/Desktop
$ mkdir test
$ cd test

Finally, run the file command to convert the big docbook file into separate asciidoc files. Note that you’ll need Java 1.5 [NEED TO CONFIRM VERSION] or higher. You’ll also need to add hardcoded paths to the saxon jar file and to :

java -jar /Users/odewahn/Desktop/docbook2asciidoc/saxon9he.jar -s /Users/odewahn/Desktop/9781449307110/current/book.xml -o book.asc /Users/odewahn/Desktop/docbook2asciidoc/d2a.xsl chunk-output=true
Something went wrong with that request. Please try again.