The DocBook Publishers Schema

Committee Specification

27 August 2010

Specification URIs:
This Version:
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cs-01.html (Authoritative)
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cs-01.pdf
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cs-01.xml
Previous Version:
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cd-02.html
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cd-02.pdf
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cd-02.xml
Latest Version:
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec.html (Authoritative)
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec.pdf
http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec.xml
Technical Committee:
OASIS DocBook TC
Chair:
Norm Walsh, OASIS DocBook TC
Editor:
Scott Hudson
Related Work:

This specification replaces or supersedes: http://docs.oasis-open.org/docbook/specs/publishers-1.0-spec-cd-01.html.

This specification is related to: The DocBook Schema Version 5.0

Abstract:

For more than a decade, DocBook has provided a structured markup vocabulary for hardware and software documentation. DocBook is now widely used in both commercial and Open Source environments. DocBook has a very broad element set, and applies to much more than just technical documentation. The DocBook TC is engaged in evolving the suite of DocBook specifications. The community benefits from having a standard, open, interchangeable vocabulary in which to write structured content. DocBook has been, and will continue to be, designed to satisfy this requirement.

The OASIS DocBook Sub Committee for Publishers is chartered to develop and maintain official variants of DocBook in support of the publishing industry. Specifically, the subcommittee will focus on schema and stylesheet customizations to support: periodicals as regularly published technical notes or journals, book publishing (such as business, legal, medical, and other non-technical domains), educational textbooks and other document types as appropriate for this industry.

The DocBook Publishers Schema is based on DocBook 5.0, and delivered in the normative RelaxNG Schema format. As of 21 April 2010, a DTD version will also be made available.

Status:

This document was last revised or approved by the OASIS DocBook TC on the above date. The level of approval is also listed above. Check the "Latest Version" or "Latest Approved Version" location noted above for possible later revisions of this document.

Technical Committee members should send comments on this specification to the Technical Committee's email list. Others should send comments to the Technical Committee by using the "Send A Comment" button on the Technical Committee's web page at http://www.oasis-open.org/committees/comments/index.php?wg_abbrev=docbook.

For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Technical Committee web page http://www.oasis-open.org/committees/docbook/ipr.php.

The non-normative errata page for this specification is located at http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=docbook-publishers.


Notices

Copyright © OASIS® Open 2010. All Rights Reserved.

All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.

OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.

OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.

The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see http://www.oasis-open.org/who/trademark.php for above guidance.


Table of Contents

1. Introduction
1.1. Terminology
1.1.1. Key words
1.2. Normative References
1.3. Non-Normative References
2. The DocBook Publishers RELAX NG Schema
3. Additions to Core DocBook
3.1. Explicit support for Dublin Core metadata
3.2. New Element Definitions
3.3. Redefined DocBook Content Models
4. Exclusions from core DocBook
5. Conformance

Appendixes

A. Acknowledgements (Non-Normative)
B. Content Model Definitions
B.1. New Element Definitions
B.2. New Attribute Definitions
B.3. Dublin Core metadata elements
B.4. Re-Defined DocBook Content Models
B.5. Included DocBook Element Definitions
B.6. Excluded DocBook Element Definitions
C. Revision History

1. Introduction

For more than a decade, DocBook has provided a structured markup vocabulary for hardware and software documentation. DocBook is now widely used in both commercial and Open Source environments. DocBook has a very broad element set, and applies to much more than just technical documentation. The DocBook TC is engaged in evolving the suite of DocBook specifications. The community benefits from having a standard, open, interchangeable vocabulary in which to write structured content. DocBook has been, and will continue to be, designed to satisfy this requirement.

The OASIS DocBook Sub Committee for Publishers is chartered to develop and maintain official variants of DocBook in support of the publishing industry. Specifically, the subcommittee will focus on schema and stylesheet customizations to support: periodicals as regularly published technical notes or journals, book publishing (such as business, legal, medical, and other non-technical domains), educational textbooks and other document types as appropriate for this industry.

The DocBook Publishers subcommittee maintains the DocBook Publishers schema. Based on DocBook V5.0, the DocBook Publishers schema is normatively available as a [RELAX NG] Schema (with some additional Schematron assertions). As of 21 April 2010, a DTD version will also be made available, but is not the normative format.

The DocBook Technical Committee welcomes bug reports and requests for enhancement (RFEs) from the user community. The current list of outstanding requests is available through the SourceForge tracker interface. This is also the preferred mechanism for submitting new requests.

Of the 361 total elements in the full DocBook standard, the Publishers schema has been simplified to exclude 149 elements from full DocBook. Modifications have been made to 11 patterns from the DocBook schema. Additions to the schema include: the Dublin Core metadata elements (54) and 6 new elements.

1.1. Terminology

1.1.1.  Key words

The key words must, must not, required, shall, shall not, should, should not, recommended, may, and optional are to be interpreted as described in [RFC 2119]. Note that for reasons of style, these words are not capitalized in this document.

1.2. Normative References

[RELAX NG] James Clark, editor. RELAX NG Specification (Committee Specification). OASIS. 2001.

[XML] Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, et. al., editors. Extensible Markup Language (XML) 1.0 (Fourth Edition). World Wide Web Consortium, 16 August 2006.

[XLink11] Steven DeRose, Eve Maler, David Orchard, Norman Walsh, editors. XML Linking Language (XLink) Version 1.1. World Wide Web Consortium, 2005.

[RFC 2119] IETF (Internet Engineering Task Force). RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. 1997.

[RFC 3023] IETF (Internet Engineering Task Force). RFC 3023: XML Media Types. M. Murata, S. St. Laurent, D. Kohn. 2001.

[DocBook: TDG5] Norman Walsh and Leonard Meullner. DocBook 5.0: The Definitive Guide.

[DCMI Metadata Terms] DCMI Usage Board DCMI Metadata Terms (DCMI Recommendation). Copyright © 2008-01-14 Dublin Core Metadata Initiative. All Rights Reserved. http://www.dublincore.org/about/copyright.

1.3. Non-Normative References

[SGML] JTC 1, SC 34. ISO 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML). 1986.

[W3C XML Schema] Henry S. Thompson, David Beech, Murray Maloney, et. al., editors. XML Schema Part 1: Structures. World Wide Web Consortium, 2000.

[W3C XML Datatypes] Paul V. Biron and Ashok Malhotra, editors. XML Schema Part 2: Datatypes. World Wide Web Consortium, 2000.

[Schematron] Rick Jelliffe, editor. The Schematron Assertion Language 1.5. Rick Jelliffe and Acedemia Sinica Computing Centre. 2001, 2001.

2. The DocBook Publishers RELAX NG Schema

The DocBook Publishers RELAX NG Schema is distributed from the DocBook site at OASIS. DocBook is also available from the mirror on http://docbook.org/.

This subcommittee will submit additional enhancements back to the full DocBook standard as appropriate. The scope of this DocBook Publishers schema is publishing industry content. Broadly, this includes books, journals and other related publications. The DocBook Publishers schema has been written as a native RELAX NG grammar, based on DocBook V5.0. This effort delivers on the following goals:

  1. Build official DocBook variant, based against the DocBook v5.0 schemas.

  2. Address issues and enhancement requests that have arisen from experience with real-world DocBook implementations.

  3. Add support for features specific to the publishing industry.

3. Additions to Core DocBook

The DocBook Publishers schema includes the following elements above and beyond those currently provided by the core DocBook standard. These are considered "official customizations".

3.1. Explicit support for Dublin Core metadata

While DocBook already includes many of the elements that are defined by the Dublin Core, it is not inherently interoperable with DC metadata. The Publisher's SC has decided to formally adopt Dublin Core metadata (issued 2008-01-14) as a formal metadata model for info elements. The Publishers schema will continue to support the base DocBook info metadata, but will allow Dublin Core elements as an alternative for capturing metadata in this widely adopted schema. In info, authors will be allowed to use either the standard DocBook elements or Dublin Core elements, and info may not contain a mix of the two element sets.

As the Dublin Core standard does not provide a RelaxNG or RelaxNG Compact version of their schema, the Publishers SC has endeavored to create Dublin Core in RNC format. The Publishers SC plans to contribute the dcterms.rnc, and dcmitypes.rnc back to the Dublin Core standard.

The following Dublin Core elements from the http://purl.org/dc/terms/ namespace have been defined and included in the Publishers schema:

title

A name given to the resource.

creator

An entity primarily responsible for making the resource. Examples of a Creator include a person, an organization, or a service. Typically, the name of a Creator should be used to indicate the entity.

subject

The topic of the resource. Typically, the subject will be represented using keywords, key phrases, or classification codes. Recommended best practice is to use a controlled vocabulary. To describe the spatial or temporal topic of the resource, use the Coverage element.

description

An account of the resource. Description may include but is not limited to: an abstract, a table of contents, a graphical representation, or a free-text account of the resource.

publisher

An entity responsible for making the resource available. Examples of a Publisher include a person, an organization, or a service. Typically, the name of a Publisher should be used to indicate the entity.

contributor

An entity responsible for making contributions to the resource. Examples of a Contributor include a person, an organization, or a service. Typically, the name of a Contributor should be used to indicate the entity.

date

A point or period of time associated with an event in the lifecycle of the resource. Date may be used to express temporal information at any level of granularity. Recommended best practice is to use an encoding scheme, such as the W3CDTF profile of ISO 8601 [W3CDTF].

type

The nature or genre of the resource. Recommended best practice is to use a controlled vocabulary such as the DCMI Type Vocabulary [DCMITYPE]. To describe the file format, physical medium, or dimensions of the resource, use the Format element.

format

The file format, physical medium, or dimensions of the resource. Examples of dimensions include size and duration. Recommended best practice is to use a controlled vocabulary such as the list of Internet Media Types [MIME].

identifier

An unambiguous reference to the resource within a given context. Recommended best practice is to identify the resource by means of a string conforming to a formal identification system.

source

A related resource from which the described resource is derived. The described resource may be derived from the related resource in whole or in part. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.

language

A language of the resource. Recommended best practice is to use a controlled vocabulary such as RFC 4646 [RFC4646].

relation

A related resource. Recommended best practice is to identify the related resource by means of a string conforming to a formal identification system.

coverage

The spatial or temporal topic of the resource, the spatial applicability of the resource, or the jurisdiction under which the resource is relevant. Spatial topic and spatial applicability may be a named place or a location specified by its geographic coordinates. Temporal topic may be a named period, date, or date range. A jurisdiction may be a named administrative entity or a geographic place to which the resource applies. Recommended best practice is to use a controlled vocabulary such as the Thesaurus of Geographic Names [TGN]. Where appropriate, named places or time periods can be used in preference to numeric identifiers such as sets of coordinates or date ranges.

rights

Information about rights held in and over the resource. Typically, rights information includes a statement about various property rights associated with the resource, including intellectual property rights.

alternative

An alternative name for the resource. The distinction between titles and alternative titles is application-specific.

tableOfContents

A list of subunits of the resource.

abstract

A summary of the resource.

created

Date of creation of the resource.

valid

Date (often a range) of validity of a resource.

available

Date (often a range) that the resource became or will become available.

issued

Date of formal issuance (e.g., publication) of the resource.

modified

Date on which the resource was changed.

dateAccepted

Date of acceptance of the resource. Examples of resources to which a Date Accepted may be relevant are a thesis (accepted by a university department) or an article (accepted by a journal).

dateCopyrighted

Date of copyright.

dateSubmitted

Date of submission of the resource. Examples of resources to which a Date Submitted may be relevant are a thesis (submitted to a university department) or an article (submitted to a journal).

extent

The size or duration of the resource.

medium

The material or physical carrier of the resource.

isVersionOf

A related resource of which the described resource is a version, edition, or adaptation. Changes in version imply substantive changes in content rather than differences in format.

hasVersion

A related resource that is a version, edition, or adaptation of the described resource.

isReplacedBy

A related resource that supplants, displaces, or supersedes the described resource.

replaces

A related resource that is supplanted, displaced, or superseded by the described resource.

isRequiredBy

A related resource that requires the described resource to support its function, delivery, or coherence.

requires

A related resource that is required by the described resource to support its function, delivery, or coherence.

isPartOf

A related resource in which the described resource is physically or logically included.

hasPart

A related resource that is included either physically or logically in the described resource.

isReferencedBy

A related resource that references, cites, or otherwise points to the described resource.

references

A related resource that is referenced, cited, or otherwise pointed to by the described resource.

isFormatOf

A related resource that is substantially the same as the described resource, but in another format.

hasFormat

A related resource that is substantially the same as the pre-existing described resource, but in another format.

conformsTo

An established standard to which the described resource conforms.

spatial

Spatial characteristics of the resource.

temporal

Temporal characteristics of the resource.

audience

A class of entity for whom the resource is intended or useful.

accrualMethod

The method by which items are added to a collection.

accrualPeriodicity

The frequency with which items are added to a collection.

accrualPolicy

The policy governing the addition of items to a collection.

instructionalMethod

A process, used to engender knowledge, attitudes and skills, that the described resource is designed to support. Instructional Method will typically include ways of presenting instructional materials or conducting instructional activities, patterns of learner-to-learner and learner-to-instructor interactions, and mechanisms by which group and individual levels of learning are measured. Instructional methods include all aspects of the instruction and learning processes from planning and implementation through evaluation and feedback.

provenance

A statement of any changes in ownership and custody of the resource since its creation that are significant for its authenticity, integrity, and interpretation. The statement may include a description of any changes successive custodians made to the resource.

rightsHolder

A person or organization owning or managing rights over the resource.

mediator

An entity that mediates access to the resource and for whom the resource is intended or useful. In an educational context, a mediator might be a parent, teacher, teaching assistant, or care-giver.

educationLevel

A class of entity, defined in terms of progression through an educational or training context, for which the described resource is intended.

accessRights

Information about who can access the resource or an indication of its security status. Access Rights may include information regarding access or restrictions based on privacy, security, or other policies.

license

A legal document giving official permission to do something with the resource.

bibliographicCitation

A bibliographic reference for the resource. Recommended practice is to include sufficient bibliographic detail to identify the resource as unambiguously as possible.

The following table provides a comparison of the Dublin Core metadata elements and equivalent elements from core DocBook. As the Publishers schema provides for an "either-or" approach to metadata, authors will have to provide metadata in either Dublin Core or in DocBook, but not a mix of the two. In some cases, additional role attributes or other logic may be required to determine the best mapping for core DocBook elements.

Table 1. Comparison of Dublin Core and core DocBook metadata elements

Dublin Core elementCore DocBook element
titletitle
creatorauthor,editor,othercredit[a]
subjectkeywordset,subjectset
descriptionabstract
publisherpublisher,publishername
contributorauthor,editor,othercredit,collab
datedate,pubdate
typeDerived from document element and status attribute
formatbibliomisc role="format"
identifierbiblioid
sourcebibliosource
languagelang or xml:lang attribute
relationbibliorelation
coveragebibliocoverage
rightscopyright,legalnotice
alternativetitleabbrev
tableOfContentsbibliomisc role="toc"
abstractabstract
createddate role="created"
validdate role="valid"
availabledate role="available"
issuedpubdate
modifieddate role="modified",revhistory/revision
dateAccepteddate role="accepted"
dateCopyrightedcopyright/year
dateSubmitteddate role="submitted"
extentreleaseinfo
mediumbibliomisc role="medium"
isVersionOfbibliorelation type="isversionof"
hasVersionbibliorelation type="hasversion"
isReplacedBybibliorelation type="isreplacedby"
replacesbibliorelation type="replaces"
isRequriedBybibliorelation type="isrequiredby"
requiresbibliorelation type="requires"
isPartOfbibliorelation type="ispartof"
hasPartbibliorelation type="haspart"
isReferencedBybibliorelation type="isreferencedby"
referencesbibliorelation type="references"
isFormatOfbibliorelation type="isformatof"
hasFormatbibliorelation type="hasformat"
conformsToversion attribute
spatialbibliocoverage spatial=""
temporalbibliocoverage temporal=""
audiencebibliomisc role="audience"
accrualMethodbibliomisc role="accrualMethod"
accrualPeriodicitybibliomisc role="accrualPeriodicity"
instructionalMethodbibliomisc role="instructionalMethod"
provenancecopyright/holder,publisher/publishername
rightsHoldercopyright/holder
mediatorbibliomisc role="mediator"
educationLevelbibliomisc role="educationLevel"
accessRightslegalnotice
licenselegalnotice
bibliographicCitationbibliomset,bibliomixed

[a] Best practice would be to only use author for creator. Use contributor for other roles.

3.2. New Element Definitions

The following elements have been added to support the needs of publishers:

speaker

Designates a person who is giving a speech or lecture.

line

A line of dialogue or other form of communication.

linegroup

A grouping of lines in dialogue or other form of communication.

poetry

A container for poetry.

dialogue

A container for speeches and other forms of communication involving dialogue.

drama

A container for plays and other forms of dramatic presentation.

Example 1. Example Drama

The following provides an example usage of the newly added elements:

<drama >
  <linegroup>
    <speaker>HAMLET</speaker>
    <line>To be, or not to be: that is the 
      question:</line>
    <line>Whether 'tis nobler in the mind to 
      suffer</line>
    <line>The slings and arrows of outrageous 
      fortune,</line>
    <line>Or to take arms against a sea of 
      troubles,</line>
    <line>And by opposing end them?
      </line>
  </linegroup>
</drama>

Example 2. Example Dialogue

The following provides an example usage of the newly added elements:

<dialogue >
  <linegroup>
    <speaker>President John F. 
      Kennedy</speaker>
    <line>And so, my fellow Americans, ask 
      not what your country can do for you; ask what you can 
      do for your country.</line>
    <line>My fellow citizens of the world, 
      ask not what America will do for you, but what together 
      we can do for the freedom of man.</line>
    <line>Finally, whether you are citizens 
      of America or citizens of the world, ask of us here the 
      same high standards of strength and sacrifice which we 
      ask of you. With a good conscience our only sure reward, 
      with history the final judge of our deeds, let us go 
      forth to lead the land we love, asking His blessing and 
      His help, but knowing that here on earth God's work must 
      truly be our own.</line>
  </linegroup>
</dialogue>

Example 3. Example Poetry

The following provides an example usage of the newly added elements:

<poetry>
  <title>Auld Lang Syne</title>
  <info>
    <creator xmlns="http://purl.org/dc/terms/">Robert 
      Burns</creator>
  </info>
  <linegroup>
    <line>Should auld acquaintance be 
      forgot,</line>
    <line>And never brought to mind?</line>
    <line>Should auld acquaintance be forgot,</line>
    <line>And auld lang syne?</line>
  </linegroup>                
  <linegroup>
    <line>For auld lang syne, my dear,</line>
    <line>For auld lang syne,</line>
    <line>We'll tak a cup o' kindness yet,</line>
    <line>For auld lang syne.</line>
  </linegroup>
</poetry>

3.3. Redefined DocBook Content Models

The following content models from core DocBook have been customized to better support the needs of Publishers:

sidebar

Several publishers demonstrated a need to have nested sections within a sidebar. As a result, the sidebar model was modified to allow recursive section elements.

Sidebar was also modified to allow subtitle as well as title.

person

While not appropriate in technical documentation, several publishers requested that media objects (such as photos) be allowed within a person element. As a result, the person model was modified to include mediaobject.

org

While not appropriate in technical documentation, several publishers requested that media objects (such as logos) be allowed within an org element. The org element was modified to include mediaobject.

info

The various patterns defining info have been modified to allow either DocBook metadata OR Dublin Core metadata elements.

block-level patterns

The block-level patterns in the schema have been modified to allow the newly created elements: dialogue, poetry, drama.

4. Exclusions from core DocBook

The DocBook Publishers Subcommittee identified 149 elements from core DocBook that, while appropriate for technical documentation, were not necessary for the broader Publishing industry. These elements are listed in Section B.6, “Excluded DocBook Element Definitions”.

5. Conformance

The DocBook Publishers schema is a valid DocBook v5.0 customization. Publications or documents will be considered conformant to this specification if they validate against the DocBook Publishers schema (publishers.rnc or publishers.rng).

Extensions allow implementers to include features that are in demand by their customers. Also, extensions, often times, define new features that may migrate into future versions of this specification. However, the use of extensions can have a severe negative impact on interoperability.

Any extensions to this schema SHALL follow the principles and guidelines of the DocBook v5.0 and this Publishers specification; that is, the specifications SHALL be extended in a standard manner as described in http://docbook.org/tdg5/en/html/ch05.html.

For implementations and/or applications that contain extensions, extensions SHALL be clearly described in supporting documentation, and the extensions SHALL be marked as such within the implementation/application.

This document's normative language is English. Translation into other languages is permitted.

Appendix A. Acknowledgements (Non-Normative)

The following individuals have participated in the creation of this specification and are gratefully acknowledged:

Participants

  • Jim Earley, Flatirons Solutions

  • Nic Gibson, Individual

  • Dick Hamilton, Individual

  • John Hanratty, Reed Elsevier

  • Gary Hoffman, Individual

  • Dave Pawson, Royal National Institute of the Blind (RNIB)

  • John Pederson, John Wiley & Sons, Inc.

  • Norman Walsh, Mark Logic Corporation (DocBook TC Chair)

  • Keith Fahlgren, Threepress Consulting, Inc. (Secretary)

  • Scott Hudson, Pelco (DocBook Publishers SC Chair, Editor)

Appendix B. Content Model Definitions

The following sections describe the content model changes for this schema in detail.

B.1. New Element Definitions

The following elements have been added to support the needs of publishers:

Table B.1. New Publishers Elements

ElementDefined InContent Model
speakerdb.speakerdb.speaker.attlist, ( db.person | text)*
linedb.linedb.line.attlist, (db.all.inlines | text)+
linegroupdb.linegroupdb.linegroup.attlist, db.speaker*, (db.line|db.all.blocks)+
poetrydb.poetrydb.poetry.attlist, db.poetry.info?, (db.mediaobject|db.linegroup|db.line|db.all.blocks)+
dialoguedb.dialoguedb.dialogue.attlist, db.dialogue.info?, (db.mediaobject|db.linegroup|db.line|db.all.blocks)+
dramadb.dramadb.drama.attlist, db.drama.info?, (db.mediaobject|db.linegroup|db.line|db.all.blocks)+

B.2. New Attribute Definitions

Each attribute list in DocBook V5.0 is defined by its own pattern. To change the list of attributes available on an element, only that pattern need be redefined. To remove all the attributes, that pattern can be redefined as " empty ".

The following attribute definitions have been added to the Publishers schema:

Table B.2. Publishers Attribute Pattern Definitions

Attribute pattern nameAttribute pattern definition
db.speaker.role.attributeattribute role { text }
db.speaker.attlistdb.speaker.role.attribute? & db.common.attributes & db.common.linking.attributes
db.line.role.attributeattribute role { text }
db.line.attlistdb.line.role.attribute? & db.common.attributes & db.common.linking.attributes
db.linegroup.role.attributeattribute role { text }
db.linegroup.attlistdb.linegroup.role.attribute? & db.common.attributes & db.common.linking.attributes
db.drama.role.attributeattribute role { text }
db.drama.attlistdb.drama.role.attribute? & db.common.attributes & db.common.linking.attributes
db.drama.role.attributeattribute role { text }
db.dialogue.attlistdb.dialogue.role.attribute? & db.common.attributes & db.common.linking.attributes
db.poetry.role.attributeattribute role { text }
db.poetry.attlistdb.poetry.role.attribute? & db.common.attributes & db.common.linking.attributes

B.3. Dublin Core metadata elements

The following Dublin Core elements have been defined and included in the Publishers schema:


            db.dublincore.elements = 
            dcterms.title
            | dcterms.creator 
            | dcterms.subject
            | dcterms.description
            | dcterms.publisher
            | dcterms.contributor
            | dcterms.date
            | dcterms.type
            | dcterms.format
            | dcterms.identifier
            | dcterms.source
            | dcterms.language
            | dcterms.relation
            | dcterms.coverage
            | dcterms.rights
            | dcterms.alternative
            | dcterms.tableOfContents
            | dcterms.abstract
            | dcterms.created
            | dcterms.valid
            | dcterms.available
            | dcterms.issued
            | dcterms.modified
            | dcterms.dateAccepted
            | dcterms.dateCopyrighted
            | dcterms.dateSubmitted
            | dcterms.extent
            | dcterms.medium
            | dcterms.isVersionOf
            | dcterms.hasVersion
            | dcterms.isReplacedBy
            | dcterms.replaces
            | dcterms.isRequiredBy
            | dcterms.requires
            | dcterms.isPartOf
            | dcterms.hasPart
            | dcterms.isReferencedBy
            | dcterms.references
            | dcterms.isFormatOf
            | dcterms.hasFormat
            | dcterms.conformsTo
            | dcterms.spatial
            | dcterms.temporal
            | dcterms.audience
            | dcterms.accrualMethod
            | dcterms.accrualPeriodicity
            | dcterms.accrualPolicy
            | dcterms.instructionalMethod
            | dcterms.provenance
            | dcterms.rightsHolder
            | dcterms.mediator
            | dcterms.educationLevel
            | dcterms.accessRights
            | dcterms.license
            | dcterms.bibliographicCitation
        

B.4. Re-Defined DocBook Content Models

The following patterns have been re-defined in the Publishers schema:

Table B.3. 

Pattern NameOriginal DefinitionRevised Definition
db.sidebardb.sidebar.attlist, db.sidebar.info, db.all.blocks+db.sidebar.attlist, db._title, db.sidebar.info, db.all.blocks+, db.recursive.sections*
db.persondb.person.attlist, db.personname, ( db.address | db.affiliation | db.email | db.uri |db.person.attlist, db.personname, (db.address|db.affiliation|db.email|db.uri|db.personblurb|db.mediaobject)*
db.orgdb.org.attlist, db.orgname, ( db.address | db.affiliation | db.email | db.uri | db.orgdiv )*db.org.attlist, db.orgname, (db.address|db.affiliation|db.email|db.uri|db.orgdiv|db.mediaobject)*
db.info( db._title, db.titleforbidden.info? ) | db.info?db.info.attlist, ( db._title & (db.info.elements*|db.dublincore.elements*) )
db.titleforbidden.infodb.titleforbidden.info.attlist, db.info.elements*db.titleforbidden.info.attlist, (db.info.elements*|db.dublincore.elements*)
db.titleonly.infodb.titleonly.info.attlist, ( db._title.only & db.info.elements* )db.titleonly.info.attlist, ( db._title.only & (db.info.elements*|db.dublincore.elements*) )
db.titleonlyreq.infodb.titleonlyreq.info.attlist, ( db._title.onlyreq & db.info.elements* )db.titleonlyreq.info.attlist, ( db._title.onlyreq & (db.info.elements*|db.dublincore.elements*) )
db.titlereq.infodb.titlereq.info.attlist, ( db._title.req & db.info.elements* )db.titlereq.info.attlist, ( db._title.req & (db.info.elements*|db.dublincore.elements*) )
db.bibliographic.elementsdb.info.elements | db.publishing.inlines | db.citerefentry | db.citetitle | db.citebiblioid | db.person | db.personblurb | db.personname | db.subtitle | db.title | db.titleabbrev(db.info.elements*|db.dublincore.elements*) | db.publishing.inlines | db.citerefentry | db.citetitle | db.citebiblioid | db.person | db.personblurb | db.personname | db.subtitle | db.title | db.titleabbrev
db.extension.blocks db.dialogue | db.poetry | db.drama

B.5. Included DocBook Element Definitions

Each element in DocBook V5.0 is defined by its own pattern. To change the content model of an element, only that pattern need be redefined. To remove an element from DocBook, that pattern can be redefined as " notAllowed ".

The following 212 elements from full DocBook have been included:

Table B.4. Included DocBook elements

Element Name

Definition

Group

Module

Description

abbrev

db.abbrev

db.publishing.inlines

pool.rnc

An abbreviation, especially one followed by a period

abstract

db.abstract

db.info.elements

pool.rnc

A summary

acknowledgements

db.acknowledgements

db.components

hier.rnc

Acknowledgements of a book or other component

acronym

db.acronym

db.publishing.inlines

pool.rnc

An often pronounceable word made from the initial (or selected) letters of a name or phrase

address

db.address

db.publishing.blocks

pool.rnc

A real-world address, generally a postal address

affiliation

db.affiliation

db.person.author.contentmodel

pool.rnc

The institutional affiliation of an individual

alt

db.alt

db.ubiq.inlines

pool.rnc

A text-only annotation, often used for accessibility

anchor

db.anchor

db.link.inlines

pool.rnc

A spot in the document

answer

db.answer

db.qandaentry

qandaset.rnc

An answer to a question posed in a QandASet

appendix

db.appendix

db.components

hier.rnc

An appendix in a Book or Article

area

db.area

db.areaspec

callouts.rnc

A region defined for a Callout in a graphic or code example

area

db.area.inareaset

db.areaset

callouts.rnc

A region defined for a Callout in a graphic or code example

areaset

db.areaset

db.areaspec

callouts.rnc

A set of related areas in a graphic or code example

areaspec

db.areaspec

db.programlistingco

callouts.rnc

A collection of regions in a graphic or code example

article

db.article

db.components

hier.rnc

An article

artpagenums

db.artpagenums

db.info.elements

pool.rnc

The page numbers of an article as published

attribution

db.attribution

db.blockquote

pool.rnc

The source of a block quote or epigraph

audiodata

db.audiodata

db.audioobject

pool.rnc

Pointer to external audio data

audioobject

db.audioobject

db.mediaobject.content

pool.rnc

A wrapper for audio data and its associated meta-information

author

db.author

db.bibliography.inlines

pool.rnc

The name of an individual author

authorgroup

db.authorgroup

db.info.elements

pool.rnc

Wrapper for author information when a document has multiple authors or collabarators

authorinitials

db.authorinitials

db.info.elements

pool.rnc

The initials or other short identifier for an author

bibliocoverage

db.bibliocoverage

db.info.elements

pool.rnc

The spatial or temporal coverage of a document

bibliodiv

db.bibliodiv

db.bibliography

bibliography.rnc

A section of a Bibliography

biblioentry

db.biblioentry

db.bibliography

bibliography.rnc

An entry in a Bibliography

bibliography

db.bibliography

db.navigation.components

bibliography.rnc

A bibliography

biblioid

db.biblioid

db.info.elements

pool.rnc

An identifier for a document

bibliolist

db.bibliolist

db.list.blocks

bibliography.rnc

A wrapper for a list of bibliography entries

bibliomisc

db.bibliomisc

db.info.elements

bibliography.rnc

Untyped bibliographic information

bibliomixed

db.bibliomixed

db.bibliography

bibliography.rnc

An entry in a Bibliography

bibliomset

db.bibliomset

db.info.elements

bibliography.rnc

A cooked container for related bibliographic information

biblioref

db.biblioref

db.link.inlines

bibliography.rnc

A cross-reference to a bibliographic entry

bibliorelation

db.bibliorelation

db.info.elements

pool.rnc

The relationship of a document to another

biblioset

db.biblioset

db.info.elements

bibliography.rnc

A raw container for related bibliographic information

bibliosource

db.bibliosource

db.info.elements

pool.rnc

The source of a document

blockquote

db.blockquote

db.publishing.blocks

pool.rnc

A quotation set off from the main text

book

db.book

db.set.components

hier.rnc

A book

bridgehead

db.bridgehead

db.nopara.blocks

pool.rnc

A free-floating heading

callout

db.callout

db.calloutlist

callouts.rnc

A called out description of a marked Area

calloutlist

db.calloutlist

db.list.blocks

callouts.rnc

A list of callouts

caption

db.caption

db.example

pool.rnc

A caption

caption

db.html.caption

db.html.table.model

htmltbl.rnc

An HTML table caption

chapter

db.chapter

db.components

hier.rnc

A chapter, as of a book

citation

db.citation

db.bibliography.inlines

pool.rnc

An inline bibliographic reference to another published work

citebiblioid

db.citebiblioid

db.bibliography.inlines

pool.rnc

A citation of a bibliographic identifier

citetitle

db.citetitle

db.bibliography.inlines

pool.rnc

The title of a cited work

city

db.city

db.address

pool.rnc

The name of a city in an address

co

db.co

db.verbatim.inlines

callouts.rnc

The location of a callout embedded in text

collab

db.collab

db.info.elements

pool.rnc

Identifies a collaborator

colophon

db.colophon

db.components

hier.rnc

Text at the back of a book describing facts about its production

colspec

db.colspec

db.tgroup

calstbl.rnc

Specifications for a column in a table

confdates

db.confdates

db.confgroup

pool.rnc

The dates of a conference for which a document was written

confgroup

db.confgroup

db.info.elements

pool.rnc

A wrapper for document meta-information about a conference

confnum

db.confnum

db.confgroup

pool.rnc

An identifier, frequently numerical, associated with a conference for which a document was written

confsponsor

db.confsponsor

db.confgroup

pool.rnc

The sponsor of a conference for which a document was written

conftitle

db.conftitle

db.confgroup

pool.rnc

The title of a conference for which a document was written

contractnum

db.contractnum

db.info.elements

pool.rnc

The contract number of a document

contractsponsor

db.contractsponsor

db.info.elements

pool.rnc

The sponsor of a contract

contrib

db.contrib

db.person.author.contentmodel

pool.rnc

A summary of the contributions made to a document by a credited source

copyright

db.copyright

db.info.elements

pool.rnc

Copyright information about a document

coref

db.coref

db.publishing.inlines

callouts.rnc

A cross reference to a co

country

db.country

db.address

pool.rnc

The name of a country

cover

db.cover

db.info.elements

pool.rnc

Additional content for the cover of a publication

date

db.date

db.publishing.inlines

pool.rnc

The date of publication or revision of a document

dedication

db.dedication

db.components

hier.rnc

The dedication of a book or other component

edition

db.edition

db.info.elements

pool.rnc

The name or number of an edition of a document

editor

db.editor

db.bibliography.inlines

pool.rnc

The name of the editor of a document

email

db.email

db.markup.inlines

pool.rnc

An email address

emphasis

db._emphasis

db._emphasis

pool.rnc

A limited span of emphasized text

emphasis

db.emphasis

db.publishing.inlines

pool.rnc

Emphasized text

entry

db.entry

db.row

calstbl.rnc

A cell in a table

entrytbl

db.entrytbl

db.row

calstbl.rnc

A subtable appearing in place of an Entry in a table

epigraph

db.epigraph

db.publishing.blocks

pool.rnc

A short inscription at the beginning of a document or component

equation

db.equation

db.formal.blocks

math.rnc

A displayed mathematical equation

example

db.example

db.formal.blocks

pool.rnc

A formal example, with a title

fax

db.fax

db.address

pool.rnc

A fax number

figure

db.figure

db.formal.blocks

pool.rnc

A formal figure, generally an illustration, with a title

firstname

db.firstname

db.personname

pool.rnc

The first name of a person

firstterm

db.firstterm

db.glossary.inlines

glossary.rnc

The first occurrence of a term

footnote

db.footnote

db.publishing.inlines

pool.rnc

A footnote

footnoteref

db.footnoteref

db.publishing.inlines

pool.rnc

A cross reference to a footnote (a footnote mark)

foreignphrase

db.foreignphrase

db.publishing.inlines

pool.rnc

A word or phrase in a language other than the primary language of the document

formalpara

db.formalpara

db.para.blocks

pool.rnc

A paragraph with a title

glossary

db.glossary

db.navigation.components

glossary.rnc

A glossary

glossdef

db.glossdef

db.glossentry

glossary.rnc

A definition in a GlossEntry

glossdiv

db.glossdiv

db.glossary

glossary.rnc

A division in a Glossary

glossentry

db.glossentry

db.glosslist

glossary.rnc

An entry in a Glossary or GlossList

glosslist

db.glosslist

db.list.blocks

glossary.rnc

A wrapper for a list of glossary entries

glosssee

db.glosssee

db.glossentry

glossary.rnc

A cross-reference from one glossentry to another

glossseealso

db.glossseealso

db.glossdef

glossary.rnc

A cross-reference from one GlossEntry to another

glossterm

db.glossterm

db.glossary.inlines

glossary.rnc

A glossary term

holder

db.holder

db.copyright

pool.rnc

The name of the individual or organization that holds a copyright

honorific

db.honorific

db.personname

pool.rnc

The title of a person

imagedata

db.imagedata

db.imageobject.content

pool.rnc

Pointer to external image data

imagedata

db.imagedata.svg

db.imageobject.content

svg.rnc

An SVG drawing in a media object

imagedata

db.imagedata.mathml

db.imageobject.content

mathml.rnc

A MathML expression in a media object

imageobject

db.imageobject

db.mediaobject.content

pool.rnc

A wrapper for image data and its associated meta-information

imageobjectco

db.imageobjectco

db.mediaobject.content

callouts.rnc

A wrapper for an image object with callouts

index

db.index

db.navigation.components

index.rnc

An index to a book or part of a book

indexterm

db.indexterm.endofrange

db.indexterm

index.rnc

Identifies the end of a range associated with an indexed term

indexterm

db.indexterm.startofrange

db.indexterm

index.rnc

A wrapper for an indexed term that covers a range

indexterm

db.indexterm.singular

db.itermset

index.rnc

A wrapper for an indexed term

info

db.titleonly.info

db._info.title.only

pool.rnc

A wrapper for information about a component or other block with only a title

info

db.info

db._info

pool.rnc

A wrapper for information about a component or other block

info

db.titlereq.info

db._info.title.req

pool.rnc

A wrapper for information about a component or other block with a required title

info

db.titleforbidden.info

db._info

pool.rnc

A wrapper for information about a component or other block without a title

info

db.titleonlyreq.info

db._info.title.onlyreq

pool.rnc

A wrapper for information about a component or other block with only a required title

informalequation

db.informalequation

db.informal.blocks

math.rnc

A displayed mathematical equation without a title

informalexample

db.informalexample

db.informal.blocks

pool.rnc

A displayed example without a title

informalfigure

db.informalfigure

db.informal.blocks

pool.rnc

A untitled figure

informaltable

db.cals.informaltable

db.informaltable.choice

calstbl.rnc

A table without a title

inlineequation

db.inlineequation

db.math.inlines

math.rnc

A mathematical equation or expression occurring inline

inlinemediaobject

db.inlinemediaobject

db.ubiq.inlines

pool.rnc

An inline media object (video, audio, image, and so on)

issuenum

db.issuenum

db.info.elements

pool.rnc

The number of an issue of a journal

itemizedlist

db.itemizedlist

db.list.blocks

pool.rnc

A list in which each entry is marked with a bullet or other dingbat

itermset

db.itermset

db.info.elements

index.rnc

A set of index terms in the meta-information of a document

jobtitle

db.jobtitle

db.bibliography.inlines

pool.rnc

The title of an individual in an organization

keyword

db.keyword

db.keywordset

pool.rnc

One of a set of keywords describing the content of a document

keywordset

db.keywordset

db.info.elements

pool.rnc

A set of keywords describing the content of a document

label

db.label

db.question

qandaset.rnc

A label on a Question or Answer

legalnotice

db.legalnotice

db.info.elements

pool.rnc

A statement of legal obligations or requirements

lineage

db.lineage

db.personname

pool.rnc

The portion of a person's name indicating a relationship to ancestors

link

db.link

db.link.inlines

pool.rnc

A hypertext link

listitem

db.listitem

db.itemizedlist

pool.rnc

A wrapper for the elements of a list item

literal

db.literal

db.markup.inlines

markup.rnc

Inline text that is some literal value

literallayout

db.literallayout

db.verbatim.blocks

pool.rnc

A block of text in which line breaks and white space are to be reproduced faithfully

mathphrase

db.mathphrase

db.equation.content

math.rnc

A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup

mediaobject

db.mediaobject

db.graphic.blocks

pool.rnc

A displayed media object (video, audio, image, etc.)

member

db.member

db.simplelist

pool.rnc

An element of a simple list

note

db.note

db.admonition.blocks

pool.rnc

A message set off from the text

olink

db.olink

db.link.inlines

pool.rnc

A link that addresses its target indirectly

optional

db.optional

db.technical.inlines

technical.rnc

Optional information

orderedlist

db.orderedlist

db.list.blocks

pool.rnc

A list in which each entry is marked with a sequentially incremented label

org

db.org

db.bibliography.inlines

pool.rnc

An organization and associated metadata

orgdiv

db.orgdiv

db.affiliation

pool.rnc

A division of an organization

orgname

db.orgname

db.bibliography.inlines

pool.rnc

The name of an organization other than a corporation

otheraddr

db.otheraddr

db.address

pool.rnc

Uncategorized information in address

othercredit

db.othercredit

db.info.elements

pool.rnc

A person or entity, other than an author or editor, credited in a document

othername

db.othername

db.personname

pool.rnc

A component of a persons name that is not a first name, surname, or lineage

pagenums

db.pagenums

db.info.elements

pool.rnc

The numbers of the pages in a book, for use in a bibliographic entry

para

db.para

db.para.blocks

pool.rnc

A paragraph

part

db.part

db.divisions

hier.rnc

A division in a book

partintro

db.partintro

db.part

hier.rnc

An introduction to the contents of a part

person

db.person

db.bibliography.inlines

pool.rnc

A person and associated metadata

personblurb

db.personblurb

db.person.author.contentmodel

pool.rnc

A short description or note about a person

personname

db.personname

db.bibliography.inlines

pool.rnc

The personal name of an individual

phone

db.phone

db.address

pool.rnc

A telephone number

phrase

db.phrase

db.publishing.inlines

pool.rnc

A span of text

phrase

db._phrase

db._text

pool.rnc

A limited span of text

pob

db.pob

db.address

pool.rnc

A post office box in an address

postcode

db.postcode

db.address

pool.rnc

A postal code in an address

preface

db.preface

db.components

hier.rnc

Introductory matter preceding the first chapter of a book

primary

db.primary

db.indexterm.contentmodel

index.rnc

The primary word or phrase under which an index term should be sorted

printhistory

db.printhistory

db.info.elements

pool.rnc

The printing history of a document

procedure

db.procedure

db.technical.blocks

pool.rnc

A list of operations to be performed in a well-defined sequence

productname

db.productname

db.product.inlines

pool.rnc

The formal name of a product

productnumber

db.productnumber

db.product.inlines

pool.rnc

A number assigned to a product

pubdate

db.pubdate

db.info.elements

pool.rnc

The date of publication of a document

publisher

db.publisher

db.info.elements

pool.rnc

The publisher of a document

publishername

db.publishername

db.info.elements

pool.rnc

The name of the publisher of a document

qandadiv

db.qandadiv

db.qandaset

qandaset.rnc

A titled division in a QandASet

qandaentry

db.qandaentry

db.qandaset

qandaset.rnc

A question/answer set within a QandASet

qandaset

db.qandaset

db.list.blocks

qandaset.rnc

A question-and-answer set

question

db.question

db.qandaentry

qandaset.rnc

A question in a QandASet

quote

db.quote

db.publishing.inlines

pool.rnc

An inline quotation

releaseinfo

db.releaseinfo

pool.rnc

remark

remark

pool.rnc

A remark (or comment) intended for presentation in a draft manuscript

revdescription

revdescription

pool.rnc

revhistory

revhistory

pool.rnc

revision

revision

pool.rnc

revnumber

revnumber

pool.rnc

revremark

revremark

pool.rnc

row

row

calstbl.rnc

secondary

secondary

index.rnc

secondaryie

secondaryie

index.rnc

section

db.section

hier.rnc

see

see

index.rnc

seealso

seealso

index.rnc

seriesvolnums

seriesvolnums

pool.rnc

set

set

hier.rnc

setindex

setindex

index.rnc

shortaffil

shortaffil

pool.rnc

sidebar

sidebar

pool.rnc

A portion of a document that is isolated from the main narrative flow

simpara

simpara

pool.rnc

A paragraph that contains only text and inline markup, no block elements

simplelist

simplelist

pool.rnc

An undecorated list of single words or short phrases

simplesect

simplesect

hier.rnc

A section of a document with no subdivisions

spanspec

spanspec

calstbl.rnc

state

state

step

step

pool.rnc

A unit of action in a procedure

stepalternatives

stepalternatives

pool.rnc

Alternative steps in a procedure

street

street

pool.rnc

subject

subject

pool.rnc

One of a group of terms describing the subject matter of a document

subjectset

subjectset

pool.rnc

A set of terms describing the subject matter of a document

subjectterm

subjectterm

pool.rnc

A term in a group of terms describing the subject matter of a document

subscript

subscript

pool.rnc

substeps

substeps

pool.rnc

A wrapper for steps that occur within steps in a procedure

subtitle

subtitle

pool.rnc

The subtitle of a document

superscript

superscript

pool.rnc

surname

surname

pool.rnc

table

table

calstbl.rnc

task

task

tasks.rnc

A task to be completed

taskprerequisites

taskprerequisites

tasks.rnc

The prerequisites for a task

taskrelated

taskrelated

tasks.rnc

Information related to a task

tasksummary

tasksummary

tasks.rnc

A summary of a task

tbody

tbody

calstbl.rnc

term

term

pool.rnc

The word or phrase being defined or described in a variable list

termdef

db.termdef

glossary.rnc

An inline definition of a term

tertiary

tertiary

index.rnc

textdata

textdata

pool.rnc

Pointer to external text data

textobject

textobject

pool.rnc

A wrapper for a text description of an object and its associated meta-information

tfoot

tfoot

calstbl.rnc

tgroup

tgroup

calstbl.rnc

A wrapper for the main content of a table, or part of a table

thead

thead

calstbl.rnc

title

title

pool.rnc

The text of the title of a section of a document or of a formal block-level element

titleabbrev

titleabbrev

pool.rnc

The abbreviation of a title

toc

toc

toc.rnc

A table of contents

trademark

trademark

pool.rnc

uri

uri

pool.rnc

variablelist

variablelist

pool.rnc

A list in which each entry is composed of a set of one or more terms and an associated description

varlistentry

varlistentry

pool.rnc

A wrapper for a set of terms and the associated description in a variable list

videodata

videodata

pool.rnc

Pointer to external video data

videoobject

videoobject

pool.rnc

A wrapper for video data and its associated meta-information

volumenum

volumenum

pool.rnc

wordasword

db.wordasword

pool.rnc

xref

xref

pool.rnc

year

year

pool.rnc

*.*

db._any

db._any

pool.rnc

Any element from almost any namespace

B.6. Excluded DocBook Element Definitions

In the interest of providing a schema that meets the needs of the Publishing industry, the following considerations were made with regard to the modular approach to the schema and the exclusion of certain core DocBook elements:

Simplified markup

The focus should be on the structural, presentational and semantic markup that meets the needs of Publishers.

No technical elements

The vast majority of Publishers will not need the technical elements from core DocBook. For those titles that require technical markup, the inlines can easily be added as a module to the Publishers schema.

Generated text

With the robust DocBook toolchain, most Publishers will want to automate the creation of a Table of Contents and Index.

The following 149 elements from full DocBook have been excluded from the Publishers schema:

Note

Because the Publishers schema is written in RelaxNG Compact syntax, it is very easy to add elements back into a customization of the Publishers schema. For example, if the elements in the programming module were needed, it is very simple to use an include statement for the programming.rnc file from the source DocBook distribution.

Norm Walsh has also developed an XProc pipeline to convert the RelaxNG format to DTD. For more information on this process, see http://docbook.svn.sourceforge.net/viewvc/docbook/trunk/docbook/relaxng/tools/rng2dtd/.

Table B.5. Excluded DocBook elements

Element Name

Definition

Group

Module

Description

accel

db.accel

db.keyboard.inlines

keyboard.rnc

A graphical user interface (GUI) keyboard shortcut

annotation

db.annotation

db.ubiq.inlines

annotations.rnc

An annotation

application

db.application

db.product.inlines

product.rnc

The name of a software program

arc

db.arc

db.extendedlink

xlink.rnc

An XLink arc in an extendedlink

arg

db.arg

db.cmdsynopsis

programming.rnc

An argument in a CmdSynopsis

caution

db.caution

db.admonition.blocks

admonitions.rnc

A note of caution

citerefentry

db.citerefentry

db.bibliography.inlines

refentry.rnc

A citation to a reference page

classname

db.classname

db.programming.inlines

programming.rnc

The name of a class, in the object-oriented programming sense

classsynopsis

db.classsynopsis

db.synopsis.blocks

programming.rnc

The syntax summary for a class definition

classsynopsisinfo

db.classsynopsisinfo

db.classsynopsis

programming.rnc

Information supplementing the contents of a ClassSynopsis

cmdsynopsis

db.cmdsynopsis

db.synopsis.blocks

programming.rnc

A syntax summary for a software command

code

db.code

db.markup.inlines

markup.rnc

An inline code fragment

col

db.html.col

db.html.table.model

htmltbl.rnc

Specifications for a column in an HTML table

colgroup

db.html.colgroup

db.html.table.model

htmltbl.rnc

A group of columns in an HTML table

command

db.command

db.os.inlines

os.rnc

The name of an executable program or other software command

computeroutput

db.computeroutput

db.os.inlines

os.rnc

Data, generally text, displayed or presented by a computer

constant

db.constant

db.markup.inlines

markup.rnc

A programming or system constant

constraint

db.constraint

db.production

ebnf.rnc

A constraint in an EBNF production

constraintdef

db.constraintdef

db.technical.blocks

ebnf.rnc

The definition of a constraint in an EBNF production

constructorsynopsis

db.constructorsynopsis

db.synopsis.blocks

programming.rnc

A syntax summary for a constructor

database

db.database

db.product.inlines

product.rnc

The name of a database, or part of a database

destructorsynopsis

db.destructorsynopsis

db.synopsis.blocks

programming.rnc

A syntax summary for a destructor

envar

db.envar

db.os.inlines

os.rnc

A software environment variable

errorcode

db.errorcode

db.error.inlines

error.rnc

An error code

errorname

db.errorname

db.error.inlines

error.rnc

An error name

errortext

db.errortext

db.error.inlines

error.rnc

An error message.

errortype

db.errortype

db.error.inlines

error.rnc

The classification of an error message

exceptionname

db.exceptionname

db.programming.inlines

programming.rnc

The name of an exception

extendedlink

db.extendedlink

db.info.elements

xlink.rnc

An XLink extended link

fieldsynopsis

db.fieldsynopsis

db.synopsis.blocks

programming.rnc

The name of a field in a class definition

filename

db.filename

db.os.inlines

os.rnc

The name of a file

funcdef

db.funcdef

db.funcprototype

programming.rnc

A function (subroutine) name and its return type

funcparams

db.funcparams

db.paramdef

programming.rnc

Parameters for a function referenced through a function pointer in a synopsis

funcprototype

db.funcprototype

db.funcsynopsis

programming.rnc

The prototype of a function

funcsynopsis

db.funcsynopsis

db.synopsis.blocks

programming.rnc

The syntax summary for a function definition

funcsynopsisinfo

db.funcsynopsisinfo

db.funcsynopsis

programming.rnc

Information supplementing the FuncDefs of a FuncSynopsis

function

db.function

db.programming.inlines

programming.rnc

The name of a function or subroutine, as in a programming language

group

db.group

db.cmdsynopsis

programming.rnc

A group of elements in a CmdSynopsis

guibutton

db.guibutton

db.gui.inlines

gui.rnc

The text on a button in a GUI

guiicon

db.guiicon

db.gui.inlines

gui.rnc

Graphic and/or text appearing as a icon in a GUI

guilabel

db.guilabel

db.gui.inlines

gui.rnc

The text of a label in a GUI

guimenu

db.guimenu

db.gui.inlines

gui.rnc

The name of a menu in a GUI

guimenuitem

db.guimenuitem

db.gui.inlines

gui.rnc

The name of a terminal menu item in a GUI

guisubmenu

db.guisubmenu

db.gui.inlines

gui.rnc

The name of a submenu in a GUI

hardware

db.hardware

db.product.inlines

product.rnc

A physical part of a computer system

important

db.important

db.admonition.blocks

admonitions.rnc

An admonition set off from the text

indexdiv

db.indexdiv

db.index

index.rnc

A division in an index

indexentry

db.indexentry

db.index

index.rnc

An entry in an index

informaltable

db.html.informaltable

db.informaltable.choice

htmltbl.rnc

An HTML table without a title

initializer

db.initializer

db.programming.inlines

programming.rnc

The initializer for a FieldSynopsis

interfacename

db.interfacename

db.programming.inlines

programming.rnc

The name of an interface

keycap

db.keycap

db.keyboard.inlines

keyboard.rnc

The text printed on a key on a keyboard

keycode

db.keycode

db.keyboard.inlines

keyboard.rnc

The internal, frequently numeric, identifier for a key on a keyboard

keycombo

db.keycombo

db.keyboard.inlines

keyboard.rnc

A combination of input actions

keysym

db.keysym

db.keyboard.inlines

keyboard.rnc

The symbolic name of a key on a keyboard

lhs

db.lhs

db.production

ebnf.rnc

The left-hand side of an EBNF production

locator

db.locator

db.extendedlink

xlink.rnc

An XLink locator in an extendedlink

manvolnum

db.manvolnum

db.citerefentry

refentry.rnc

A reference volume number

markup

db.markup

db.markup.inlines

markup.rnc

A string of formatting markup in text that is to be represented literally

lineannotation

db.lineannotation

db.verbatim.inlines

programming.rnc

A comment on a line in a verbatim listing

menuchoice

db.menuchoice

db.gui.inlines

gui.rnc

A selection or series of selections from a menu

methodname

db.methodname

db.programming.inlines

programming.rnc

The name of a method

methodparam

db.methodparam

db.constructorsynopsis

programming.rnc

Parameters to a method

methodsynopsis

db.methodsynopsis

db.synopsis.blocks

programming.rnc

A syntax summary for a method

modifier

db.modifier

db.programming.inlines

programming.rnc

Modifiers in a synopsis

mousebutton

db.mousebutton

db.gui.inlines

gui.rnc

The conventional name of a mouse button

msg

db.msg

db.msgentry

msgset.rnc

A message in a message set

msgaud

db.msgaud

db.msginfo

msgset.rnc

The audience to which a message in a message set is relevant

msgentry

db.msgentry

db.msgset

msgset.rnc

A wrapper for an entry in a message set

msgexplan

db.msgexplan

db.msgentry

msgset.rnc

Explanatory material relating to a message in a message set

msginfo

db.msginfo

db.msgentry

msgset.rnc

Information about a message in a message set

msglevel

db.msglevel

db.msginfo

msgset.rnc

The level of importance or severity of a message in a message set

msgmain

db.msgmain

db.msg

msgset.rnc

The primary component of a message in a message set

msgorig

db.msgorig

db.msginfo

msgset.rnc

The origin of a message in a message set

msgrel

db.msgrel

db.msg

msgset.rnc

A related component of a message in a message set

msgset

db.msgset

db.technical.blocks

msgset.rnc

A detailed set of messages, usually error messages

msgsub

db.msgsub

db.msg

msgset.rnc

A subcomponent of a message in a message set

msgtext

db.msgtext

db.simplemsgentry

msgset.rnc

The actual text of a message component in a message set

nonterminal

db.nonterminal

db.technical.inlines

ebnf.rnc

A non-terminal in an EBNF production

ooclass

db.ooclass

db.oo.inlines

programming.rnc

A class in an object-oriented programming language

ooexception

db.ooexception

db.oo.inlines

programming.rnc

An exception in an object-oriented programming language

oointerface

db.oointerface

db.oo.inlines

programming.rnc

An interface in an object-oriented programming language

option

db.option

db.technical.inlines

technical.rnc

An option for a software command

package

db.package

db.technical.inlines

technical.rnc

A software or application package

paramdef

db.paramdef

db.funcprototype

programming.rnc

Information about a function parameter in a programming language

parameter

db.parameter

db.technical.inlines

programming.rnc

A value or a symbolic reference to a value

primaryie

db.primaryie

db.indexentry

index.rnc

A primary term in an index entry, not in the text

production

db.production

db.productionset

ebnf.rnc

A production in a set of EBNF productions

productionrecap

db.productionrecap

db.productionset

ebnf.rnc

A cross-reference to an EBNF production

productionset

db.productionset

db.technical.blocks

ebnf.rnc

A set of EBNF productions

programlisting

db.programlisting

db.verbatim.blocks

programming.rnc

A literal listing of all or part of a program

programlistingco

db.programlistingco

db.verbatim.blocks

callouts.rnc

A program listing with associated areas used in callouts

prompt

db.prompt

db.os.inlines

os.rnc

A character or string indicating the start of an input field in a computer display

property

db.property

db.technical.inlines

technical.rnc

A unit of data associated with some part of a computer system

refclass

db.refclass

db.refnamediv

refentry.rnc

The scope or other indication of applicability of a reference entry

refdescriptor

db.refdescriptor

db.refnamediv

refentry.rnc

A description of the topic of a reference page

refentry

db.refentry

db.toplevel.sections

refentry.rnc

A reference page (originally a UNIX man-style reference page)

refentrytitle

db.refentrytitle

db.citerefentry

refentry.rnc

The title of a reference page

reference

db.reference

db.divisions

refentry.rnc

A collection of reference entries

refmeta

db.refmeta

db.refentry

refentry.rnc

Meta-information for a reference entry

refmiscinfo

db.refmiscinfo

db.refmeta

refentry.rnc

Meta-information for a reference entry other than the title and volume number

refname

db.refname

db.refnamediv

refentry.rnc

The name of (one of) the subject(s) of a reference page

refnamediv

db.refnamediv

db.refentry

refentry.rnc

The name, purpose, and classification of a reference page

refpurpose

db.refpurpose

db.refnamediv

refentry.rnc

A short (one sentence) synopsis of the topic of a reference page

refsect1

db.refsect1

db.toplevel.sections

refsect1.rnc

A major subsection of a reference entry

refsect2

db.refsect2

db.secondlevel.refsection

refsect1.rnc

A subsection of a refsect1

refsect3

db.refsect3

db.refsect2.sections

refsect1.rnc

A subsection of a refsect2

refsection

db.refsection

db.toplevel.refsection

refentry.rnc

A recursive section in a refentry

refsynopsisdiv

db.refsynopsisdiv

db.refentry

refentry.rnc

A syntactic synopsis of the subject of the reference page

replaceable

replaceable

db.technical.inlines

technical.rnc

returnvalue

db.returnvalue

db.programming.inlines

programming.rnc

rhs

db.rhs

db.production

ebnf.rnc

sbr

db.sbr

programming.rnc

screen

db.screen

technical.rnc

Text that a user sees or might see on a computer screen

screenco

db.screenco

db.verbatim.blocks

callouts.rnc

A screen with associated areas used in callouts

screenshot

db.screenshot

technical.rnc

A representation of what the user sees or might see on a computer screen

sect1

db.sect1

db.toplevel.sections

sect1.rnc

A top-level section of the document

sect2

db.sect2

db.sect1.sections

sect1.rnc

A subsection within a Sect1

sect3

db.sect3

db.sect2.sections

sect1.rnc

A subsection within a Sect2

sect4

db.sect4

db.sect3.sections

sect1.rnc

A subsection within a Sect3

sect5

db.sect5

db.sect4.sections

sect1.rnc

A subsection within a Sect4

seealsoie

seealsoie

index.rnc

A "See also" ] " entry in an index, rather than in the text

seeie

seeie

index.rnc

A "See" entry in an index, rather than in the text

seg

db.seg

markup.rnc

An element of a list item in a segmented list

seglistitem

db.seglistitem

markup.rnc

A list item in a segmented list

segmentedlist

db.segmentedlist

markup.rnc

A segmented list, a list of sets of elements

segtitle

db.segtitle

markup.rnc

The title of an element of a list item in a segmented list

shortcut

db.shortcut

keyboard.rnc

simplemsgentry

db.simplemsgentry

db.msgset

msgset.rnc

symbol

symbol

db.markup.inlines

markup.rnc

A name that is replaced by a value before processing

synopfragment

db.synopfragment

programming.rnc

synopfragmentref

db.synopfragmentref

programming.rnc

synopsis

db.synopsis

programming.rnc

A general-purpose element for representing the syntax of commands or functions

systemitem

db.systemitem

db.technical.inlines

technical.rnc

tag

db.tag

db.markup.inlines

markup.rnc

A component of XML (or SGML) markup

td

db.html.informaltable

htmltbl.rnc

tertiaryie

tertiaryie

index.rnc

th

db.html.informaltable

htmltbl.rnc

tip

tip

admonitions.rnc

tocdiv

toc.rnc

A division in a table of contents

tocentry

toc.rnc

A component title in a table of contents

token

db.token

db.markup.inlines

markup.rnc

A unit of information

tr

db.html.informaltable

htmltbl.rnc

type

db.type

db.programming.inlines

programming.rnc

userinput

db.userinput

db.os.inlines

os.rnc

varargs

varargs

programming.rnc

varname

varname

db.programming.inlines

programming.rnc

void

db.void

programming.rnc

warning

db.warning

admonitions.rnc

Appendix C. Revision History

Initial Draft. 11 June 2008.

Revised Draft. 6 October 2008. Usage examples, additional clarifications added.

Revised Draft. 5 January 2009. New appendices added, clarifications based on review feedback.

Revised Draft. 13 January 2009. Updated to include 2008-01-14 version of Dublin Core (removed dc namespace, added dc elements to dcterms; better formatted examples, summary of elements added/removed in Introduction.

Revised Draft. 15 January 2009. Removed spurious "remap" attributes from examples. Added table mapping Dublin Core to DocBook equivalents per request from Jirka Kosek.

Revised Draft. 7 May 2009. Added conformance statement.

Revised Committee Draft. 21 April 2010. DTD version generated per public review feedback. No change to spec required.