DocBook NG: The “Bourbon” Release
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.
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:
http://docbook.org/docbook-ng
-
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.
Comments
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.)
4_ng_bourbon.dbx:
<?xml version="1.0"?>
<section xmlns="http://docbook.org/docbook-ng" version="5.0">
<title>foo</title>
<simpara>bar</simpara>
</section>
in language_list.xml:
<language>
<identity> namespace-uri(/*)='http://docbook.org/docbook-ng' and /*/@version='5.0' </identity>
<local-schema> /home/tobi/bulk/xml/schemas/docbook/4_ng/bourbon/docbook.rng </local-schema>
</language>
validation:
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
Tobi
P.S. Link "DocBook NG" http://norman.walsh.name/2004/01/09/http://docbook.org/docbook-ng/ should be http://docbook.org/docbook-ng/
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.