DocBook NG: The “Bourbon” Release

Volume 7, Issue 4; 09 Jan 2004; last modified 08 Oct 2010

Mostly a few small bug fixes, but it’s in a namespace now, and there are a some other changes.

One day I stumbled over a case of bourbon…and kept stumbling for several days thereafter.

W. C. Fields

This is the second DocBook NG release (Absinthe was the first). Markup wise, there are only a few small bug fixes. The significant changes are:

  • It’s now in a namespace:

  • There’s a version attribute in the common attributes

  • Version is a required attribute on the root element (enforced by Schematron)

  • I removed most of the build magic so that the source RELAX NG files can be used directly

I think my next focus will be on conversion to DTDs and W3C XML Schemas and on stylesheet support.

Sebastian and I are still investigating markup coordination between DocBook and the TEI. That means the pattern names should all be considered pretty volatile.


This is great news! Putting DBX in a namespace and requiring a version attribute on the root element is a very good thing. Software will be able to find out which language the document (or fragment) is written in; a validator can for example apply a schema if it knows the language (if there were a suggestion for a schema it wouldn't have to know the language ...).

This is how it works here: (Does your feedback code somehow support code listings? In order to prevent endless lines I inserted additional newlines for now; being able to use pre would be better.)


<?xml version="1.0"?>

<section xmlns="" version="5.0">




in language_list.xml:


<identity> namespace-uri(/*)='' and /*/@version='5.0' </identity>

<local-schema> /home/tobi/bulk/xml/schemas/docbook/4_ng/bourbon/docbook.rng </local-schema>



tobi ~/data/run/xval/_tests $ xval 4_ng_bourbon.dbx

[xval] validating against /home/tobi/bulk/xml/schemas/docbook/4_ng/bourbon/docbook.rng

[xval] jing:

[xval] xmllint:

4_ng_bourbon.dbx validates


P.S. Link "DocBook NG" should be

—Posted by Tobi on 12 Jan 2004 @ 08:51 UTC #

I'm just curious why you used URL instead of URN for namespace indentifier. I know that technically are both versions same, but I tend to prefer URNs for namespaces as they emphasise "virtual and immaterial" matter of namespaces.

—Posted by Jirka Kosek on 15 Jan 2004 @ 01:11 UTC #