DocBook

The Definitive Guide

by

Norman Walsh

and

Leonard Muellner

Version 1.0.2.

$Date: 1999/10/15 12:59:29 $

Beijing * Cambridge * Farnham * Köln * Paris * Sebastopol * Taipei * Tokyo


Table of Contents
Preface
1. Why Read This Book?
2. This Book's Audience
3. Organization of This Book
4. Conventions Used in This Book
5. Getting This Book
6. Getting Examples from This Book
7. Getting DocBook
8. Request for Comments
9. Acknowledgements from Norm
10. Acknowledgements from Lenny
11. Acknowledgements from Norm and Lenny
I. Introduction
1. Getting Startedwith SGML/XML
1.1. HTML and SGML vs. XML
1.2. Basic SGML/XML Concepts
1.3. Elements and Attributes
1.4. Entities
1.5. How Does DocBook Fit In?
2. Creating DocBook Documents
2.1. Making an SGML Document
2.2. Making an XML Document
2.3. Public Identifiers, System Identifiers, and Catalog Files
2.4. Physical Divisions: Breaking a Document into Physical Chunks
2.5. Logical Divisions: The Categories of Elements in DocBook
2.6. Making a DocBook Book
2.7. Making a Chapter
2.8. Making an Article
2.9. Making a Reference Page
2.10. Making Front- and Backmatter
3. Parsing DocBook Documents
3.1. Validating Your Documents
3.2. Understanding Parse Errors
4. Publishing DocBook Documents
4.1. A Survey of Stylesheet Languages
4.2. Using Jade and DSSSL to Publish DocBook Documents
4.3. A Brief Introduction to DSSSL
4.4. Customizing the Stylesheets
4.5. Dealing with Multiple Declarations
4.6. The DSSSL Architecture
5. Customizing DocBook
5.1. Should You Do This?
5.2. If You Change DocBook, It's Not DocBook Anymore!
5.3. Customization Layers
5.4. Understanding DocBook Structure
5.5. The General Structure ofCustomization Layers
5.6. Writing, Testing, and Using a Customization Layer
5.7. Testing Your Work
5.8. Removing Elements
5.9. Removing Attributes
5.10. Adding Elements: Adding a Sect6
5.11. Other Modifications: Classifying a Role
II. Reference
I. DocBook Element Reference
Abbrev — An abbreviation, especially one followed by a period
Abstract — A summary
Accel — A graphical user interface (GUI) keyboard shortcut
Ackno — Acknowledgements in an Article
Acronym — An often pronounceable word made from the initial (or selected) letters of a name or phrase
Action — A response to a user event
Address — A real-world address, generally a postal address
Affiliation — The institutional affiliation of an individual
Alt — Text representation for a graphical element
Anchor — A spot in the document
Answer — An answer to a question posed in a QandASet
Appendix — An appendix in a Book or Article
Application — The name of a software program
Area — A region defined for a Callout in a graphic or code example
AreaSet — A set of related areas in a graphic or code example
AreaSpec — A collection of regions in a graphic or code example
Arg — An argument in a CmdSynopsis
ArtHeader — Meta-information for an Article
Article — An article
ArtPageNums — The page numbers of an article as published
Attribution — The source of a block quote or epigraph
AudioData — Pointer to external audio data
AudioObject — A wrapper for audio data and its associated meta-information
Author — The name of an individual author
AuthorBlurb — A short description or note about an author
AuthorGroup — Wrapper for author information when a document has multiple authors or collabarators
AuthorInitials — The initials or other short identifier for an author
BeginPage — The location of a page break in a print version of the document
BiblioDiv — A section of a Bibliography
BiblioEntry — An entry in a Bibliography
Bibliography — A bibliography
BiblioMisc — Untyped bibliographic information
BiblioMixed — An entry in a Bibliography
BiblioMSet — A "cooked" container for related bibliographic information
BiblioSet — A "raw" container for related bibliographic information
BlockQuote — A quotation set off from the main text
Book — A book
BookBiblio — Meta-information about a book used in a bibliographical citation
BookInfo — Meta-information for a Book
BridgeHead — A free-floating heading
Callout — A "called out" description of a marked Area
CalloutList — A list of Callouts
Caption — A caption
Caution — A note of caution
Chapter — A chapter, as of a book
Citation — An inline bibliographic reference to another published work
CiteRefEntry — A citation to a reference page
CiteTitle — The title of a cited work
City — The name of a city in an address
ClassName — The name of a class, in the object-oriented programming sense
CmdSynopsis — A syntax summary for a software command
CO — The location of a callout embedded in text
Collab — Identifies a collaborator
CollabName — The name of a collaborator
Colophon — Text at the back of a book describing facts about its production
colspec — Specifications for a column in a table
Command — The name of an executable program or other software command
Comment — A comment intended for presentation in a draft manuscript
ComputerOutput — Data, generally text, displayed or presented by a computer
ConfDates — The dates of a conference for which a document was written
ConfGroup — A wrapper for document meta-information about a conference
ConfNum — An identifier, frequently numerical, associated with a conference for which a document was written
ConfSponsor — The sponsor of a conference for which a document was written
ConfTitle — The title of a conference for which a document was written
Constant — A programming or system constant
ContractNum — The contract number of a document
ContractSponsor — The sponsor of a contract
Contrib — A summary of the contributions made to a document by a credited source
Copyright — Copyright information about a document
CorpAuthor — A corporate author, as opposed to an individual
CorpName — The name of a corporation
Country — The name of a country
Database — The name of a database, or part of a database
Date — The date of publication or revision of a document
Dedication — A wrapper for the dedication section of a book
DocInfo — Meta-data for a book component
Edition — The name or number of an edition of a document
Editor — The name of the editor of a document
Email — An email address
Emphasis — Emphasized text
entry — A cell in a table
entrytbl — A subtable appearing in place of an Entry in a table
EnVar — A software environment variable
Epigraph — A short inscription at the beginning of a document or component
Equation — A displayed mathematical equation
ErrorCode — An error code
ErrorName — An error message
ErrorType — The classification of an error message
Example — A formal example, with a title
Fax — A fax number
Figure — A formal figure, generally an illustration, with a title
Filename — The name of a file
FirstName — The first name of a person
FirstTerm — The first occurrence of a term
Footnote — A footnote
FootnoteRef — A cross reference to a footnote (a footnote mark)
ForeignPhrase — A word or phrase in a language other than the primary language of the document
FormalPara — A paragraph with a title
FuncDef — A function (subroutine) name and its return type
FuncParams — Parameters for a function referenced through a function pointer in a synopsis
FuncPrototype — The prototype of a function
FuncSynopsis — The syntax summary for a function definition
FuncSynopsisInfo — Information supplementing the FuncDefs of a FuncSynopsis
Function — The name of a function or subroutine, as in a programming language
Glossary — A glossary
GlossDef — A definition in a GlossEntry
GlossDiv — A division in a Glossary
GlossEntry — An entry in a Glossary or GlossList
GlossList — A wrapper for a set of GlossEntrys
GlossSee — A cross-reference from one GlossEntry to another
GlossSeeAlso — A cross-reference from one GlossEntry to another
GlossTerm — A glossary term
Graphic — A displayed graphical object (not an inline)
GraphicCO — A graphic that contains callout areas
Group — A group of elements in a CmdSynopsis
GUIButton — The text on a button in a GUI
GUIIcon — Graphic and/or text appearing as a icon in a GUI
GUILabel — The text of a label in a GUI
GUIMenu — The name of a menu in a GUI
GUIMenuItem — The name of a terminal menu item in a GUI
GUISubmenu — The name of a submenu in a GUI
Hardware — A physical part of a computer system
Highlights — A summary of the main points of the discussed component
Holder — The name of the individual or organization that holds a copyright
Honorific — The title of a person
ImageData — Pointer to external image data
ImageObject — A wrapper for image data and its associated meta-information
ImageObjectCO — A wrapper for an image object with callouts
Important — An admonition set off from the text
Index — An index
IndexDiv — A division in an index
IndexEntry — An entry in an index
IndexTerm — A wrapper for terms to be indexed
InformalEquation — A displayed mathematical equation without a title
InformalExample — A displayed example without a title
InformalFigure — A untitled figure
InformalTable — A table without a title
InlineEquation — A mathematical equation or expression occurring inline
InlineGraphic — An object containing or pointing to graphical data that will be rendered inline
InlineMediaObject — An inline media object (video, audio, image, and so on)
Interface — An element of a GUI
InterfaceDefinition — The name of a formal specification of a GUI
InvPartNumber — An inventory part number
ISBN — The International Standard Book Number of a document
ISSN — The International Standard Serial Number of a periodical
IssueNum — The number of an issue of a journal
ItemizedList — A list in which each entry is marked with a bullet or other dingbat
ITermSet — A set of index terms in the meta-information of a document
JobTitle — The title of an individual in an organization
KeyCap — The text printed on a key on a keyboard
KeyCode — The internal, frequently numeric, identifier for a key on a keyboard
KeyCombo — A combination of input actions
KeySym — The symbolic name of a key on a keyboard
Keyword — One of a set of keywords describing the content of a document
KeywordSet — A set of keywords describing the content of a document
Label — A label on a Question or Answer
LegalNotice — A statement of legal obligations or requirements
Lineage — The portion of a person's name indicating a relationship to ancestors
LineAnnotation — A comment on a line in a verbatim listing
Link — A hypertext link
ListItem — A wrapper for the elements of a list item
Literal — Inline text that is some literal value
LiteralLayout — A block of text in which line breaks and white space are to be reproduced faithfully
LoT — A list of the titles of formal objects (as tables or figures) in a document
LoTentry — An entry in a list of titles
ManVolNum — A reference volume number
Markup — A string of formatting markup in text that is to be represented literally
MediaLabel — A name that identifies the physical medium on which some information resides
MediaObject — A displayed media object (video, audio, image, etc.)
MediaObjectCO — A media object that contains callouts
Member — An element of a simple list
MenuChoice — A selection or series of selections from a menu
ModeSpec — Application-specific information necessary for the completion of an OLink
MouseButton — The conventional name of a mouse button
Msg — A message in a message set
MsgAud — The audience to which a message in a message set is relevant
MsgEntry — A wrapper for an entry in a message set
MsgExplan — Explanatory material relating to a message in a message set
MsgInfo — Information about a message in a message set
MsgLevel — The level of importance or severity of a message in a message set
MsgMain — The primary component of a message in a message set
MsgOrig — The origin of a message in a message set
MsgRel — A related component of a message in a message set
MsgSet — A detailed set of messages, usually error messages
MsgSub — A subcomponent of a message in a message set
MsgText — The actual text of a message component in a message set
Note — A message set off from the text
ObjectInfo — Meta-information for an object
OLink — A link that addresses its target indirectly, through an entity
Option — An option for a software command
Optional — Optional information
OrderedList — A list in which each entry is marked with a sequentially incremented label
OrgDiv — A division of an organization
OrgName — The name of an organization other than a corporation
OtherAddr — Uncategorized information in address
OtherCredit — A person or entity, other than an author or editor, credited in a document
OtherName — A component of a persons name that is not a first name, surname, or lineage
PageNums — The numbers of the pages in a book, for use in a bibliographic entry
Para — A paragraph
ParamDef — Information about a function parameter in a programming language
Parameter — A value or a symbolic reference to a value
Part — A division in a book
PartIntro — An introduction to the contents of a part
Phone — A telephone number
Phrase — A span of text
POB — A post office box in an address
Postcode — A postal code in an address
Preface — Introductory matter preceding the first chapter of a book
Primary — The primary word or phrase under which an index term should be sorted
PrimaryIE — A primary term in an index entry, not in the text
PrintHistory — The printing history of a document
Procedure — A list of operations to be performed in a well-defined sequence
ProductName — The formal name of a product
ProductNumber — A number assigned to a product
ProgramListing — A literal listing of all or part of a program
ProgramListingCO — A program listing with associated areas used in callouts
Prompt — A character or string indicating the start of an input field in a computer display
Property — A unit of data associated with some part of a computer system
PubDate — The date of publication of a document
Publisher — The publisher of a document
PublisherName — The name of the publisher of a document
PubsNumber — A number assigned to a publication other than an ISBN or ISSN or inventory part number
QandADiv — A titled division in a QandASet
QandAEntry — A question/answer set within a QandASet
QandASet — A question-and-answer set
Question — A question in a QandASet
Quote — An inline quotation
RefClass — The scope or other indication of applicability of a reference entry
RefDescriptor — A description of the topic of a reference page
RefEntry — A reference page (originally a UNIX man-style reference page)
RefEntryTitle — The title of a reference page
Reference — A collection of reference entries
RefMeta — Meta-information for a reference entry
RefMiscInfo — Meta-information for a reference entry other than the title and volume number
RefName — The name of (one of) the subject(s) of a reference page
RefNameDiv — The name, purpose, and classification of a reference page
RefPurpose — A short (one sentence) synopsis of the topic of a reference page
RefSect1 — A major subsection of a reference entry
RefSect1Info — Meta-information for a RefSect1
RefSect2 — A subsection of a RefSect1
RefSect2Info — Meta-information for a RefSect2
RefSect3 — A subsection of a RefSect2
RefSect3Info — Meta-information for a RefSect3
RefSynopsisDiv — A syntactic synopsis of the subject of the reference page
RefSynopsisDivInfo — Meta-information for a RefSynopsisDiv
ReleaseInfo — Information about a particular release of a document
Replaceable — Content that may or must be replaced by the user
ReturnValue — The value returned by a function
RevHistory — A history of the revisions to a document
Revision — An entry describing a single revision in the history of the revisions to a document
RevNumber — A document revision number
RevRemark — A description of a revision to a document
row — A row in a table
SBR — An explicit line break in a command synopsis
Screen — Text that a user sees or might see on a computer screen
ScreenCO — A screen with associated areas used in callouts
ScreenInfo — Information about how a screen shot was produced
ScreenShot — A representation of what the user sees or might see on a computer screen
Secondary — A secondary word or phrase in an index term
SecondaryIE — A secondary term in an index entry, rather than in the text
Sect1 — A top-level section of document
Sect1Info — Meta-information for a Sect1
Sect2 — A subsection within a Sect1
Sect2Info — Meta-information for a Sect2
Sect3 — A subsection within a Sect2
Sect3Info — Meta-information for a Sect3
Sect4 — A subsection within a Sect3
Sect4Info — Meta-information for a Sect4
Sect5 — A subsection within a Sect4
Sect5Info — Meta-information for a Sect5
Section — A recursive section
SectionInfo — Meta-information for a recursive section
See — Part of an index term directing the reader instead to another entry in the index
SeeAlso — Part of an index term directing the reader also to another entry in the index
SeeAlsoIE — A "See also" entry in an index, rather than in the text
SeeIE — A "See" entry in an index, rather than in the text
Seg — An element of a list item in a segmented list
SegListItem — A list item in a segmented list
SegmentedList — A segmented list, a list of sets of elements
SegTitle — The title of an element of a list item in a segmented list
SeriesInfo — Information about the publication series of which a book is a part
SeriesVolNums — Numbers of the volumes in a series of books
Set — A collection of books
SetIndex — An index to a set of books
SetInfo — Meta-information for a Set
SGMLTag — A component of SGML markup
ShortAffil — A brief description of an affiliation
Shortcut — A key combination for an action that is also accessible through a menu
Sidebar — A portion of a document that is isolated from the main narrative flow
SimPara — A paragraph that contains only text and inline markup, no block elements
SimpleList — An undecorated list of single words or short phrases
SimpleSect — A section of a document with no subdivisions
spanspec — Formatting information for a spanned column in a table
State — A state or province in an address
Step — A unit of action in a procedure
Street — A street address in an address
StructField — A field in a structure (in the programming language sense)
StructName — The name of a structure (in the programming language sense)
Subject — One of a group of terms describing the subject matter of a document
SubjectSet — A set of terms describing the subject matter of a document
SubjectTerm — A term in a group of terms describing the subject matter of a document
Subscript — A subscript (as in H2O, the molecular formula for water)
SubSteps — A wrapper for steps that occur within steps in a procedure
Subtitle — The subtitle of a document
Superscript — A superscript (as in x2, the mathematical notation for x multiplied by itself)
Surname — A family name; in western cultures the "last name"
Symbol — A name that is replaced by a value before processing
SynopFragment — A portion of a CmdSynopsis broken out from the main body of the synopsis
SynopFragmentRef — A reference to a fragment of a command synopsis
Synopsis — A general-purpose element for representing the syntax of commands or functions
SystemItem — A system-related item or term
Table — A formal table in a document
tbody — A wrapper for the rows of a table or informal table
Term — The word or phrase being defined or described in a variable list
Tertiary — A tertiary word or phrase in an index term
TertiaryIE — A tertiary term in an index entry, rather than in the text
TextObject — A wrapper for a text description of an object and its associated meta-information
tfoot — A table footer consisting of one or more rows
tgroup — A wrapper for the main content of a table, or part of a table
thead — A table header consisting of one or more rows
Tip — A suggestion to the user, set off from the text
Title — The text of the title of a section of a document or of a formal block-level element
TitleAbbrev — The abbreviation of a Title
ToC — A table of contents
ToCback — An entry in a table of contents for a back matter component
ToCchap — An entry in a table of contents for a component in the body of a document
ToCentry — A component title in a table of contents
ToCfront — An entry in a table of contents for a front matter component
ToClevel1 — A top-level entry within a table of contents entry for a chapter-like component
ToClevel2 — A second-level entry within a table of contents entry for a chapter-like component
ToClevel3 — A third-level entry within a table of contents entry for a chapter-like component
ToClevel4 — A fourth-level entry within a table of contents entry for a chapter-like component
ToClevel5 — A fifth-level entry within a table of contents entry for a chapter-like component
ToCpart — An entry in a table of contents for a part of a book
Token — A unit of information
Trademark — A trademark
Type — The classification of a value
ULink — A link that addresses its target by means of a URL (Uniform Resource Locator)
UserInput — Data entered by the user
VarArgs — An empty element in a function synopsis indicating a variable number of arguments
VariableList — A list in which each entry is composed of a set of one or more terms and an associated description
VarListEntry — A wrapper for a set of terms and the associated description in a variable list
VarName — The name of a variable
VideoData — Pointer to external video data
VideoObject — A wrapper for video data and its associated meta-information
Void — An empty element in a function synopsis indicating that the function in question takes no arguments
VolumeNum — The volume number of a document in a set (as of books in a set or articles in a journal)
Warning — An admonition set off from the text
WordAsWord — A word meant specifically as a word and not representing anything else
XRef — A cross reference to another part of the document
Year — The year of publication of a document
II. DocBook Parameter Entity Reference
%*.attlist; Parameter Entities — Control individual attribute list declarations
%*.attrib; Parameter Entities — Define attributes on selected elements
%*.attval; Parameter Entities — Define attribute values
CALS Table Model Parameter Entities — Parameter entities which control the CALS Table Model
%*.class; Parameter Entities — Parameter entities which define the DocBook classes
Common Attribute Parameter Entities — Parameter entities which define the common attributes
Content Module Parameter Entities — Control groups of element definitions
DocBook Content Parameter Entities — Specify content of selected elements
%db*; Parameter Entities — Control inclusion of DocBook modules
%*.element; Parameter Entities — Control individual element declarations
%*.exclusion; Parameter Entities — Control SGML exclusions
%*.inclusion; Parameter Entities — Control SGML inclusions
%local.*.attrib; Parameter Entities — Allow attribute extension
%local.*.class; Parameter Entities — Allow class extension
%local.*.mix; Parameter Entities — Allow mixture extension
%*.mix; Parameter Entities — Parameter entities which define the DocBook mixtures
%*.module; Parameter Entities — Control element definitions
%*.role.attrib; Parameter Entities — Parameter entities which control definition of role attributes
III. DocBook Character Entity Reference
Added Math Symbols: Arrow Relations Character Entities (%isoamsa;) — Added Math Symbols: Arrow Relations Character Entities
Added Math Symbols: Binary Operators Character Entities (%isoamsb;) — Added Math Symbols: Binary Operators Character Entities
Added Math Symbols: Delimiters Character Entities (%isoamsc;) — Added Math Symbols: Delimiters Character Entities
Added Math Symbols: Negated Relations Character Entities (%isoamsn;) — Added Math Symbols: Negated Relations Character Entities
Added Math Symbols: Ordinary Character Entities (%isoamso;) — Added Math Symbols: Ordinary Character Entities
Added Math Symbols: Relations Character Entities (%isoamsr;) — Added Math Symbols: Relations Character Entities
Box and Line Drawing Character Entities (%isobox;) — Box and Line Drawing Character Entities
Russian Cyrillic Character Entities (%isocyr1;) — Russian Cyrillic Character Entities
Non-Russian Cyrillic Character Entities (%isocyr2;) — Non-Russian Cyrillic Character Entities
Diacritical Marks Character Entities (%isodia;) — Diacritical Marks Character Entities
Greek Letters Character Entities (%isogrk1;) — Greek Letters Character Entities
Monotoniko Greek Character Entities (%isogrk2;) — Monotoniko Greek Character Entities
Greek Symbols Character Entities (%isogrk3;) — Greek Symbols Character Entities
Alternative Greek Symbols Character Entities (%isogrk4;) — Alternative Greek Symbols Character Entities
ISO Latin 1 Character Entities (%isolat1;)ISO Latin 1 Character Entities
Added Latin 2 Character Entities (%isolat2;) — Added Latin 2 Character Entities
Numeric and Special Graphic Character Entities (%isonum;) — Numeric and Special Graphic Character Entities
Publishing Character Entities (%isopub;) — Publishing Character Entities
General Technical Character Entities (%isotech;) — General Technical Character Entities
III. Appendixes
A. Installation
A.1. Installing the DocBook DTD
A.2. Installing Jade
A.3. Installing the ModularDocBook Stylesheets
B. DocBook and XML
B.1. DocBook Instances as XML
B.2. The DocBook DTD as XML
C. DocBook Versions
C.1. DocBook V3.0
C.2. DocBook V3.1
C.3. DocBook V4.0
C.4. DocBook 5.0
C.5. DocBk XML
D. Resources
D.1. Latest Versions of DocBook
D.2. Resources for Resources
D.3. Introductory Material on the Web
D.4. References and Technical Noteson the Web
D.5. Internet RFCs
D.6. Specifications
D.7. Books and Printed Resources
D.8. SGML/XML Tools
E. What's on theCD-ROM?
E.1. DocBook: The Definitive Guide
E.2. The DocBook DTD
E.3. Stylesheets
E.4. Other Programs
F. Interchanging DocBook Documents
G. DocBook V3.1 Quick Reference
Glossary
Index
Colophon

Copyright © 1999 O'Reilly & Associates, Inc. All rights reserved.