Chapter 3. Overview of the DocBook DTD
[Prev]
[Next]
V2.4 has had a patch release, V2.4.1; you should consider all of the
following changes together.V2.4 Changes
The following global and multiple-module changes were made:
- All the modules associated with DocBook have been changed
to use the new version number in their comment headers and formal public identifiers,
as appropriate. The docbook.cat file contains the corresponding
updated FPIs.
- In docbook.dtd, dbhier.mod, dbpool.mod, and docbook.cat, the entity declarations and corresponding catalog entries for
the ``rdb'' placeholder entities were removed. If users need these,
they should declare them and manage their catalog entries themselves, and
should not use ``Davenport'' as the owner identifier for these
entities.
- In dbhier.mod and dbpool.mod, the order of attributes was changed to put the unique
(element-specific) ones first, then the semi-common ones, then the common
ones. The placeholder for local attribute extensions is still at the end.
- In dbhier.mod and dbpool.mod, many elements now have an OMITTAG
scheme of "- O" instead of "- -".
In general, series of similar elements don't require an end-tag.
- In dbhier.mod and dbpool.mod, the comments documenting the common attributes now
provide information on the assumed default values if an attribute value is
not supplied.
- In dbhier.mod and dbpool.mod, comments were added for planned backwards-incompatible
changes in V4.0, and the comments for the V3.0 changes have been made to stand
out more. (Search in the DTD files for the string ``FUTURE USE'',
or for ``FUTURE USE (Vn.0)'' with the
relevant version number supplied.)
The following changes were made to docbook.dtd:
- Added the BMP, WMF, PCX, and WPG (WordPerfect Graphic) notations
and added to notation.class correspondingly.
- Fixed the owner identifier in the entity declaration
for the ``grk4'' ISO entity set (Alternative Greek Symbols); it
was ``ISO 9573-13:1991'', but has been changed to ``ISO 8879:1986''.
The following changes were made to dbhier.dtd:
- Modularity and parameterization changes:
- The name of the sect1.content entity has been changed to bookcomponent.content
to reflect its purpose more accurately.
- Added a second redeclaration placeholder to allow
redeclaration of the bookcomponent.content entity while letting it retain
its reference to divcomponent.mix.
- New elements:
- Added
a new element, SimpleSect, to sect1.content (used in Appendix, Chapter, Preface,
PartIntro, and Article) and directly to the content of Sect2 through Sect
5.
- Content model changes:
- Added SimpleList to indexdivcomponent.mix (used in introductions to
indexes).
- The content of Book now allows a mixture of zero
or more Glossary, Bibliography, and Preface elements before the main content,
and a mixture of zero or more Glossary and Bibliography elements after the
main content.
- BookInfo and DocInfo now allow zero or more graphics,
to describe the document's content graphically.
- The content of ToC and Index is now allowed to
be entirely empty (with no subelements supplied).
- The ToCfront, ToCentry, and LoTentry elements now
use the new para.char.mix mixture instead of the defunct inline.char.mix mixture
(see dbpool.mod).
- Chapter and Appendix now allow an optional ToCchap
before their main content.
- The PrimaryIE, SecondaryIE, TertiaryIE, SeeIE,
and SeeAlsoIE elements now contain the new ndxterm.char.mix mixture instead
of the defunct inline.char.mix mixture (see dbpool.mod).
- RefMiscInfo now contains the docinfo.char.mix mixture
instead of just #PCDATA.
- RefDescriptor now contains the refname.char.mix
mixture instead of just #PCDATA.
- The content of RefSynopsisDiv has been expanded
to match that of RefSect1.
The following changes were made to dbpool.dtd:
- Modularity and parameterization:
- Changed the name of the entity containing the common attributes for use on
graphics (along with its corresponding ``local'' entity) from graphic.attrib
to graphics.attrib, and changed its corresponding references in Graphic and
InlineGraphic accordingly.
- New elements:
- Added
element declarations and corresponding module entities for GUIButton, GUIIcon,
GUILabel, GUIMenu, GUIMenuItem, and GUISubmenu and added these elements to
cptr.char.class. These are the elements bursted out from Interface. Put in
a FUTURE USE comment on Interface for removing its Class attribute in V4.0.
Added a declaration for the Accel element and added it to the content models
of Interface and the GUI* elements.
- Added element declarations and corresponding module
entities for KeyCombo and MouseButton and added these elements to cptr.char.class.
- Added element declarations and corresponding module
entities (and an aggregate module entity) for MenuChoice and Shortcut and
added MenuChoice to cptr.char.class. Added a ``key action'' attribute
entity for use in Shortcut and KeyCombo.
- Added the new Area, AreaSet, AreaSpec, Callout,
CalloutList, GraphicCO, ProgramListingCO, and ScreenCO elements to support
callouts. Corresponding parameter entities for their marked-section modules
(as well as the aggregate module entities for AreaSpec content and CalloutList
content) have been added as well. CalloutList has been added to the list.class
class. ProgramListingCO and ScreenCO have been added to the linespecific.class
class. GraphicCO has been added to the informal.class class and to the content
of ScreenShot.
- Added a CO element declaration and corresponding
module entity, and added CO to the declarations of the program listing and
screen content model entities.
- Added the new Attribution element (along with its
marked-section module entity); it appears in the content models of BlockQuote
and Epigraph.
- Added the new FuncPrototype element (along with
its marked-section module entity); it appears in the content model of FuncSynopsis.
- Added the new Phrase element (along with its marked-section
module entity); it appears in the word.class class.
- Added the new SBR element (along with its marked-section
module entity); it appears in the content of the CmdSynopsis, Arg, and Group
elements.
- Content model changes:
- Moved the SGMLTag and Markup elements to the cptr.char.class entity
to allow these elements in the same locations as other technical inlines (such
as RefName).
- Added #PCDATA to the Address
content model, added the Format (linespecific) attribute to it, and added
the element to informal.class. (Note that legacy addresses may not work correctly
under new linespecific Address assumption!)
- Added Email to cptr.char.class and moved its declarations
accordingly.
- Added the formal.class class to the admon.mix and
glossdef.mix mixtures.
- Added the formal.class class to the para.mix mixture,
and removed it by means of an SGML exclusion from the content models of Footnote,
Highlights, Example, and LegalNotice, where paragraphs (now normally allowing
formal-object content) can occur. (It was not excluded from Procedure, MsgExplan,
MsgText, or BlockQuote, as originally planned, because these elements can
legitimately contain formal objects as part of their component.mix content.)
- Changed the entire mixture scheme for inlines.
Removed the inline.char.mix, synop.char.mix, ssscript.char.mix, and phrase.char.mix
mixtures, and added the title.char.mix, ndxterm.char.mix, smallcptr.char.mix,
word.char.mix, and docinfo.char.mix mixtures. The following tables show approximately
what has changed. (Individual elements that use different mixtures are mentioned
below.)
New:
#PCD xref word link cptr base dnfo othr inob (synop)
para.char.mix X X X X X X X X X X
title.char.mix X X X X X X X X X
ndxterm.char.mix X X X X X X X X a
cptr.char.mix X X X X X a
smallcptr.char.mix X b a
word.char.mix X c X X X a
docinfo.char.mix X c b X a
a. Just InlineGraphic; no InlineEquation.
b. Just Replaceable; no other computer terms.
c. Just Emphasis and Trademark; no other word elements.
Old:
[X = all, . = some] #PCD xref word link cptr base dnfo othr inob (synop)
para.char.mix X X X X X X X X X X
inline.char.mix X X X X X X X X
synop.char.mix X X X X X X X X
cptr.char.mix X X X X X
ssscript.char.mix X . X . X X
phrase.char.mix X X X X
- Changed the programlisting.content entity (used
in ProgramListing), the screen.content entity (used in Screen), and the Comment,
Seg, Member, Term, LiteralLayout, Synopsis, ProductName, Application, RefEntryTitle,
CiteTitle, and Quote elements to use the para.char.mix mixture instead of
the defunct inline.char.mix mixture.
- Changed the Title, TitleAbbrev, SubTitle, BridgeHead,
and SegTitle elements to contain the new title.char.mix mixture instead of
the defunct inline.char.mix mixture.
- Changed the BiblioMisc, MsgAud, ScreenInfo, Citation,
Emphasis, ForeignPhrase, and LineAnnotation elements to contain the para.char.mix
mixture instead of just #PCDATA.
- Changed the tblexpt entity for exclusions to table
content to use the formal.class class (which includes Table) instead of just
Table.
- Changed the Ackno, Street, POB, Postcode, City,
State, Country, Phone, Fax, Email, OtherAddr, ShortAffil, JobTitle, OrgDiv,
ArtPageNums, CollabName, AuthorInitials, ConfDates, ConfTitle, ConfNum, ConfSponsor,
ContractNum, ContractSponsor, Year, Holder, CorpAuthor, CorpName, Date, Edition,
ISBN, ISSN, InvPartNumber, IssueNum, ModeSpec, OrgName, PageNums, Contrib,
FirstName, Honorific, Lineage, OtherName, Surname, ProductNumber, PubDate,
PublisherName, PubsNumber, ReleaseInfo, RevNumber, RevRemark, SeriesVolNums,
and VolumeNum elements to use the new docinfo.char.mix mixture instead of
just #PCDATA.
- Changed the MsgLevel, MsgOrig, ClassName, ErrorName,
ErrorType, KeyCode, KeySym, MediaLabel, ReturnValue, StructField, StructName,
Symbol, Token, Type, Markup, and SGMLTag elements to use the new smallcptr.char.mix
mixture instead of just #PCDATA.
- Changed the Replaceable element to use a series
of class entities directly, plus newly containing the Optional and InlineGraphic
elements, instead of using the defunct phrase.char.mix mixture.
- Changed the Abbrev,Acronym, ManvolNum, FirstTerm,
and WordAsWord elements to use the new word.char.mix mixture instead of just #PCDATA.
- Changed the Subscript and Superscript elements
to use a series of class entities directly, plus newly containing the Replaceable,
Symbol, and InlineGraphic elements, instead of using the defunct ssscript.char.mix
mixture.
- Changed the Trademark element to use a series of
class entities directly, plus newly containing the InlineGraphic element,
instead of using the cptr.char.mix mixture.
- Changed the Primary, Secondary, Tertiary, See,
and SeeAlso elements to use the new ndxterm.char.mix mixture instead of the
defunct inline.char.mix mixture.
- New and changed attributes:
- Fixed a bug in Anchor attribute list that allowed it not to have an
ID. This was an oversight in the V2.3 modularization.
- Added a Spacing attribute on ItemizedList and OrderedList.
- Added a Path attribute to Filename element.
- Added a new common RevisionFlag attribute.
- Added the new common ``effectivity''
attributes OS, Arch, Vendor, UserLevel, and Revision. Collected the effectivity
attributes in their own entity and reorganized that section of entities appropriately.
- Added a TermLength attribute to the VariableList
element.
- Added a Class attribute to the Filename element.
- Added a Class attribute to the Symbol element.
- Added a Linkend attribute to the FirstTerm element.
- Added Linkend and BaseForm attributes to the GlossTerm
element.
- Added Class attribute values to the SGMLTag element.
V2.4.1 Changes
Following are the changes made to DocBook V2.4 to create V2.4.1:
- Substantive changes in docbook.dtd:
Three notation declarations (EQN, PIC,
and TBL) have been changed to have null system IDs because
the original identifiers were formed as approximate public IDs, not system
IDs (and because they contained an ampersand, they were not valid FPIs either).
We are investigating whether there are proper formal public IDs for these
notations.
- Substantive changes in dbpool.mod:
- The vendor.attrib entity containing the Vendor effectivity
attribute (new in V2.4) has been added to effectivity.attrib in order to make
the attribute available for use.
- The MenuChoice element (new in V2.4) has been added
to cptr.char.class in order to make the element available for use.
- The content model of Shortcut (used inside MenuChoice)
was changed to match that of the new KeyCombo element, as its original design
intended.
- The Option element was added to the content model
of Group in CmdSynopsis to bring the model up to what the documentation (correctly)
describes.
- Editorial changes:
The copyright statment has been updated to help ensure continued free
access to DocBook files by users.
- Spelling in comments was fixed, and comments explaining
some attributes were clarified.
[Prev] Changes Made in V2.3
[Next] Changes Planned for V3.0
[Overview Home]
[Davenport Group Home]