This review was originally printed in the September 2010 edition of the UKUUG newsletter, which is now defunct.
Title: DocBook 5: The Definitive Guide
Authors: Norman Walsh
DocBook has been around for nearly two decades, and is used for documentation in a number of open source projects, as well as The Linux Documentation Project (tldp.org). Unfortunately the previous edition of this book has been out of print for some time, but the release of DocBook 5.0 in late 2009 has prompted a new and updated edition.
The first chapter provides a brief introduction to DocBook, although most of the text focuses on the differences between 5.0 and earlier versions, which is of minimal interest if you are learning DocBook for the first time. One thing which the book makes clear up front is that SGML and Docbook DTDs 4.x and earlier are not covered from here on. This is a good way to start fresh without worrying about bogging readers down with legacy information, though it does mean that the book is not the right choice for anyone who has to deal with old SGML documents.
Moving on to the second chapter, the authors outline the basics of creating a DocBook document. All the standard areas are covered, including how to create indexes and bibliographies, although the detail is somewhat thin and you are expected to use the reference section to fill in the gaps.
The next chapter covers validating documents, though at only five pages you could easily miss it. The same applies to chapter four, which manages to spend less than four pages on stylesheets, at the end of which I was none the wiser as to how to incorporate one into my document. Chapter five manages a bit better, containing a useful guide on how to customise DocBook by adding and removing elements.
After only seventy pages of tutorial text, the rest of the book is devoted to a reference guide which describes every element in DocBook 5.0. I was somewhat disappointed by this as I had expected more tutorial information and examples, but this was partially made up for by how comprehensive and detailed the reference is.
Finally, the book is rounded off with plenty of links to online resources, including schemas, W3C documentation and more. Whilst you could probably find most of this through a quick search online, having it all collated in one place is certainly useful.
Overall, this is an excellent reference guide to DocBook. However, it is written more in the style of the O’Reilly “In a Nutshell” series, so if you are looking for plenty of tips and examples before jumping into a detailed reference section, this is probably not the right book for you.