File docbook-5.0-spec-cd-01.xml of Package docbook_5

<!DOCTYPE article [
<!ENTITY standard "Committee Draft">
<!ENTITY tracker "">
<!ENTITY RFE "&tracker;/index.php?func=detail&amp;group_id=21935&amp;atid=384107&amp;">
<!ENTITY root "">
<article xmlns=""
<releaseinfo role="cvs">
$Id: docbook.xml 7664 2008-02-06 14:01:48Z nwalsh $

<!-- product -->        <productname>docbook</productname>
<!-- productVersion --> <productnumber>5.0</productnumber>
<!-- artifactType       spec; what else? :-) -->
<!-- stage -->          <releaseinfo role="stage">cd</releaseinfo>
<!-- revision -->       <biblioid class="pubsnumber">01</biblioid>
<!-- language           en; see /article/@xml:lang -->
<!-- form               xml -->

<releaseinfo role="location">&root;specs</releaseinfo>

<title>The DocBook Schema</title>

    <orgname>Sun Microsystems, Inc.</orgname>


<holder>The Organization for the Advancement of Structured Information
Standards [OASIS]. All Rights Reserved. </holder></copyright>

<para>DocBook is a general purpose <xref linkend="xml-rec"/> schema
particularly well suited to books and papers about computer hardware
and software (though it is by no means limited to these applications).
<para>The Version 5.0 release is a complete rewrite of DocBook in
RELAX NG. The intent of this rewrite is to produce a schema that is
true to the spirit of DocBook while simultaneously removing
inconsistencies that have arisen as a natural consequence of DocBook's
long, slow evolution. The Technical Committee has taken this
opportunity to simplify a number of content models and tighten
constraints where RELAX NG makes that possible.
<para>The Technical Committee provides the DocBook 5.0 schema in other
schema languages, including W3C XML Schema and an
XML DTD, but the RELAX NG Schema is now the normative schema.</para>

<legalnotice role="status">
<para>This &standard; was
<link xlink:href="">approved</link>
for publication by the
OASIS DocBook Technical Committee. It represents the
consensus of the committee.

<para>This is a &standard;. It does not necessarily
represent the consensus of the committee.

<para>Please send comments on this specification to the
<email></email> list. To subscribe, please
use the
<link xlink:href="">OASIS Subscription

<para>The errata page for this specification is at
<link xlink:href="&root;specs/docbook5-errata.html"/>.

<section xml:id="s.intro">

<para>DocBook is general purpose XML schema
particularly well suited to books and papers about computer hardware
and software (though it is by no means limited to these applications).

<para>The <link xlink:href="">DocBook
Technical Committee</link> maintains the DocBook schema. Starting
with V5.0, DocBook is normatively available as a <xref
linkend="relaxng"/> Schema (with some additional Schematron assertions).
W3C XML Schema and Document Type
Definition (DTD) versions are also available.

<para>The Version 5.0 release is a complete rewrite. In
programming-language terms, think of it as a code refactoring.</para>

<para>This rewrite introduces a large number of backwards-incompatible
changes. Essentially all DocBook V4.x documents will have to be
modified to validate against DocBook V5.0. An XSLT 1.0 stylesheet is
provided to ease this transition.</para>

<para>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
<link xlink:href="">SourceForge</link>
<link xlink:href="&tracker;/?atid=384107&amp;group_id=21935&amp;func=browse">tracker</link>
interface. This is also the preferred mechanism for submitting new requests.
Old RFEs, from a previous legacy tracking system, are
<link xlink:href="">archived</link>
for reference.</para>


<section xml:id="s.terminology"><title>Terminology</title>

<para>The key words <glossterm>must</glossterm>, <glossterm>must
not</glossterm>, <glossterm>required</glossterm>,
<glossterm>shall</glossterm>, <glossterm>shall not</glossterm>,
<glossterm>should</glossterm>, <glossterm>should not</glossterm>,
<glossterm>recommended</glossterm>, <glossterm>may</glossterm>, and
<glossterm>optional</glossterm> in this &standard; are to be
interpreted as described in <xref linkend="rfc2119"/>. Note that for
reasons of style, these words are not capitalized in this


<section xml:id="s.docbook">
<title>The DocBook RELAX NG Schema V5.0</title>

<para>The DocBook
<link xlink:href="&root;rng/">RELAX NG Schema</link> is distributed
from the
<link xlink:href="">DocBook site</link> at
<link xlink:href="">OASIS</link>.
DocBook is also available from the mirror on
<link xlink:href=""/>.

<listitem xml:id="rfe.">
<para>Fixed <link xlink:href="&RFE;aid=">RFE </link>:


<section xml:id="s.50">
<title>Changes in DocBook V5.0</title>

<para>There are no user-visible changes in 5.0 (Public Review Draft 1).

<para>This version of DocBook V5.0 will become the official Committee
Specification version of DocBook V5.0 as soon as the Technical Committee
balloting process is finished.</para>

<section xml:id="s.50CR7">
<title>Changes in DocBook V5.0CR7</title>

<para>There are no user-visible changes in 5.0CR7. Some of the sources
we reorganized to make future customization easier.</para>

<para>If no bug reports are received before the November 7, 2007
DocBook TC meeting, this version will become the official DocBook V5.0

<section xml:id="s.50CR6">
<title>Changes in DocBook V5.0CR6</title>

<para>This release contains a few bug fixes and improvements over V5.0CR5.</para>

<listitem xml:id="rfe.1759782">
<para>Fixed <link xlink:href="&RFE;aid=1759782">RFE 1759782</link>:
Allow <tag>uri</tag> anywhere <tag>email</tag> occurs.</para>
<listitem xml:id="rfe.1784312">
<para>Fixed <link xlink:href="&RFE;aid=1784312">RFE 1784312</link>:
Allow <tag>book</tag> to be completely empty; allow <tag>personblurb</tag>
and <tag>titleabbrev</tag> in bibliographic contexts.</para>
<listitem xml:id="rfe.1795884">
<para>Fixed <link xlink:href="&RFE;aid=1795884">RFE 1795884</link>:
Allow MathML in <tag>inlineequation</tag>.</para>
<listitem xml:id="rfe.1800916">
<para>Fixed <link xlink:href="&RFE;aid=1800916">RFE 1800916</link>:
Allow <tag>keycap</tag> (and friends) in <tag>userinput</tag>.</para>

<section xml:id="s.50CR5">
<title>Changes in DocBook V5.0CR5</title>

<para>There are no user-visible changes in DocBook V5.0CR5.</para>

<section xml:id="s.50CR4">
<title>Changes in DocBook V5.0CR4</title>

<para>This release contains a few improvements over V5.0CR3.</para>

<listitem xml:id="rfe.1708032">
<para>Fixed <link xlink:href="&RFE;aid=1708032">RFE 1708032</link>:
Fixed pattern naming inconsistency; changed
<literal>db.href.attribute</literal> to
<listitem xml:id="rfe.1700154">
<para>Fixed <link xlink:href="&RFE;aid=1700154">RFE 1700154</link>:
Added <tag class="attribute">sortas</tag> to
<listitem xml:id="rfe.1686919">
<para>Fixed <link xlink:href="&RFE;aid=1686919">RFE 1686919</link>:
Added an <link xlink:href="">NVDL</link> rules file.
<listitem xml:id="rfe.1705596">
<para>Fixed <link xlink:href="&RFE;aid=1705596">RFE 1705596</link>:
Aded <literal>db.programming.inlines</literal>
<tag>type</tag>, and
to the content model of <tag>code</tag>.
<listitem xml:id="rfe.1689228">
<para>Fixed <link xlink:href="&RFE;aid=1689228">RFE 1689228</link>:
Fixed typo in Schematron assertion.

<section xml:id="s.50CR3">
<title>Changes in DocBook V5.0CR3</title>

<para>This release contains a few improvements over V5.0CR2.</para>

<listitem xml:id="rfe.1679775">
<para>Fixed <link xlink:href="&RFE;aid=1679775">RFE 1679775</link>:
Changed semantics of <tag>termdef</tag>. A
<tag>firstterm</tag> is now required (instead of a <tag>glossterm</tag> as
in previous releases).</para>
<listitem xml:id="rfe.1673820">
<para>Fixed <link xlink:href="&RFE;aid=1673820">RFE 1673820</link>:
Adopted “<uri></uri>”
as an XLink role value (<tag class="attribute">xlink:role</tag>) to
identify OLinks expressed using XLink attributes.</para>
<listitem xml:id="htmlinfo">
<para>Allow <tag>info</tag> in HTML tables.</para>
<listitem xml:id="rfe.1682917">
<para>Fixed <link xlink:href="&RFE;aid=1682917">RFE 1682917</link>:
Added <tag class="attribute">pgwide</tag> attribute to
<listitem xml:id="rfe.1644553">
<para>Fixed <link xlink:href="&RFE;aid=1644553">RFE 1644553</link>:
Added <tag class="attribute">label</tag> attribute to CALS and
HTML tables.</para>
<listitem xml:id="rfe.1588693">
<para>Fixed <link xlink:href="&RFE;aid=1588693">RFE 1588693</link>:
Added an <tag>acknowledgements</tag> element, peer to 
<tag>dedication</tag>, replacing <tag>ackno</tag> which had only
been available at the end of <tag>article</tag>.</para>

<section xml:id="s.50CR2">
<title>Changes in DocBook V5.0CR2</title>

<para>This release contains a few improvements over V5.0CR1 and a
few bug fixes.</para>

<listitem xml:id="rfe.1630203">
<para>Fixed <link xlink:href="&RFE;aid=1630203">RFE 1630203</link>:
Allow empty <tag>glossary</tag>.</para>
<listitem xml:id="rfe.1627845">
<para>Fixed <link xlink:href="&RFE;aid=1627845">RFE 1627845</link>:
Allow optional <tag>caption</tag> on CALS <tag>table</tag> and
<listitem xml:id="html-caption">
<para>Related to <link xlink:href="&RFE;aid=1627845">RFE 1627845</link>:
Allow inlines in HTML <tag>table</tag> <tag>caption</tag>.</para>
<listitem xml:id="rfe.1589139">
<para>Fixed <link xlink:href="&RFE;aid=1589139">RFE 1589139</link>
(and <link xlink:href="&RFE;aid=1621178">RFE 1621178</link>):
Allow <tag>title</tag> and <tag>titleabbrev</tag> on <tag>qandaentry</tag>.
<listitem xml:id="rfe.1675932">
<para>Fixed <link xlink:href="&RFE;aid=1675932">RFE 1675932</link>:
Restore <tag class="attvalue">localname</tag>, <tag class="attvalue">prefix</tag>
and <tag class="attvalue">namespace</tag> as <tag class='attribute'>class</tag>
attribute values on <tag>tag</tag>.
<listitem xml:id="rfe.1669465">
<para>Fixed <link xlink:href="&RFE;aid=1669465">RFE 1669465</link>:
Schematron rules should refer to <literal>@xml:id</literal>, not <literal>@id</literal>.

<section xml:id="s.50CR1">
<title>Changes in DocBook V5.0CR1</title>

<para>This release contains a few improvements over V5.0b9 and a
few bug fixes.</para>

<listitem xml:id="blockquote-broader">
<para>Made the content model of <tag>blockquote</tag> broader. It was
restricted too far in the transition to 5.0.</para>
<listitem xml:id="rfe.1575537">
<para>Fixed <link xlink:href="&RFE;aid=1575537">RFE 1575537</link>:
Allow markup from other namespaces in <tag>info</tag>.</para>
<listitem xml:id="ackno">
<para>Fix the content model of <tag>ackno</tag> so that it's the same
as DocBook 4.x.</para>
<listitem xml:id="calscap">
<para>Fix bug where <tag>caption</tag> was accidentally allowed in
CALS tables.</para>

<section xml:id="s.50b9">
<title>Changes in DocBook V5.0b9</title>

<para>This release contains several improvements over V5.0b8.</para>

<listitem xml:id="rfe.1537424">
<para>Fixed <link xlink:href="&RFE;aid=1537424">RFE 1537424</link>:
Allow <tag>jobtitle</tag> inline.</para>
<listitem xml:id="tasktitle">
<para>Fixed typo; <tag>title</tag>s are now required on <tag>task</tag>,
consistent with DocBook V4.x.</para>
<listitem xml:id="rfe.1554914">
<para>Fixed <link xlink:href="&RFE;aid=1554914">RFE 1554914</link>:
Make <tag class="attribute">targetdoc</tag> attribute on <tag>olink</tag>
<listitem xml:id="rfe.1568417">
<para>Fixed <link xlink:href="&RFE;aid=1568417">RFE 1568417</link>:
Don't generate duplicate Schematron rules.
<listitem xml:id="rfe.1568419">
<para>Fixed <link xlink:href="&RFE;aid=1568419">RFE 1568419</link>:
Inverted Schematron assertion for <tag>termdef</tag>.

<section xml:id="s.50b8">
<title>Changes in DocBook V5.0b8</title>

<para>This release contains several improvements over V5.0b7.</para>

<listitem xml:id="rfe.1535166">
<para>Fixed <link xlink:href="&RFE;aid=1535166">RFE 1535166</link>:
Improve the data types of attributes in DocBook.</para>

<listitem xml:id="rfe.1549632">
<para>Fixed <link xlink:href="&RFE;aid=1549632">RFE 1549632</link>:
The <tag>inlineequation</tag> element should use
<tag>inlinemediaobject</tag> not <tag>mediaobject</tag>.</para>

<listitem xml:id="docfix">
<para>A number of small documentation improvements in the area of
attribute and attribute enumerations.</para>

<section xml:id="s.50b7">
<title>Changes in DocBook V5.0b7</title>

<para>This release contains several improvements over V5.0b6.</para>

<listitem xml:id="rfe.1520074">
<para>Fixed <link xlink:href="&RFE;aid=1520074">RFE 1520074</link>:
Define separate patterns for all the effectivity attributes to make
customization easier.</para>
<listitem xml:id="rfe.1512505">
<para>Attempted to address
<link xlink:href="&RFE;aid=1512505">RFE 1512505</link>:
Added an <tag class="attribute">audience</tag> effectivity attribute.
<listitem xml:id="msgaud">
<para>Rename <tag class="attribute">audience</tag>,
<tag class="attribute">origin</tag>, and <tag class="attribute">level</tag>
on <tag>simplemsgentry</tag> to <tag class="attribute">msgaud</tag>,
<tag class="attribute">msgorig</tag>, and <tag class="attribute">msglevel</tag>,
respectively. This is a better parallel with the descendent elements of
<tag>msgentry</tag> and avoids a conflict with the newly introduced
<tag class="attribute">audience</tag> effectivity attribute.</para>
<listitem xml:id="startinglinenumber">
<para>Added <tag class="attribute">startinglinenumber</tag> attribute
to <tag>orderedlist</tag>.
<listitem xml:id="imagedata.fileref">
<para>Fixed bug where one of <tag class="attribute">fileref</tag> or
<tag class="attribute">entityref</tag> was required on
<tag>imagedata</tag> even when the content was inline MathML or SVG.

<section xml:id="s.50b6">
<title>Changes in DocBook V5.0b6</title>

<para>This release contains several improvements over V5.0b5.</para>

<listitem xml:id="rfe.1434294">
<para>Fixed <link xlink:href="&RFE;aid=1434294">RFE 1434294</link>:
Allow MathML and SVG in <tag>imagedata</tag>. Note: SVG is no longer
allowed as an <emphasis>alternative</emphasis> to <tag>imagedata</tag>.
The alignment, scaling, and other presentational attributes are on
<tag>imagedata</tag> so it seems more reasonable to allow SVG and MathML
inside it.</para>

<listitem xml:id="rfe.1468921">
<para>Fixed <link xlink:href="&RFE;aid=1468921">RFE 1468921</link>:
Add <tag>person</tag> element. Added <tag>person</tag> and <tag>org</tag>.

<listitem xml:id="rfe.1306027">
<para>Fixed <link xlink:href="&RFE;aid=1306027">RFE 1306027</link>:
Support for aspect-oriented programming. Allow <tag>modifier</tag> to
appear in more places, and allow <tag class="attribute">xml:space</tag>
on <tag>modifier</tag>.

<listitem xml:id="publinlines">
<para>Added <literal>db.publishing.inlines</literal> to 
<literal>db.bibliographic.elements</literal> so that, for example,
<tag>foreignphrase</tag> can be used in <tag>bibliomixed</tag>.

<section xml:id="s.50b5">
<title>Changes in DocBook V5.0b5</title>

<para>This release contains several improvements over V5.0b4.</para>

<listitem xml:id="refmiscinfo2">
<para>Restored the <tag class="attribute">class</tag> attribute on
<tag>refmiscinfo</tag> (removing the <tag class="attribute">type</tag>
attribute <link linkend="refmiscinfo">introduced</link> in
<link linkend="s.50b4">V5.0b4</link>). The <tag class="attribute">class</tag>
attribute is now an enumerated list with the standard
<tag class="attribute">otherclass</tag> extension point.</para>

<listitem xml:id="parameter">
<para>Added <tag>parameter</tag> to <literal>db.technical.inlines</literal>.
This allows <tag>parameter</tag> to occur in places like
<tag>userinput</tag> and <tag>computeroutput</tag>.

<listitem xml:id="xinclude">
<para>Allow XInclude elements in <tag>info</tag> elements (in the
<filename>docbookxi</filename> schemas).

<listitem xml:id="dtdgen">
<para>Fixed bugs in the build process that resulted in broken DTD versions
of beta 4 and earlier betas.</para>

<section xml:id="s.50b4">
<title>Changes in DocBook V5.0b4</title>

<para>This release contains several improvements over V5.0b3.</para>

<listitem xml:id="rfe.1416903">
<para>Fixed <link xlink:href="&RFE;aid=1416903">RFE 1416903</link>:
Added a <tag>cover</tag> element to hold additional material for
document covers. Updated reference documentation.

<listitem xml:id="pubsnumber">
<para>Corrected a typo in the list of values allowed on the
<tag class="attribute">class</tag> attribute of <tag>biblioid</tag>:
changed “pubnumber” to “pubsnumber” (note the “s”). This is consistent
with its use as a replacement for the <tag>pubsnumber</tag> tag that
has been removed in DocBook V5.0.</para>

<listitem xml:id="titles">
<para>Fixed a bug in the content model of the various “<tag>info</tag>”
elements. In previous beta releases, the title-related elements
(<tag>title</tag>, <tag>titleabbrev</tag>, and <tag>subtitle</tag>)
were erroneously required to appear first. The requirement is only that
they appear exactly or at most once, depending on the context.</para>

<listitem xml:id="sgmlcomment">
<para>Renamed the “<tag class="attvalue">sgmlcomment</tag>” attribute
value of the  <tag class="attribute">class</tag> attribute of
<tag>tag</tag>. There's no significant difference between XML and
SGML comments and the “SGML” name implies that there ought to be
an “<tag class="attvalue">xmlcomment</tag>” value, which there is not.
The new value is simply “<tag class="attvalue">comment</tag>”.

<listitem xml:id="refmiscinfo">
<para>Renamed the “<tag class="attribute">class</tag>” attribute of
<tag>refmiscinfo</tag>. The DocBook semantics of class attributes is
that they have enumerated values. This attribute should always have
been called “<tag class="attribute">type</tag>” as it is now.

<listitem xml:id="otherclass">
<para>Updated <tag class="attribute">renderas</tag> on
<tag>bridgehead</tag> and <tag class="attribute">class</tag> on
<tag>othercredit</tag> to have “attribute/otherattribute” co-constraints.
(In other words, if you select “other” for
<tag class="attribute">renderas</tag> on <tag>bridgehead</tag>
or <tag class="attribute">class</tag> on <tag>othercredit</tag>,
you have to also provide a value for <tag class="attribute">otherrenderas</tag>
or <tag class="attribute">othercredit</tag>, respectively.</para>

<listitem xml:id="width">
<para>Changed <tag class="attribute">width</tag> attribute in media objects
to be “text” instead of “<code>xs:integer</code>”.

<listitem xml:id="xmlschema">
<para>Fixed bug in the build process that resulted in unusable XML
Schema versions of beta&#160;2 and beta&#160;3.

<listitem xml:id="docs.b4">
<para>Improved reference documentation for attributes on many elements.


<section xml:id="s.50b3">
<title>Changes in DocBook V5.0b3</title>

<para>This release contains several small improvements over V5.0b2.</para>

<listitem xml:id="rfe.1358844">
<para>Fixed <link xlink:href="&RFE;aid=1358844">RFE 1358844</link>:
allow multiple <tag>imageobject</tag>s inside an
<tag>imageobjectco</tag>. Updated reference documentation.

<listitem xml:id="attribute.defaults">
<para>Restored default values to the
<tag class="attribute">type</tag> attribute on <tag>simplelist</tag>
and the <tag class="attribute">choice</tag> and
<tag class="attribute">rep</tag> attributes on
<tag>arg</tag>, and
<tag>group</tag>. Fixed a bug in <tag>paramdef</tag> where
<tag class="attvalue">plain</tag> was accidentally allowed as a
<tag class="attribute">choice</tag>. These defaults are reflected in the
generated XML DTD as well.</para>

<listitem xml:id="blockquote">
<para>Reduced the content model of <tag>blockquote</tag> which seemed
way too broad.</para>

<listitem xml:id="docs.b3">
<para>Improved reference documentation for attributes on many elements.

<section xml:id="s.50b2">
<title>Changes in DocBook V5.0b2</title>

<para>This release addresses several bugs identified in V5.0b1.</para>

<listitem xml:id="svg.mathml">
<para>When SVG or MathML are used, allow more than one element from the
respective namespace to be used in the appropriate location.
<listitem xml:id="rfe.1356238">
<para>Fixed <link xlink:href="&RFE;aid=1356238">RFE 1356238</link>:
the <tag class="attribute">xrefstyle</tag> attribute on 
<tag>olink</tag> is now “<literal>text</literal>” rather than
<listitem xml:id="rfe.1380477">
<para>Fixed <link xlink:href="&RFE;aid=1380477">RFE 1380477</link>:
Make <tag class="attribute">xml:id</tag> optional on
<tag>area</tag>s within <tag>areaset</tag>; allow linking attributes on
<tag>areaset</tag>; establish the semantics that an <tag>area</tag>
inside an <tag>areaset</tag> inherits its linking attributes from the
<tag>areaset</tag> if it doesn't have linking attributes of its own.</para>
<para>Allow <tag>alt</tag> inside <tag>equation</tag>,
<tag>informalequation</tag>, and <tag>inlineequation</tag>.
<listitem xml:id="rfe.1356254">
<para>Fixed <link xlink:href="&RFE;aid=1356254">RFE 1356254</link>:
<uri>dbforms.rnc</uri> schema now supports the HTML form elements.

<section xml:id="s.50b1">
<title>Changes in DocBook V5.0</title>

<para>In V5.0, DocBook has been rewritten as a native RELAX NG
grammar. The goals of this redesign were to produce a schema

<para>“feels like” DocBook. Most existing documents should still be
valid or it should be possible to transform them in simple, mechanical
ways into valid documents.
<para>enforces as many constraints as possible in the schema. Some additional
constraints are expressed with Schematron rules.
<para>cleans up the content models.
<para>gives users the flexibility to extend or subset the schema in an
easy and straightforward way.
<para>can be used to generate XML DTD and W3C XML Schema versions of DocBook.

<para>Under the ordinary operating rules of DocBook evolution, the
only backwards incompatible changes that could be made in DocBook V5.0
were those announced in DocBook V4.0. In light of the fact that this
is a complete rewrite, the Technical Committee gave itself the freedom
to make <quote>unannounced</quote> backwards-incompatible changes for
this one release.</para>

<section xml:id="s.remvlegacy">
<title>Removing Legacy Elements</title>

<para>A number of elements have been removed from DocBook. Many of
these have been replaced by simpler, more versatile alternatives.
Others have simply been removed because they are not believed to be
widely used.</para>

<table xml:id="elem.rmv">
<title>DocBook Element Changes</title>
<tgroup cols="2">
<tbody valign="top">
<entry><para><simplelist type="inline">
<entry><para>Replaced by <tag>info</tag>, see
<xref linkend=""/>.

<entry><para><simplelist type="inline">
<entry><para>Replaced by <tag>personblurb</tag>. This more general
name better reflects the fact that it is available in elements other
than <tag>author</tag> (e.g., <tag>editor</tag>).

<entry><para><simplelist type="inline">
<entry><para>Replaced by <tag>orgname</tag> and the updated
content models of <tag>author</tag>, <tag>editor</tag>,
and <tag>othercredit</tag>.

<entry><para><simplelist type="inline">
<entry><para>Removed in favor of <tag>mediaobject</tag> and

<entry><para><simplelist type="inline">
<entry><para>Replaced by <tag>biblioid</tag>.

<entry><para><simplelist type="inline">
<entry><para>Replaced by simpler <tag>tocdiv</tag> element.

<entry><para><simplelist type="inline">
<entry><para>Replaced by ubiquitous linking, see
<xref linkend=""/>.

<entry><para><simplelist type="inline">
<entry><para>Replaced by <tag>tag</tag>.

<entry><para><simplelist type="inline">


<section xml:id="">
<title>Smaller Content Models</title>

<para>The content models of many inlines have been reduced, sometimes
drastically. The parameter entity customization of DocBook V4.x and
previous versions resulted in very broad content models for some

<para>Consider, for example,
<tag>command</tag> in DocBook V4.4:</para>

<programlisting>command ::=

<para>In DocBook V5.0, <tag>command</tag> has a much smaller, more
rational content model:</para>

<programlisting>command ::=

  * Zero or more of:
      o <emphasis>text</emphasis>
      o alt
      o anchor
      o annotation
      o biblioref
      o indexterm
      o inlinemediaobject
      o link
      o phrase
      o remark
      o replaceable
      o subscript
      o superscript
      o xref</programlisting>

<para>DocBook V5.0 may be overzealous in its simplification of content
models. The Technical Committee expects to adjust these simplifications
during user testing. Users are encouraged to report places where formally
valid documents can no longer be made valid because content models have
been reduced.</para>

<section xml:id="">
<title>Uniform Info Elements</title>

<para>DocBook V4.x has <tag>setinfo</tag>,
<tag>bookinfo</tag>, <tag>chapterinfo</tag>,
<tag>appendixinfo</tag>, <tag>sectioninfo</tag>, etc.
DocBook would be smaller and simpler if it had a single
<tag>info</tag> element in all these places.</para>

<para>There’s an historical reason for the large number of unique
names: customizers might very well want to adjust the content models
of info elements at different levels. For example, a copyright
statement might be required at the book level, or an author
forbidden at the sub-section level. In DTDs, there’s only one content
model allowed per element name, so in order to support independent
customization, each info element must have a different name.</para>

<para>In RELAX NG, no such limitation exists. We can use patterns to
achieve both a single <tag>info</tag> element while still allowing
customizers to change its content model in different contexts. In light
of this functionality, we've replaced all the various flavors of info
with a single element name.</para>

<section xml:id="s.req.titles">
<title>Required Titles</title>

<para>DocBook V5.0 enforces the constraint that titles are required on
<tag>article</tag>s and other large structures where they are
effectively optional in DocBook V4.x. (They are optional only in the sense
that DTDs are unable to enforce the constraint that they be present, the
documentation has always made it clear that titles were required.)</para>


<section xml:id="s.req.version">
<title>Required Version</title>

<para>In DocBook V4.x and earlier, the presence of a document type declaration
served as a mechanism for identifying the DocBook version of a document.
Although the declaration was not actually required, it was present in the
vast majority of DocBook documents.</para>

<para>In RELAX NG, no similar declaration exists. Although a document type
declaration might still be present, it seems likely that this will not usually
be the case.</para>

<para>Nevertheless, downstream processors may benefit from some indication
of the version of DocBook being used. As a result DocBook V5.0 adds a new
<tag class="attribute">version</tag> attribute which
<glossterm>must</glossterm> be present on the document element of a DocBook

<para>Mixing versions is explicitly allowed and the version attribute
may be used on other elements as well. This might be the case, for
example, in a compound document constructed from multiple documents each
with its own version.</para>


<section xml:id="">

<para>DocBook V5.0 enforces attribute co-constraints such as the
<tag class="attribute">class</tag>/<tag class="attribute">otherclass</tag>
attributes on <tag>biblioid</tag>.</para>


<section xml:id="s.tables">
<title>Improved HTML and CALS Table Support</title>

<para>In DocBook V5.0, HTML tables and CALS tables are independently specified.
Where the DTD of DocBook V4.x allows for incoherent mixing of the two
models, DocBook V5.0 forbids such mixtures.</para>


<section xml:id="s.datatypes">
<title>Data Types</title>

<para>DocBook V5.0 adds a few simple data types. For example, the
<tag class="attribute">cols</tag> attribute on <tag>tgroup</tag>
must be a positive integer.</para>

<para>Some of these constraints, such as the requirement that elements
like <tag>pubdate</tag> include a proper date-time type, may
prove controversial. Users are encouraged to report places where formally
valid documents can no longer be made valid because data types have been

<section xml:id="">
<title>Universal Linking</title>

<para>Starting with DocBook V5.0, the
<tag class="attribute">linkend</tag> and
<tag class="attribute">xlink:href</tag> attributes are available on
almost all elements.</para>

<para>The <tag class="attribute">linkend</tag> attribute provides an
ID/IDREF link within the document. The
<tag class="attribute">xlink:href</tag> attribute provides a URI-based

<para>The <tag>ulink</tag> element has been removed from
DocBook as URI-based links can now be achieved directly from
the appropriate inline (such as <tag>productname</tag> or
<tag>command</tag>). For instances where no specific semantic
inline is needed, <tag>link</tag> is still available. Where
<tag>link</tag> used to be limited to ID/IDREF linking, it now
sports an <tag class="attribute">xlink:href</tag> attribute as

<para>Support for
<link xlink:href="">extended links</link>
are provided through the
<tag>extendedlink</tag>, <tag>arc</tag>, and
<tag>locator</tag> elements.</para>


<section xml:id="s.annot">
<title>Improved Accessibility</title>

<para>Accessibility is improved by allowing both inline and block
annotations in most context. The <tag>alt</tag> element is now
allowed in most places for inline annotations, the new element
<tag>annotation</tag> supports block annotations.</para>


<section xml:id="s.toc">
<title>Simplified Table of Contents Markup</title>

<para>The DocBook V4.x markup for Tables of Contents, or more generally for
Lists of Titles, was complex and had not evolved quite in step with the
rest of DocBook. In DocBook V5.0, it has all been replaced by a quite
simple, recursive

<para>While most Tables of Contents and Lists of Titles are generated
automatically and authors never have to produce markup for them by
hand, this simplified content model should make it easier for authors
to generate them when necessary. One possible application of hand-authored
<tag>toc</tag> markup is to generate custom hierarchies which
can be assembled on-the-fly from a library of topics marked up in

<section xml:id="s.schematron">
<title>Extra-Grammatical Constraints</title>

<para>Grammar based validation technologies (like RELAX NG) and rule based
validation technologies (like Schematron) are naturally complementary. Mixing
them allows us to play to the strengths of each without stretching either
to enforce constraints that they aren’t readily designed to enforce.</para>

<para>For example, DocBook NG requires that the root element of a
document have an explicit version attribute. Because there are a great
many elements that can be root elements in DocBook, and because they
can almost all appear as descendants of a root element as well, it
would be tedious to express this constraint in RELAX NG. But it is
easy in a rule-based schema language.</para>

<para>DocBook V5.0 uses Schematron where appropriate.</para>

<section xml:id="s.custom">

<para>From the very beginning, one of the goals of DocBook has been
that users should be able to produce customizations that are either
subsets of extensions of DocBook.</para>

<para>Customization is possible in DocBook V4.x, but because of the
intricacies of XML DTD syntax and the complex and highly stylized
patterns of parameter entitiy usage in DocBook, it's not as easy as we
would like it to be.</para>

<para>In DocBook V5.0, we hope to take advantage of RELAX NGs more
robust design (and it's lack of pernicious determinism rules) to make
customization easier.</para>

<para>Three schema design patterns get us most of the way there.</para>

<section xml:id="s.patnames">
<title>Logical Groupings</title>

<para>DocBook elements, particularly the inlines, can be divided into
broad classes: general purpose, technical, error-related, operating-system
related, bibliographic, publishing, etc. In DocBook V5.0, these are collected
together in named patterns.</para>

<para>To add a new inline, <literal>endpoint</literal> for example,
to the list of technical inlines, one need only extend the appropriate
pattern. If an element should appear in several classes, they can all
be extended in the same way:</para>

<programlisting>db.technical.inlines |= endpoint
db.programming.inlines |= endpoint
db.os.inlines |= endpoint

<para>Much the same concept was used in DocBook V4.x, where instead of
patterns we had parameter entities. However, the constraints of DTD
validation severely limit the circumstances under which an element can
appear twice in a content model. That meant that adding an element to
one parameter entity might make it an error to add it to another. Such
constraints do not exist in RELAX NG which greatly simplifies the

<section xml:id="s.elemdefs">
<title>Element Definitions</title>

<para>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 <quote><literal>notAllowed</literal></quote>.</para>


<section xml:id="s.attrdefs">
<title>Attribute Definitions</title>

<para>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


<section xml:id="s.conversion">

<para>There’s an XSLT 1.0 stylesheet for performing conversion from
DocBook V4.x to DocBook V5.0. Presented with a valid DocBook V4.x document,
it attempts to produce a valid DocBook V5.0 document.</para>

<para>It succeeds entirely automatically for the most part, though human
intervention is suggested for constructs that might have multiple
interpretations (and therefore multiple possible transformations).</para>

<para>Users are encouraged to report documents that are not
successfully transformed by the stylesheet, especially those which do
have valid DocBook V5.0 representations.

<section xml:id="s.relnotes">
<title>Release Notes</title>

<para>See <link xlink:href=""/> for a list of tools that
can validate an XML document using RELAX NG. Note that not all products
are capable of evaluating the Schematron assertions in the schema.</para>


<appendix xml:id="a.mimetype">
<title>The DocBook Media Type</title>

<para>This appendix registers a new MIME media type,

<section xml:id="media-type-registration">
<title>Registration of MIME media type application/docbook+xml</title>

<term>MIME media type name:</term>

<term>MIME subtype name:</term>

<term>Required parameters:</term>

<term>Optional parameters:</term>

  <para>This parameter has identical semantics to the <code>charset</code>
parameter of the <code>application/xml</code> media type as
specified in <xref linkend="rfc3023"/> or its successors.

<term>Encoding considerations:</term>
<para>By virtue of DocBook XML content being XML, it has the same
considerations when sent as <quote><code>application/docbook+xml</code></quote>
as does XML. See <xref linkend="rfc3023"/>, Section 3.2.

<term>Security considerations:</term>
<para>Several DocBook elements may refer to arbitrary URIs.
In this case, the security issues of RFC 2396, section 7,
should be considered.</para>

<term>Interoperability considerations:</term>

<term>Published specification:</term>
<para>This media type registration is for DocBook documents as described by
<xref linkend="bib.docbooktdg5"/>.</para>

<term>Applications which use this media type:</term>
<para>There is no experimental, vendor specific, or personal tree
predecessor to <quote><code>application/docbook+xml</code></quote>,
reflecting the fact that no applications currently recognize it. This
new type is being registered in order to allow for the
deployment of DocBook on the World Wide Web, as a first class XML

<term>Additional information:</term>
  <term>Magic number(s):</term>

  <para>There is no single initial octet sequence that is always present in
DocBook documents.

  <term>File extension(s):</term>
  <para>DocBook documents are most often identified with the extension
<quote><filename class="extension">.xml</filename></quote>.

  <term>Macintosh File Type Code(s):</term>

<term>Person &amp; email address to contact for further information:</term>
<para>Norman Walsh, <email></email>.</para>

<term>Intended usage:</term>

<term>Author/Change controller:</term>
<para>The DocBook specification is a work product of the DocBook
Technical Committee at OASIS.</para>

<section xml:id="fragid">
<title>Fragment Identifiers</title>

<para>For documents labeled as
the fragment
identifier notation is exactly that for
as specified in <xref linkend="rfc3023"/> or its successors.</para>

<appendix xml:id="a.committee" role="non-normative">
<title>OASIS DocBook Technical Committee</title>

<para>The following individuals were members of the committee during
the formulation of this &standard;:</para>

<itemizedlist spacing="compact">
<listitem><para>Steve Cogorno, Sun Microsystems</para></listitem>
<listitem><para>Gary Cornelius, Individual</para></listitem>
<listitem><para>Adam Di Carlo, Debian</para></listitem>
<listitem><para>Paul Grosso, Arbortext</para></listitem>
<listitem><para>Dick Hamilton, Individual</para></listitem>
<listitem><para>Nancy Harrison, IBM</para></listitem>
<listitem><para>Scott Hudson, Individual</para></listitem>
<listitem><para>Mark Johnson, Debian</para></listitem>
<listitem><para>Gershon Joseph, Tech-Tav Documentation Ltd.</para></listitem>
<listitem><para>Jirka Kosek, Individual</para></listitem>
<listitem><para>Larry Rowland, Hewlett-Packard</para></listitem>
<listitem><para>Michael Smith, Individual</para></listitem>
<listitem><para>Robert Stayton, Individual (Secretary)</para></listitem>
<listitem><para>Norman Walsh, Sun Microsystems (Chair, Editor)</para></listitem>

<appendix xml:id="a.notices">

<para>Copyright &#169; The Organization for the Advancement of
Structured Information Standards [OASIS] 2001, 2002, 2003, 2004, 2005.
All Rights Reserved.</para>

<para>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's procedures with respect to rights
in OASIS specifications can be found at 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 implementors or users of this specification,
can be obtained from the OASIS Executive Director.</para>

<para>OASIS invites any interested party to bring to
its attention any copyrights, patents or patent applications,
or other proprietary rights which may cover technology
that may be required to implement this specification.
Please address the information to the OASIS Executive

<para>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 paragraph
are included on all such copies and derivative works.
However, this document itself may not be modified in
any way, such as by removing the copyright notice or
references to OASIS, except as needed for the purpose
of developing OASIS specifications, in which case the
procedures for copyrights defined in the OASIS Intellectual
Property Rights document must be followed, or as required
to translate it into languages other than English.</para>

<para>The limited permissions granted above are perpetual
and will not be revoked by OASIS or its successors or

<para>This document and the information contained herein
is provided on an <quote>AS IS</quote> basis and OASIS DISCLAIMS

<para>OASIS has been notified of intellectual property
rights claimed in regard to some or all of the contents
of this specification. For more information consult
the online list of claimed rights.</para>


<appendix xml:id="a.ipr">
<title>Intellectual Property Rights</title>

<para>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 DocBook web page
(<link xlink:href=""/>)


<appendix xml:id="a.revhistory">
<title>Revision History</title>

<revision role="&root;specs/docbook-5.0-spec-cd-01.html">
  <revnumber>Committee Draft “Public Review Draft 1”</revnumber>
  <date>6 February 2008</date>
<revision role="&root;specs/docbook-5.0CR7-spec-wd-01.html">
  <revnumber>Working Draft “Candidate Release 7”</revnumber>
  <date>28 September 2007</date>
<revision role="&root;specs/docbook-5.0CR6-spec-wd-01.html">
  <revnumber>Working Draft “Candidate Release 6”</revnumber>
  <date>27 September 2007</date>
<revision role="&root;specs/docbook-5.0CR1-spec-wd-01.html">
  <revnumber>Working Draft “Candidate Release 1”</revnumber>
  <date>21 December 2006</date>
<revision role="&root;specs/docbook-5.0b7-spec-wd-01.html">
  <revnumber>Working Draft “Beta 9”</revnumber>
  <date>26 October 2006</date>
<revision role="&root;specs/docbook-5.0b8-spec-wd-01.html">
  <revnumber>Working Draft “Beta 8”</revnumber>
  <date>26 September 2006</date>
<revision role="&root;specs/docbook-5.0b7-spec-wd-01.html">
  <revnumber>Working Draft “Beta 7”</revnumber>
  <date>21 July 2006</date>
<revision role="&root;specs/docbook-5.0b6-spec-wd-01.html">
  <revnumber>Working Draft “Beta 6”</revnumber>
  <date>2 June 2006</date>
<revision role="&root;specs/docbook-5.0b5-spec-wd-01.html">
  <revnumber>Working Draft “Beta 5”</revnumber>
  <date>16 April 2006</date>
<revision role="&root;specs/docbook-5.0b4-spec-wd-01.html">
  <revnumber>Working Draft “Beta 4”</revnumber>
  <date>9 March 2006</date>
<revision role="&root;specs/wd-docbook-docbook-5.0b3.html">
  <revnumber>Working Draft “Beta 3”</revnumber>
  <date>1 February 2006</date>
<revision role="&root;specs/wd-docbook-docbook-5.0b2.html">
  <revnumber>Working Draft “Beta 2”</revnumber>
  <date>12 January 2006</date>
<revision role="&root;specs/wd-docbook-docbook-5.0b1.html">
  <revnumber>Working Draft “Beta 1”</revnumber>
  <date>27 October 2005</date>
<revision role="&root;specs/wd-docbook-docbook-5.0a1.html">
  <revnumber>Working Draft “Alpha 1”</revnumber>
  <date>26 June 2005</date>


<bibliography xml:id="references"><title>References</title>

<bibliodiv xml:id="normative.refs"><title>Normative</title>

<bibliomixed xml:id="relaxng"/>
<bibliomixed xml:id="xml-rec"/>
<bibliomixed xml:id="xlink11"/>
<bibliomixed xml:id="rfc2119"/>
<bibliomixed xml:id="rfc3023"/>
<bibliomixed xml:id="bib.docbooktdg5"/>


<bibliodiv xml:id="non-normative.refs"><title>Non-Normative</title>

<bibliomixed xml:id="iso8879"/>
<bibliomixed xml:id="xmlschema-1"/>
<bibliomixed xml:id="xmlschema-2"/>
<bibliomixed xml:id="schematron2000"/>



openSUSE Build Service is sponsored by