[This local archive copy mirrored as an excerpt from the canonical site and URL: http://www.berkshire.net/~norm/docbook/index.html 980310; links may not have complete integrity, so use the canonical document at this URL if possible.]
[Excerpted from: 'Norm's Home Page: Tidbits, Oddments, and Loose Ends, DocBook Projects']
This is an excerpt from DocBook in a Nutshell:
Converting the DocBook DTD to XML is much more challenging than dealing with the instances. It is probably not possible to construct an XML DTD which is identical to DocBook. The list below identifies most of the issues which must be addressed and describes how the DocBk30 XML DTD deals with them:
Most of them have been moved to comment declarations preceding the markup declaration that used to contain them. A few small, inline comments that seemed like they would be out of context if moved before the declaration where simply deleted.
In the small number of places where DocBook uses name groups, they have been expanded out.
One downside, DocBook uses %admon.class; in a name group to define the content model and attribute lists for elements in the admonitions class. In DocBk30 XML DTD, this convenience cannot be expressed. If additional admonitions are added, the element and attribute list declarations will have to be copied for them.
Graphic and InlineGraphic have been made EMPTY. The content model for SynopFragmentRef, the only RCDATA element in DocBook, has been changed to (arg | group)+.
They had to be removed.
In DocBook, exclusions are used:
To exclude the ubiquitious elements (IndexTerm and BeginPage) from a number of contexts in which they should not occur (in metadata, for example).
To exclude formal objects from Highlights, Examples, Figures and LegalNotices..
To exclude formal objects and InformalTables from tables.
To exclude block elements and Footnotes from Footnotes
To exclude admonitions, EntryTbls, and Acronyms from themselves.
Removing these exclusions from DocBk30 XML DTD means that it is now valid, in the XML sense, to do some things that don't make a lot of sense (like put a footnote in a footnote). Caveat user.
Inclusions in DocBook are used to add the ubiquitious elements (IndexTerm and BeginPage) unconditionally to a large number of contexts. In order to make these elements available in DocBk30 XML DTD, they have been added to most of the parameter entities that include #PCDATA. If new locations are discovered where these terms are desired, DocBk30 XML DTD will be updated.
The content models of many elements have been updated to make them a repeatable or group beginning with #PCDATA.
They have all been replaced by NMTOKEN or CDATA.
The #CONREF attributes on IndexTerm, GlossSee, and GlossSeeAlso were changed to #IMPLIED. The content model of indexterm was modified so that it can be empty.
Quotes were added where necessary.
The spaces were removed.