Customizing DocBook: Mallard

DocBook from the beginning provided for extensions, using an SGML and XML DTD syntax to allow people to add their own elements and modules. But sometimes you want to reduce rather than extend.

A difficulty for authors using DocBook can be that at any given point in a document there can be a bewilderingly large number of possible elements that can be inserted. People working with DocBook all day quickly learn them, but occasional users can find this to be a barrier. Mallard is a subset of DocBook that was devised for writing online help the GNOME project, and is an example of a customization. Mallard also has its own Markdown variant, Ducktype. Mallard also adds semi-automatic linking between topics, so that some processing is required before the files are usable by DocBook tools, but that is not an issue in the context of online help for the GNOME desktop.

Note: Although DocBook has its own extension mechanisms, Mallard ended up as a standalone system, and today uses elements from HTML such as p and em rather than para and emphasis of DocBook. Like many project-specific extensions, it evolved.

Starting off with an industry-standard vocabulary and customizing it can considerably reduce the work needed to develop a format, but people within the project have to make a conscious decision about the value of having their documents conform to the original vocabulary.