William Blum's website

My experience with the XML/Docbook/XSLT toolchain

Recently I have tried to learn how to use the Docbook toolchain to produce documentation. My overall impression is not so good. I have many complaints but I am mainly concerned with its poor performance.

Recently I have tried to learn how to use the Docbook toolchain to produce documentation. My overall impression is not so good. I have many complaints but I am mainly concerned with its poor performance.

Take the editors: I have tried many of them including (XMLMind and Oxygen). On my machine (Athlon XP 1.25GHz, 1.5GB RAM, XP SP2), they all seem to struggle to analyze the XML document as I am typing it. With Oxygen, for instance, there is a noticeable delay of up to 5s when I type which makes it almost useless. Of course you don't have to use an XML editor as you can edit your document with Notepad. However as the XSLT tools are very strict on the syntax (not like the way browsers interpret HTML), it can be quite hard to edit your document without assistance. Moreover since XML is by nature very verbose, you may end-up spending more time opening and closing corner brackets that actually typing your documents.

Now concerning the XSLT parser, the results speak for themselves: Processing 36.7KB of XML into a 33.3KB HTML file took 34.172s with the xsltproc parser and 38.719s with saxon.net 9.0.0.2. For such a simple file (it's a very small document, not even a book) that's just ridiculous! To give an element of comparison, on the same machine, to compile the TeX book (by Don Knuth) from a 1.35MB file TeX file into a 500-page PDF file weighting 2.23MB it just takes 7.25s!!! Conclusion, if Knuth had written his book using Docbook back in the 70s, he would probably still be waiting for the compilation to finish...

Note:As most of these tools are written in Java (IDE and XSLT included) I guess that part of the poor performance has to be imputed to Java.