Whole document tree
    

Whole document tree

DocBook Entities

DocBook Entities

DocBook relies heavily on internal parameter entities (substitution-string mechanisms that work somewhat like programming macros) to achieve consistency, ease maintenance, and encourage appropriate customization. Unfortunately, the density of entity references can make it difficult to read the actual element and attribute declarations. The major entities used inside these declarations are described briefly here.

There are two special kinds of entities that are used to group elements: classes and mixtures. Class entities are used to group elements that are very similar, such as "all the list elements." Mixture entities are used to group whole element classes (and sometimes individual elements as well) that are all supposed to be allowed in a particular set of contexts. Classes and mixtures are described in more detail below.

Previous and Current Parameter Entities

Table 2-1 shows the equivalences between the parameter entities in V2.2.1 and the versions starting with V2.3, in approximately the order that the original entities appear in DocBook V2.2.1. If you are new to reading DocBook, you don't need to read this table. (Note that many new entities have been added; these don't appear in the table.)

Table 2-1. Parameter Entity Equivalences

Original EntityNew EntityComments
notationtypesnotation.class 
commonattscommon.attrib 
yesornoyesorno.attvals 
yesyes.attval 
nono.attval 
appendix.gpappendix.class 
book.gpbook.class 
chapter.gpchapter.class 
index.gpindex.class 
bookcontent.gppartcontent.mix 
ndxterm.gpndxterm.class 
xref.gpxref.char.class 
links.gplink.char.class 
basechar.gpbase.char.classNo #PCDATA directly in entity
phrase.gpRemoved in V2.4

In V2.3, was phrase.char.mix (other.char.class + base.char.class + link.char.class)

bookinfo.content.gpsetinfo.char.mix

Now contains ModeSpec; omission was an oversight

docinfo.content.gpdocinfo.char.class 
words.gpword.char.class 
computerterms.gpcptr.char.class 
cptrphrase.gp

cptr.char.mix (cptr.char.class + other.char.class + base.char.class + link.char.class)

 
inlinechar.gpRemoved in V2.4; see para.char.mixIn V2.3, was inline.char.mix
eqncontent.gpequation.contentNo more local.equations
tblcontent.gptable.contentNo more local.tables
list.gplist.class 
admonition.gpadmon.class 
code.example.gplinespecific.class 
synop.gpsynop.class 
object.gp(informal.class + linespecific.class + synop.class)No single replacement entity
para.gppara.class 
formalobject.gpformal.class 
component.gp

component.mix, divcomponent.mix, refcomponent.mix (genobj.class + descobj.class + admon.class + formal.class + list.class + informal.class + linespecific.class + synop.class + para.class + compound.class)

 
refclass.gprefclass.char.mix 
nav.gpnav.class 
inlineobj.gp

para.char.mix (inline.char.mix + inlineobj.char.class + synop.class)

 
sect1.gpbookcomponent. contentIn V2.3, was sect1.content
ubiq.gpubiq.mix 
primsee(none) 
secsee(none) 
argchcatt(none) 
grpchcatt(none) 
repatt(none) 

Class (xxx.class) Entities

Class entities are used to build mixture entities and, in some cases, are used directly in element and attribute declarations in various capacities. Table 2-2 lists all the class entities and their contents in alphabetical order.

Table 2-2. Class Entities and Contents

Class EntityContents
admon.classCaution, Important, Note, Tip, Warning
appendix.classAppendix
article.classArticle
base.char.classAnchor
book.classBook
chapter.classChapter
compound.classMsgSet, Procedure, Sidebar
cptr.char.class

Action, Application, ClassName, Command, ComputerOutput, Database, Email, ErrorName, ErrorType, Filename, Function, GUIButton, GUIIcon, GUILabel, GUIMenu, GUIMenuItem, GUISubmenu, Hardware, Interface, InterfaceDefinition, KeyCap, KeyCode, KeyCombo, KeySym, Literal, Markup, MediaLabel, MenuChoice, MouseButton, MsgText, Option, Optional, Parameter, Property, Replaceable, ReturnValue, SGMLTag, StructField, StructName, Symbol, SystemItem, Token, Type, UserInput

descobj.classAbstract, AuthorBlurb, Epigraph
docinfo.char.class

Author, AuthorInitials, CorpAuthor, ModeSpec, OtherCredit, ProductName, ProductNumber, RevHistory

formal.classEquation, Example, Figure, Table
genobj.class

Anchor, BridgeHead, Comment, Highlights

index.classIndex, SetIndex
informal.classAddress, BlockQuote, Graphic, GraphicCO, InformalEquation, InformalExample, InformalTable
inlineobj.char.classInlineGraphic, InlineEquation
linespecific.classLiteralLayout, ProgramListing, ProgramListingCO, Screen, ScreenCO, ScreenShot
link.char.classLink, OLink, ULink
list.classCalloutList, GlossList, ItemizedList, OrderedList, SegmentedList, SimpleList, VariableList
nav.classToC, LoT, Index, Glossary, Bibliography
ndxterm.classIndexTerm
notation.classBMP, CGM-CHAR, CGM-BINARY, CGM-CLEAR, DITROFF, DVI, EPS, EQN, FAX, GIF, IGES, PCX, PIC, PS, TBL, TEX, TIFF, WMF, WPG, linespecific (this is the only class entity that contains not element names, but non-SGML notation names)
other.char.classComment, Subscript, Superscript
para.classFormalPara, Para, SimPara
refentry.classRefEntry
synop.classSynopsis, CmdSynopsis, FuncSynopsis
word.char.classAbbrev, Acronym, Citation, CiteTitle, CiteRefEntry, Emphasis, FirstTerm, ForeignPhrase, GlossTerm, Footnote, Phrase, Quote, Trademark, WordAsWord
xref.char.classFootnoteRef, XRef

Mixture (xxx.mix) Entities

Mixture entities combine various class entities and individual elements for use in repeatable-OR content model groups.

Table 2-3 shows the pattern of class entities used to build the object-level mixture entities that are used directly in content models. An "X" means that all elements in the indicated class are allowed.

Table 2-4 shows the pattern of class entities used to build the inline-level mixture entities that are used directly in content models. An "X" means that all elements in the indicated class are allowed.

A few miscellaneous mixtures are also defined: