Authors: Harvey Bingham, George Kerscher, Michael Moodie,
and the DAISY/NISO DTD Development Group
Date: 2001-01-31
Copyright © 1999, 2001 National Information Standards Organization
Go to the Table of Contents
This document expands upon the XML Document Type Definition implementing the NISO Digital Talking Book Version 3-07.
The Digital Talking Book 3.0 Document Type Definition (DTD) provides the means to markup the text of a published book to permit support for the combination of professional narration, and navigation into that narration. The markup tags in the book convey its content in structure, and some metadata about the book content and its structures.
The Document Type Definition (DTD) names and defines the allowable element types, their allowable content, and their attributes. Correct markup of the text of the book permits the textual material to be synchronized using SMIL files with the professionally narrated version of that book. The synchronization can permit concurrent display of the text being narrated. The textual content can be searched in context to locate material desired for narration.
This application of XML is the next generation after several DAISY versions of 2.X specifications. Those applications developed a Navigation Control Center (NCC) for synchronizing document structure with narration. The DAISY (Digital Audio-based Information SYstem) Consortium contributed substantially to the development of this DTD.
The NCC evolved into an XML application called NCX derived from the markup of documents tagged using the dtbook3 DTD. Richer structuring capability is one of the objectives of this DTD. The Synchronized Multimedia Integration Language (SMIL) 2.0 will be used.
Some HTML elements are omitted from dtbook3. HTML authoring tools may include many of the additional tags that are left out of dtbook3. Endtag markup, sometimes optional in HTML, are required for use with dtbook3, as any XML application requires endtags. The benefit of including endtags is that the tagged document has dependable structure.
The tools available for browsing HTML may be used with dtbook3 material, at the expense of discarding some specific tagging and attributes that are not part of HTML 4.0. A CSS-based stylesheet that identifies the presentation expectations for the non-HTML tags, or a filter to map those tags onto suitable HTML tags can provide appropriate visual presentation.
Go to the Table of Contents
A Digital Talking Book 3 document is an XML application. Therefore it should begin with the XML processing instruction identifying the version of XML, and the character set encoding:
<?xml version="1.0" encoding="ISO-8859-1" ?>
Alternative encodings "UTF-8", "UTF-16", "ISO-10646-UCS-2", or "ISO-10646-UCS-4" should be used for the various encodings and transformations of Unicoce/ISO/IEC 106466. XML applications are expected to support Unicode. Other alternatives are also acceptable, including "ISO-8859-1", "ISO-8859-2", ..."ISO-8859-9" for parts of ISO 8859. Also the values "ISO-2022-JP", "Shift_JIS", and "EUC-JP" should be used for the various encoded forms of JIS X-0208-1997.
Note the default encoding above has a restricted set of characters, commonly known as "ISO-Latin 1". It may be inadequate for some books. See the discussion in Section 3 below for ways to augment this encoding with character entity sets.
This is followed by the document type declaration, the DOCTYPE:
<!DOCTYPE dtbook3 PUBLIC
"-//NISO//DTD dtbook3.dtd//EN"
"http://www.loc.gov/nls/niso/dtbook3.dtd"
The ExternalID begins with PUBLIC and is followed by the formal public identifier, indicating
Then comes the PUBLIC URI for the DTD: where it may be found on the internet.
-//unregistered NISO//owning organization DTDkind of external entity dtbook3.dtdcurrent vesion //ENthe public text language is English.
"http://www.loc.gov/nls/niso/dtbook3.dtd"
The third string identifies the SYSTEM (local) version of the DTD.
"dtbook3.dtd"
In this form it is expected to be found rooted in the same directory as this dtbook3 document. If it isn't there, find it from the PUBLIC URI.
This declaration identifies dtbook3 as the name of the root element., That name is the first to occur in any book that is tagged to this DTD.
Note that the reference above is to the latest version of the DTD. When a document is tagged to a particular version of the DTD, the following is the alternative, here referring to version 3-07.
<!DOCTYPE dtbook3 PUBLIC
"-//NISO//DTD dtbook3.dtd Version 3-07 2001-01-31//EN"
"http://www.loc.gov/nls/niso/dtbk3-07.dtd"
"dtbk3-07.dtd">
Go to the Table of Contents
The dtbook3 DTD has two parameter entities defined that provide hooks to allow an individual book to modularly extend the content models for its block and inline parameter entities.
<!ENTITY % externalblock "">
<!ENTITY % externalinline "">
These hooks appear in corresponding block and inline content models. With this "" content they have no effect on books tagged to the dtbook3 DTD. In a book that needs a modular extension, values are given by redefinition in the internal subset of that book. This extends the dtbook3 DTD without having to change it.
A book can augment the dtbook3 DTD by including other declarations in the internal subset of declarations (in square brackets before the concluding ">") of the initial DOCTYPE declaration that identifies the dtbook3 DTD. Those additional declarations in the internal subset take preference over any in the dtbook3 DTD. The effective DTD is thereby augmented by the parameter entity values and any other declarations of the book's internal subset. For example:
<!DOCTYPE dtbook3 PUBLIC
"-//NISO//DTD dtbook3.dtd//EN"
"http://www.loc.gov/nls/niso/dtbook3.dtd"
"dtbook3.dtd"
[
<!ENTITY % dramaModule "http://www.loc.gov/nls/niso/drama.dtd" >
%dramaModule;
<!ENTITY % externalblock "| drama">
<!ENTITY % externalinline "| stagedir">
]>
The "%dramaModule;" invocation causes all declarations made within dramaModule to become the initial part of the dtbook3 DTD. Within the book, the empty entity declarations for both % externalblock and for % externalinline are replaced by these new definitions. Thus the block element drama can appear wherever block elements may occur in dtbook3. Similarly any actual content needed for %externalinline; can appear in that extension to wherever %inline; appears in the DTD.
More than one module may be needed and included in a book, for example both poem and drama can appear in the internal subset of the book. For example:
[
<!ENTITY % poemModule "http://www.loc.gov/nls/niso/poem.dtd" >
%poemModule;
<!ENTITY % dramaModule "http://www.loc.gov/nls/niso/drama.dtd" >
%dramaModule;
<!ENTITY % externalblock "| poem | drama" >
<!ENTITY % externalinline "| stagedir">
]>
Note that arbitrary external modules from other sources may not have all the needed attributes. XML allows augmentation of ATTLISTs in the internal subset. For each module, some accommodation to its use in dtbook3 may be required.
Also note that element name collisions may be possible, with names in those modules and associated content models overriding those in dtbook3. For modules under control of dtbook3 design, such collisions can be avoided. A more general solution uses namespace prefixes to element and attribute names to clearly indicate the module source.
The fully marked-up drama follows. Since declarations in the internal subset take precedence over like-named ones from the external entity containing the base DTD (that is, dtbook3), the module containing the drama tags is included along with the tags in the base DTD that are not duplicated in the drama module. So if a <p> tag is defined in the drama module, its definition overrides that of the <p> tag in dtbook3.
Note that tools and players processing any extended markup that affects navigation structure will need to know of modular extensions.
The list of URLs for DTDs of compatible modules may be found at:
"http://www.loc.gov/nls/niso/dtbook3modules.htm"
Note that the default encoding in the initial processing instruction,
encoding="ISO8859-1"
may be inadequate for some books or some modules, such as math. One of the ISO 10646-based encodings should be used, such as UTF-8 or UTF-16, which all XML processors must be able to read. An older alternative is to identify and activate needed character entity sets. The character entity names suggest their appearance, and may be usefully spelled out, in place of their visual rendering.
Appendix A: Occurrences of Each Element Type in Content Models
| Element | Description |
|---|---|
a |
contains an anchor, which is used in two ways: A name anchor identifies an exact position in a given document. A link anchor, when activated, "links to" (repositions the focus to) another location within that document or another document. [HTML 4.0] |
abbr |
designates an abbreviation, a shortened form of a word. For example: Mr., approx ., lbs., rec'd. |
acronym |
marks a word formed from key letters (usually initials) of a group of words. For example: UNESCO, NATO, XML. |
address |
contains a location at which a person or agency may be contacted. [HTML 4.0] |
author |
identifies the writer of a given work. |
base |
contains the base URI from which local references start. It acts as an absolute URI that serves as the base URI for resolving relative URIs found within the document. It is an empty element that may appear only in <head>. [HTML 4.0] |
bdo |
is used in special cases where the automatic actions of the bidirectional algorithm would result in incorrect display. [HTML 4.0] |
blockquote |
indicates a block of quoted content that is set off from the surrounding text by paragraph breaks. Compare with <q> which marks short, inline quotations. [HTML 4.0] |
bodymatter |
consists of the text proper of a book, as opposed to preliminary material <frontmatter> or supplementary information <rearmatter>. |
book |
surrounds the actual content of the document, which is divided into <frontmatter>, <bodymatter>, and <rearmatter>. <head>, which contains metadata, precedes <book>. |
br |
marks a forced line break. [HTML 4.0] |
caption |
describes a table. If used, it must follow immediately after the table start tag. [HTML 4.0] |
citation |
marks a reference to another document. |
code |
designates a fragment of computer code. [HTML 4.0] |
col |
is a means to apply attribute values to table columns. [HTML 4.0] |
colgroup |
is a group of columns that may share attribute values within a table. [HTML 4.0] |
dd |
marks a definition of a term within a definition list. [HTML 4.0] |
dfn |
marks the first occurrence of a word or term that is defined or explained elsewhere in a book. [HTML 4.0] |
div |
is a generic container for subdivisions of a book. The <level1> ... <level6> hierarchy, or the <level> tag used recursively, should mark the major hierarchical structures of a book, while <div> is used in less formal circumstances or when for production purposes it is desired that a structure should be treated differently. The class attribute identifies the actual name (e.g., part, chapter,i letter) of the structure it marks. Compare with <span> which is used in inline settings. [HTML 4.0] |
dl |
contains a definition list, usually consisting of pairs of terms <dt> and definitions <dd>. Any definition can contain another definition list. [HTML 4.0] |
doctitle |
marks the title of the book, as the first tag within <frontmatter>. It is used to quickly identify the book. |
dt |
marks a term in a definition list. [HTML 4.0] |
dtbook3 |
is the root element in the Digital Talking Book 3.0 DTD. Contains metadata in <head> and the document itself in <book>. |
em |
indicates emphasis. Compare with <strong>. [HTML 4.0] |
frontmatter |
contains preliminary material such as the copyright notice, foreword, acknowledgments, table of contents, etc. which serves as a guide to the contents and nature of a book. |
h1 |
contains the text of the heading for a <level1> structure. [HTML 4.0 but nested] |
h2 |
contains the text of the heading for a <level2> structure. [HTML 4.0 but nested] |
h3 |
contains the text of the heading for a <level3> structure. [HTML 4.0 but nested] |
h4 |
contains the text of the heading for a <level4> structure. [HTML 4.0 but nested] |
h5 |
contains the text of the heading for a <level5> structure. [HTML 4.0 but nested] |
h6 |
contains the text of the heading for a <level6> structure. [HTML 4.0 but nested] |
hd |
marks the text of a heading in a <list> or <sidebar>. |
head |
contains metainformation about the book but no actual content of the book itself, which is placed in <book>. This information is consonant with the head information in xhtml. See: http://www.w3.org/ [HTML 4.0] |
hr |
is an empty element indicating a horizontal rule. May be used to indicate a break in the text where only blank lines, a row of asterisks, a horizontal line, etc. are used in the print book. [HTML 4.0] |
img |
marks a visual image. The "src" attribute specifies the location of the image file. The "alt" and "longdesc" attributes may be used to supply short and long descriptions, respectively. may be used to supply short and long descriptions, respectively, although prodnote will generally contain the latter. Longdesc may contain a pointer to the prodnote. The referencing is typically of the form <imgcaption imgref="#yyy">The Caption</imgcaption> containing the printed caption for the <img id="yyy">. [HTML 4.0] |
imgcaption |
contains the caption for one or more <img>. If the caption applies to more than one <img>, each idref in the list of IDs in the imgref is separated by whitespace. |
imggroup |
provides a container for <img> and its associated <imgcaption> and <prodnote>. <prodnote> will contain a description of the image. Content model allows multiple <img> if they share a caption, multiple <imgcaption> if several captions refer to a single <img>, and multiple <prodnote> if different versions are needed for different media (e.g., large print, braille, etc.) |
kbd |
designates information that the reader is to input directly into a computer using the keyboard. [HTML 4.0] |
level |
is an alternative tag for marking the major structures in a book. It may be used recursively, i.e., repeated indefinitely with each successive occurrence nesting within the previous. It may also be included in a subsequent higher level. The class attribute identifies the actual name (e.g., part, chapter, section, subsection) of the structure it marks. the depth attribute indicates the nesting depth, starting at 1. Subordinate levels have greater depth. |
level1 |
is the highest level container of major divisions of a book. Used in <frontmatter>, <bodymatter>, and <rearmatter> to mark the largest divisions of the book (usually parts or chapters), inside which level2 subdivisions (often sections) may nest. The class attribute identifies the actual name (e.g., part, chapter) of the structure it marks. |
level2 |
contains subdivisions that nest within <level1> divisions. The class attribute identifies the actual name (e.g., subpart, chapter, subsection) of the structure it marks. |
level3 |
contains subdivisions that nest within <level2> subdivisions (e.g., subsections within subsections). The class attribute identifies the actual name (e.g., section, subpart, subsubsection) of the subordinate structure it marks. |
level4 |
contains subdivisions that nest within <level3> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
level5 |
contains subdivisions that nest within <level4> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
level6 |
contains subdivisions that nest within <level5> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
levelhd |
contains the text of a heading within <level>. Corresponds to <h1> through <h6> used in <level1> through <level6>. |
li |
marks each list item in a <list>. <li> content may be either inline or block and may include other nested lists. Alternatively it may contain a sequence of list item components, <lic>, that identify regularly occurring content, such as the heading and page number of each entry in a table of contents. [HTML 4.0] |
lic |
("list item component") allows ordered substructure within a list item <li>. Used when a list item is made up of two or more components, as in a table of contents entry. |
line |
marks a single logical line of text. Often used in conjunction with <linenum> in documents with numbered lines. |
linenum |
contains a line number in, for example, legal text. |
link |
is an empty element appearing in the <head> section of a document that establishes a connection between the current document and another document(s). The <link> element conveys relationship information (for example, "next" and "previous") that may be rendered by user agents in a variety of ways. [HTML 4.0] |
list |
contains a list. The "type" attribute can indicate whether a list is ordered or unordered. |
meta |
indicates metadata about the book. It is an empty element that may appear only in <head>. [HTML 4.0] |
noscript |
identifies an alternate method for carrying out a function when a playback device cannot execute a <script>. See <script>. [HTML 4.0] |
note |
marks a footnote, endnote, annotation, etc. The reference to the note within the text is marked with a <noteref>. |
noteref |
marks one or more characters that reference a footnote, endnote, or annotation <note>. |
notice |
contains a warning, caution, or other type of admonition normally found in the margin of a book. Differs from a sidebar in that a notice must be presented at a specific location within the text and its presentation is not optional. |
object |
marks an embedded object, which may consist of scripts, applets, images, etc. [HTML 4.0] |
p |
contains a paragraph. [HTML 4.0] |
pagenum |
contains a page number from the print document, recorded as the first text object on a page. The"page" attribute allows three types of page numbering schemes to be identified: "normal" arabic numbering in the body of the book, "front" pages (from the frontmatter), and "special" pagination schemes such as hyphenated numbers in appendices. |
param |
provides a named property for <object>. [HTML 4.0] |
prodnote |
contains language added to the alternative-format version by the producers; commonly used to provide verbal descriptions of visual elements such as charts, graphs, etc.; to supply operating instructions; or to describe differences between the print book and the audio version. |
q |
contains a short, inline quotation. Compare with <blockquote> which marks a longer quotation set off from the surrounding text. [HTML 4.0] |
rearmatter |
contains supplementary material such as appendices, glossaries, bibliographies, and indices following the <bodymatter> of the book. |
samp |
contains a sample of work created by the author for use as an example or template. For example, a sample business letter, resume, computer program output, or form. [HTML 4.0] |
script |
contains a script, a program that may accompany a document or be embedded directly in it. The program executes on the client's machine when the document loads, or at some other time such as when a link is activated. See <noscript> for an alternative in case the <script> cannot be executed. [HTML 4.0] |
sent |
marks a sentence. |
sidebar |
contains information supplementary to the main text and/or narrative flow and is often boxed and printed apart from the main text block on a page. |
span |
is a generic container for use in inline settings when no specific tag exists for a given situation. The class attribute may describe the nature of the text it marks (e.g., a typographical error). May be used to mark a class of items to which styles are to be applied. Compare with <div> which is used in block settings. [HTML 4.0] |
strong |
marks stronger emphasis than <em>. [HTML 4.0] |
style |
is means to include styling information that applies to the book. It may appear only in <head>. [HTML 4.0] |
sub |
indicates a subscript character (printed below a character's normal baseline). Can be used recursively and/or intermixed with <sup>. [HTML 4.0] |
sup |
marks a superscript character (printed above a character's normal baseline). Can be used recursively and/or intermixed with <sub>. [HTML 4.0] |
table |
contains a table data arranged in rows and columns. [HTML 4.0] |
tbody |
marks a group of rows in the main body of a table. If the table is divided into several sections, each consisting of a number of rows, each section would be separately tagged with tbody. [HTML 4.0] |
td |
indicates an individual data cell in the body of a table. [HTML 4.0] |
tfoot |
marks table footer information, consisting of one or more rows (each marked with the tr tag). [HTML 4.0] |
th |
indicates a table cell containing header information. [HTML 4.0] |
thead |
marks header information in a table, consisting of one or more rows (each marked with the tr tag) of <th> cells. [HTML 4.0] |
title |
contains the title of the book but is used only as metainformation in <head>. Use <doctitle> within <book> for the actual book title, which will usually be the same. [HTML 4.0] |
tr |
marks one row of a table containing <th> or <td> cells. [HTML 4.0] |
var |
indicates an instance of a variable or program argument. Commonly used as a placeholder for text to be entered by the user. [HTML 4.0] |
w |
marks a word. |
Go back to Table of Contents
For each of the elements in the dtb3-07.dtd in the order they occur in the DTD the following information is supplied:
<ELEMENT Elementname>content model, and Expanded: if original has any parameter entities in expanded content model.Element Declarations are shown as:
<!ELEMENT elementname
| Contains: | |
EMPTY or original content model: | |
| Expanded: | |
| content model with parameter entities expanded |
>
EMPTY declared content denotes that the element has no explicit content. Instead its purpose is to mark a position, and to associate attribute values to that position. The XML-approved way to indicate the end-tag of such an element is by the special tag close ' />'. That leading space (after the end of the final quoted value for an attribute) is presumed by some browsers.
EMPTY horizontal rule tag:<hr title="horizontal rule purpose" /><hr title="horizontal rule purpose"></hr>
#PCDATA, separated by connectors:
| Connector | Use | Example |
|---|---|---|
| , | sequence | (x,y) is x followed by y |
| | | alternative | (x|y) is either x or y |
| (...) | grouping | (x,(y|z)) is x followed by either y or z |
Individual names or groupings of them may have a following replicator (by default no replicator means one of:
| Replicator | Use | Example |
|---|---|---|
| ? | optional | x? means zero or one of x |
| * | optional and repeatable | x* means zero or more of x |
| + | Repeatable | x+ means one or more of x |
| none | One only | x means just one x |
#PCDATA is a special name used in some element content models to indicate that otherwise undifferentiated text can appear. The only place that it can occur in a content model is alone, or first among alternatives. For examples:
Content Model Meaning (x | y)+Either xory, repeatable, in any order(#PCDATA | x | y)+#PCDATA, intermixed and repeatable, withxory(x,y?)x, optionally followed byy(x?,(y|z)*)Optional x, followed by optional and repeatable choice ofxory
means choose among 0 or more of x or y intermixed with text. Note that because the #PCDATA is present, even an empty string matches this model.
#PCDATAstands for "parsed character data", indicating that the content may include other intermixed properly-nested element tags. It may also contain entities that permit representing non-ASCII characters, intermixed with characters from the document character set. If this set is "ISO-8879-1" or the ASCII characters, a form for referencing such entities is:
&xHHHH;
where the HHHH denotes a Unicode hexidecimal code position.
Attribute List Declarations have one or more attributes. Each attribute has three parts:
name="value".| Attribute Type | Explanation |
|---|---|
ID |
identifier, formed from letters (case sensitive), digits, dash, underscore, and period. |
IDREF |
Value is one ID value |
IDREFS |
Values are one or more space-separated ID values |
CDATA |
character string, with the semantic meaning suggested by the parameter entity name. |
| (name1|name2|...) | Select at most one among the alternatives |
| Default Value | Explanation |
|---|---|
#IMPLIED |
attribute and its value may be omitted, and if so, the meaning is up to the system. |
#REQUIRED |
attribute and its value must be included. |
| quoted value | One of the explicit names in the Declared value. |
Hyperlinking:
<dtbook3>dtbook3 |
is the root element in the Digital Talking Book 3.0 DTD. Contains metadata in <head> and the document itself in <book>. |
<!ELEMENT dtbook3| Contains: | |
(%dtbook3.content;) | |
| Expanded: | |
(head , book) |
May not occur in other element content models, as dtbook3 is the root element.
<!ATTLIST dtbook3| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%i18n; |
|
|
|
| Expanded: | |||
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
<book>book |
surrounds the actual content of the document, which is divided into <frontmatter>, <bodymatter>, and <rearmatter>. <head>, which contains metadata, precedes <book>. |
<!ELEMENT book| Contains: | |
(frontmatter, bodymatter?, rearmatter?) |
May occur within the element content model:
<!ATTLIST book| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
onload |
%script; |
#IMPLIED |
|
onunload |
%script; |
#IMPLIED |
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
|
onload |
CDATA |
#IMPLIED |
|
onunload |
CDATA |
#IMPLIED |
<frontmatter>frontmatter |
contains preliminary material such as the copyright notice, foreword, acknowledgments, table of contents, etc. which serves as a guide to the contents and nature of a book. |
<!ELEMENT frontmatter| Contains: | |
(doctitle, (level | level1 | %block; | script)+) | |
| Expanded: | |
(doctitle , (level | level1 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | script)+) |
May occur within the element content model:
<!ATTLIST frontmatter| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<bodymatter>bodymatter |
consists of the text proper of a book, as opposed to preliminary material <frontmatter> or supplementary information <rearmatter>. |
<!ELEMENT bodymatter| Contains: | |
(level | level1 | %block; | script)+ | |
| Expanded: | |
(level | level1 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | script)+ |
May occur within the element content model:
<!ATTLIST bodymatter| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<rearmatter>rearmatter |
contains supplementary material such as appendices, glossaries, bibliographies, and indices following the <bodymatter> of the book. |
<!ELEMENT rearmatter| Contains: | |
(level | level1 | %block; | script)+ | |
| Expanded: | |
(level | level1 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | script)+ |
May occur within the element content model:
<!ATTLIST rearmatter| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level>level |
is an alternative tag for marking the major structures in a book. It may be used recursively, i.e., repeated indefinitely with each successive occurrence nesting within the previous. It may also be included in a subsequent higher level. The class attribute identifies the actual name (e.g., part, chapter, section, subsection) of the structure it marks. the depth attribute indicates the nesting depth, starting at 1. Subordinate levels have greater depth. |
<!ELEMENT level| Contains: | |
((levelhd | %block; | %inlineinblock; | level)*) | |
| Expanded: | |
((levelhd | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum | level)*) |
May occur within the element content models:
<!ATTLIST level| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
depth |
CDATA |
#IMPLIED |
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
|
depth |
CDATA |
#IMPLIED |
<level1>level1 |
is the highest level container of major divisions of a book. Used in <frontmatter>, <bodymatter>, and <rearmatter> to mark the largest divisions of the book (usually parts or chapters), inside which level2 subdivisions (often sections) may nest. The class attribute identifies the actual name (e.g., part, chapter) of the structure it marks. |
<!ELEMENT level1| Contains: | |
((h1 | level2 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h1 | level2 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content models:
<!ATTLIST level1| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level2>level2 |
contains subdivisions that nest within <level1> divisions. The class attribute identifies the actual name (e.g., subpart, chapter, subsection) of the structure it marks. |
<!ELEMENT level2| Contains: | |
((h2 | level3 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h2 | level3 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content model:
<!ATTLIST level2| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level3>level3 |
contains subdivisions that nest within <level2> subdivisions (e.g., subsections within subsections). The class attribute identifies the actual name (e.g., section, subpart, subsubsection) of the subordinate structure it marks. |
<!ELEMENT level3| Contains: | |
((h3 | level4 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h3 | level4 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content model:
<!ATTLIST level3| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level4>level4 |
contains subdivisions that nest within <level3> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
<!ELEMENT level4| Contains: | |
((h4 | level5 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h4 | level5 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content model:
<!ATTLIST level4| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level5>level5 |
contains subdivisions that nest within <level4> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
<!ELEMENT level5| Contains: | |
((h5 | level6 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h5 | level6 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content model:
<!ATTLIST level5| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<level6>level6 |
contains subdivisions that nest within <level5> subdivisions. The class attribute identifies the actual name of the subordinate structure it marks. |
<!ELEMENT level6| Contains: | |
((h6 | %block; | %inlineinblock;)*) | |
| Expanded: | |
((h6 | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)*) |
May occur within the element content model:
<!ATTLIST level6| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<br>br |
marks a forced line break. [HTML 4.0] |
<!ELEMENT br| Contains: | |
EMPTY |
May occur within the element content models:
<!ATTLIST br| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%coreattrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
<linenum>linenum |
contains a line number in, for example, legal text. |
<!ELEMENT linenum| Contains: | |
(#PCDATA) |
May occur within the element content models:
<!ATTLIST linenum| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<address>address |
contains a location at which a person or agency may be contacted. [HTML 4.0] |
<!ELEMENT address| Contains: | |
(%inline;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | prodnote | noteref )* |
May occur within the element content models:
<!ATTLIST address| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<div>div |
is a generic container for subdivisions of a book. The <level1> ... <level6> hierarchy, or the <level> tag used recursively, should mark the major hierarchical structures of a book, while <div> is used in less formal circumstances or when for production purposes it is desired that a structure should be treated differently. The class attribute identifies the actual name (e.g., part, chapter,i letter) of the structure it marks. Compare with <span> which is used in inline settings. [HTML 4.0] |
<!ELEMENT div| Contains: | |
(%block; | %inlineinblock;)* | |
| Expanded: | |
(p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)* |
May occur within the element content models:
<!ATTLIST div| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
level |
CDATA |
#IMPLIED |
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
|
level |
CDATA |
#IMPLIED |
<author>author |
identifies the writer of a given work. |
<!ELEMENT author| Contains: | |
(%inline;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | prodnote | noteref )* |
May occur within the element content models:
<!ATTLIST author| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<notice>notice |
contains a warning, caution, or other type of admonition normally found in the margin of a book. Differs from a sidebar in that a notice must be presented at a specific location within the text and its presentation is not optional. |
<!ELEMENT notice| Contains: | |
(%inline;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | prodnote | noteref )* |
May occur within the element content models:
<!ATTLIST notice| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<prodnote>prodnote |
contains language added to the alternative-format version by the producers; commonly used to provide verbal descriptions of visual elements such as charts, graphs, etc.; to supply operating instructions; or to describe differences between the print book and the audio version. |
<!ELEMENT prodnote| Contains: | |
(%flow;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | noteref | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note )* |
May occur within the element content models:
frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, address, div, author, notice, prodnote, sidebar, note, line, a, em
strong, dfn, code, samp, kbd, var, citation, abbr, acronym, sub, sup, span, bdo, q, imggroup, imgcaption, object, p, doctitle, levelhd
h1, h2, h3, h4, h5, h6, hd, blockquote, dt, dd, list, li, lic, caption, th, td, noscript
<!ATTLIST prodnote| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
imgref |
IDREFS |
#IMPLIED |
|
render |
(required | optional) |
#IMPLIED |
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
|
imgref |
IDREFS |
#IMPLIED |
|
render |
(required | optional) |
#IMPLIED |
<sidebar>sidebar |
contains information supplementary to the main text and/or narrative flow and is often boxed and printed apart from the main text block on a page. |
<!ELEMENT sidebar| Contains: | |
(%flow;| hd)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | noteref | p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | hd)* |
May occur within the element content models:
<!ATTLIST sidebar| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<note>note |
marks a footnote, endnote, annotation, etc. The reference to the note within the text is marked with a <noteref>. |
<!ELEMENT note| Contains: | |
(%block; | %inlineinblock;)+ | |
| Expanded: | |
(p | list | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | a | citation | img | imgcaption | code | samp | kbd | var | pagenum)+ |
May occur within the element content models:
<!ATTLIST note| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrsrqd; |
|
|
|
| Expanded: | |||
id |
ID |
#REQUIRED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<line>line |
marks a single logical line of text. Often used in conjunction with <linenum> in documents with numbered lines. |
<!ELEMENT line| Contains: | |
(%inline;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | a | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | prodnote | noteref )* |
<!ATTLIST line| Attribute | Declaredvalue | Defaultvalue | |
| Original: | |||
%attrs; |
|
|
|
| Expanded: | |||
id |
ID |
#IMPLIED |
|
class |
CDATA |
#IMPLIED |
|
style |
CDATA |
#IMPLIED |
|
title |
CDATA |
#IMPLIED |
|
lang |
NMTOKEN |
#IMPLIED |
|
dir |
(ltr|rtl) |
#IMPLIED |
|
showin |
(xxx|xxp|xlx|xlp|bxx|bxp|blx|blp) |
#IMPLIED |
<a>a |
contains an anchor, which is used in two ways: A name anchor identifies an exact position in a given document. A link anchor, when activated, "links to" (repositions the focus to) another location within that document or another document. [HTML 4.0] |
<!ELEMENT a| Contains: | |
(%inlinea;)* | |
| Expanded: | |
(#PCDATA | em | strong | dfn | code | samp | kbd | var | citation | abbr | acronym | img | object | br | script | q | sub | sup | span | bdo | linenum | sent | w | pagenum | prodnote | noteref )* |
May occur within the element content models:
level, level1, level2, level3, level4, level5, level6, address, div, author, notice, prodnote, sidebar, note, line, em, strong, dfn, code, samp
kbd, var, citation, abbr, acronym, sub, sup, span, bdo, sent, w, q, imgcaption, object, p, doctitle, levelhd, h1, h2, h3
h4, h5, h6, hd, blockquote, dt, dd, li, lic, caption, th, td, noscript