Digital Talking Book 3-06 Expanded DTD

Authors: Harvey Bingham, George Kerscher, Michael Moodie

Date: 1999-09-24

Copyright © 1999 National Information Standards Organization

Go directly to Table of Contents

Introduction

This document expands upon the XML Document Type Definition implementing the NISO Digital Talking Book Version 3-06.

Contributors:
Harvey Bingham <hbingham@acm.org>
George Kerscher <kerscher@montana.com>
Michael Moodie <mmoo@loc.gov>
Markup Specification Team <daisy-wt-must@svb.nl>

1. Purpose

The Digital Talking Book 3.0 provides the means to package a published book with the combination of professional narration, navigation into that narration, and the text of the book marked with tags to convey its structure, content, and metadata about the book and its structure.

The Document Type Definition (DTD) defines the allowable element types and their attributes that can be used to markup the text of the book sufficiently that textual material can be synchronized with the professionally narrated version of that book. The synchronization can permit concurrent display of the text being narrated, and the textual material can be searched to locate material desired for narration.

This application of XML is the next generation after the DAISY 2.0 DTD, for the Digital Audio-based Information SYstem. That application developed a Navigation Control Center (NCC) for synchronizing document structure with narration.

The NCC will become another XML application 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) 1.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.

2. Document Tagging Content

A Digital Talking Book 3 document should begin with the XML processing instruction identifying the version of XML, and encoding, such as:

<?xml version="1.0" encoding="ISO-8859-1" ?>

The alternative encoding="UTF-8" is appropriate for supporting UNICODE, as is expected for systems supporting XML applications.

This is followed by the document type declaration, the DOCTYPE:

<!DOCTYPE dtbook3 PUBLIC
"-//NISO//DTD dtbook3.dtd//EN"
"http://www.loc.gov/nls/niso/dtbk3-06.dtd"
"dtbook3.dtd">

It identifies dtbook3 as the name of the root element, the first to occur in any document.

Note that the reference 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-06.

<!DOCTYPE dtbook3 PUBLIC
"-//NISO//DTD dtbook3.dtd Version 3-06 1999-09-23//EN"
"http://www.loc.gov/nls/niso/dtbk3-06.dtd"
"dtbk3-06.dtd">

The ExternalID begins with PUBLIC and is followed by the formal public identifier, indicating

-// unregistered
NISO// owning organization
DTD kind of external entity
dtbook3.dtd possibly with version 3-06 and date.
//EN the public text language is English.

Then comes the PUBLIC URI for the DTD, where it may be found on the internet. Note that the URI pointing to the public version is to this abbreviated version, not the extended version.

The third string identifies the SYSTEM (local) version of the DTD, in this form it is expected to be found in the same directory as this dtbook3 document, else find from the PUBLIC URI.

XML allows an internal subset of declarations (in "[...]" before the concluding ">" of the DOCTYPE declaration) that override or extend those of this DTD. Future modularization will likely use these to enable otherwise disabled marked sections for modules such as drama.

3. References

The latest version of the dtbook3 DTD is available at

http://www.loc.gov/nls/niso/dtbook3.dtd

Earlier individual versions are available, differentiated by suffix: This version is dtbk3-06.dtd.

http://www.loc.gov/nls/niso/dtbk3-06.dtd

Expanded DTD documentation of the DTD is available as an HTM 4.0 page at:

http://www.loc.gov/nls/niso/dtbook3doc.htm

The SMIL 1.0 specification is available at:

http://www.w3.org/TR/REC-smil

This dtbook3.dtd is an application of the Extensible Markup Language (XML) 1.0. The XML specification is available at:

http://www.w3.org/TR/REC-xml

It is based on an XML version of the HTML 4.0 Strict DTD, with design adaptation for dtbook3. That HTML DTD and more detailed documentation of the element types that come from that DTD is available at:

http://www.w3.org/TR/REC-html40


Element Usage Summary

ElementDescription
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" (takes the user to) another place within that document or another document. [HTML 4.0]
abbr designates an abbreviation, a shortened form of a word.
acronym marks a word formed from key letters (usually initials) of a group of words. For example: UNESCO, NATO, XML.
act is possible dtbook3 top-level of drama.
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 quotation 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 entire content of the document, divided into frontmatter, bodymatter, and rearmatter. Metadata is not included in <book>, but is placed in <head>.
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, 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 printed on the cover and spine, as the first tag within <frontmatter>. It is used to quickly identify the book.
drama is dtbook3 container for play.
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 within <div>, <act>, or <scene> and the title of the work within <poem> and <drama>.
head contains metainformation about the book but no actual content of the book itself, which is placed in <book>. [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. [HTML 4.0]
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. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
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 (often chapters), inside which level2 subdivisions (often sections) may nest. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
level2 contains subdivisions that nest within level1 divisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
level3 contains subdivisions that nest within level2 subdivisions (e.g., subsections within sections). The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
level4 contains subdivisions that nest within level3 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
level5 contains subdivisions that nest within level4 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
level6 contains subdivisions that nest within level5 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
levelhd contains the text of a heading within <level>.
li marks a list item in an ordered or unordered list. Content may be either inline or block and may include other nested lists. [HTML 4.0]
lin marks one line of a poem
linegroup contains a logical group of lines within a poem, e.g., a stanza.
linenum contains a line number in a poem, play, legal text, etc. When using linenum, it usually appears at the start of a block element, or adjacent to <br> within a block element.
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]
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 position of the note within the text is marked with a note reference (<noteref>).
noteref marks a character(s) that references a footnote, endnote, or annotation.
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 is not optional (may not be turned off by the end user).
object marks an embedded object, which may consist of scripts, applets, images, etc. [HTML 4.0]
ol contains an ordered list (list items are numbered or lettered). [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 scheme such as hyphenated numbers in appendices.
param provides a named property for <object>. [HTML 4.0]
poem contains a poem
prodnote contains language added to the alternative-format version by the producing organization; commonly used to provide verbal descriptions of visual elements such as charts, graphs, etc., supply operating instructions, or 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 text of the book.
sent marks a sentence.
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]
scene is possible dtbook3 second-level of drama.
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>. [HTML 4.0]
sidebar contains information supplementary to the main text and/or narrative flow and is often boxed and "floating" apart from the main text.
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]
speaker is dtbook3 container for speaker identification.
speech is dtbook3 container for speech by speaker.
stage is dtbook3 stage instructions.
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>. [HTML 4.0]
tr marks one row of a table containing <th> or <td> cells. [HTML 4.0]
ul marks an unordered list (list items are unnumbered and usually marked with a bullet or other typographical device.) [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.

Element Descriptions

For each of the elements in the dtbk3-03.dtd in the order they occur in the DTD the following information is supplied:

  1. <Element name>
  2. Description, with suffix if from [HTML 4.0]
  3. Contains: original element type declaration, and Expanded: if original has any parameter entities in its content model.
  4. Occurs within: list of element names in which this element may (or must) occur directly, in their content models.
  5. Attributes: Original: and Expanded: if there are parameter entities they are expanded.

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.

For example, using the EMPTY horizontal irule tag:
<hr title="horizontal rule purpose" />
or for backward compatibility the more common end tag form may be used:
<hr title="horizontal rule purpose"></hr>

Element content models are formed from a parenthesized list of names of other elements or parameter entities of the form %name; or #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:

ReplicatorUse 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 allowing text. The only place that it can occur in a content model is first among alternatives:
(#PCDATA | x | y)+
means choose among one or more of x or y intermixed with text.
#PCDATA stands for "parsed character data", indicating that the content may include entities representing non-ASCII characters, intermixed with the ASCII characters. The 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, Declared Value, and Default Value. They are shown as:

  1. Name of attribute as it may appear in a document tag,in the form: name="value".
  2. Declared value of attribute, of various types:
    Attribute TypeExplanation
    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
  3. Default value of attribute, of various kinds:
    Default ValueExplanation
    #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:

  • Each element name in the <!Element elementname Contains: ... and Expanded: ... > is linked to its description.
  • Each parameter entity reference (%name;) in the Element and Attribute list is linked to the corresponding entry in the Parameter Entities Sorted section. Since they are expanded where they occur, the parameter entity reference links need not usually be followed.

Document Structure


<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
AttributeDeclaredvalueDefaultvalue
Original:
%i18n;
Expanded:
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

Go to Table of Contents


Book Content


<book>

book surrounds the entire content of the document, divided into frontmatter, bodymatter, and rearmatter. Metadata is not included in <book>, but is placed in <head>.
<!ELEMENT book
Contains:
(frontmatter, bodymatter?, rearmatter?)
>

May occur within the element content model:

dtbook3
<!ATTLIST book
AttributeDeclaredvalueDefaultvalue
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
onload CDATA #IMPLIED
onunload CDATA #IMPLIED
>

Go to Table of Contents


Book Major Structures


<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 | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | script)+)
>

May occur within the element content model:

book
<!ATTLIST frontmatter
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #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 | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | script)+
>

May occur within the element content model:

book
<!ATTLIST bodymatter
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<rearmatter>

rearmatter contains supplementary material such as appendices, glossaries, bibliographies, and indices following the text of the book.
<!ELEMENT rearmatter
Contains:
(level | level1 | %block; | script)+
Expanded:
(level | level1 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | script)+
>

May occur within the element content model:

book
<!ATTLIST rearmatter
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

Go to Table of Contents


dtbook3 Recursive Structure level


<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. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level
Contains:
((levelhd | %block; | %inlineinblock; | level)*)
Expanded:
((levelhd | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum | level)*)
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level
<!ATTLIST level
AttributeDeclaredvalueDefaultvalue
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
depth CDATA #IMPLIED
>

Go to Table of Contents


dtbook3 Hierarchic Structure level1 ... level6


<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 (often chapters), inside which level2 subdivisions (often sections) may nest. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level1
Contains:
((h1 | level2 | %block; | %inlineinblock;)*)
Expanded:
((h1 | level2 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter
<!ATTLIST level1
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<level2>

level2 contains subdivisions that nest within level1 divisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level2
Contains:
((h2 | level3 | %block; | %inlineinblock;)*)
Expanded:
((h2 | level3 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content model:

level1
<!ATTLIST level2
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<level3>

level3 contains subdivisions that nest within level2 subdivisions (e.g., subsections within sections). The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level3
Contains:
((h3 | level4 | %block; | %inlineinblock;)*)
Expanded:
((h3 | level4 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content model:

level2
<!ATTLIST level3
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<level4>

level4 contains subdivisions that nest within level3 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level4
Contains:
((h4 | level5 | %block; | %inlineinblock;)*)
Expanded:
((h4 | level5 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content model:

level3
<!ATTLIST level4
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<level5>

level5 contains subdivisions that nest within level4 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level5
Contains:
((h5 | level6 | %block; | %inlineinblock;)*)
Expanded:
((h5 | level6 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content model:

level4
<!ATTLIST level5
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<level6>

level6 contains subdivisions that nest within level5 subdivisions. The class attribute identifies the actual name (e.g., part, chapter, letter) of the structure it marks.
<!ELEMENT level6
Contains:
((h6 | %block; | %inlineinblock;)*)
Expanded:
((h6 | p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*)
>

May occur within the element content model:

level5
<!ATTLIST level6
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

Go to Table of Contents


Br, Linenum, Address, and Div Content Models


<br>

br marks a forced line break. [HTML 4.0]
<!ELEMENT br
Contains:
EMPTY
>

May occur within the element content models:

address, author, notice, prodnote, sidebar, lin, stage, speaker, speech, a, em, strong, dfn, code, samp, kbd, var, citation, abbr, acronym sub, sup, span, bdo, sent, w, q, object, p, doctitle, levelhd, h1, h2, h3, h4, h5, h6, hd, dt, dd li, caption, th, td
<!ATTLIST br
AttributeDeclaredvalueDefaultvalue
Original:
%coreattrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
>

<linenum>

linenum contains a line number in a poem, play, legal text, etc. When using linenum, it usually appears at the start of a block element, or adjacent to <br> within a block element.
<!ELEMENT linenum
Contains:
(#PCDATA)
>

May occur within the element content models:

address, author, notice, prodnote, sidebar, lin, stage, speaker, speech, a, em, strong, dfn, code, samp, kbd, var, citation, abbr, acronym sub, sup, span, bdo, sent, w, q, object, p, doctitle, levelhd, h1, h2, h3, h4, h5, h6, hd, dt, dd, li, caption, th, td
<!ATTLIST linenum
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #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:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST address
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #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, 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 | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)*
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th td, noscript
<!ATTLIST div
AttributeDeclaredvalueDefaultvalue
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
level CDATA #IMPLIED
>

Go to Table of Contents


dtbook3 Block Elements Author, Notice, Prodnote, Sidebar


<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)*
>
<!ATTLIST author
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #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 is not optional (may not be turned off by the end user).
<!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:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST notice
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<prodnote>

prodnote contains language added to the alternative-format version by the producing organization; commonly used to provide verbal descriptions of visual elements such as charts, graphs, etc., supply operating instructions, or 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 | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama
>
<!ATTLIST prodnote
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
render (required | optional) #IMPLIED
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
render (required | optional) #IMPLIED
>

<sidebar>

sidebar contains information supplementary to the main text and/or narrative flow and is often boxed and "floating" apart from the main text.
<!ELEMENT sidebar
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 | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST sidebar
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<note>

note marks a footnote, endnote, annotation, etc. The position of the note within the text is marked with a note reference (<noteref>).
<!ELEMENT note
Contains:
(%block; | %inlineinblock;)+
Expanded:
(p | ul | ol | dl | div | blockquote | hr | table | address | noscript | author | notice | prodnote | sidebar | note | poem | drama | a | citation | img | code | samp | kbd | var | pagenum)+
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST note
AttributeDeclaredvalueDefaultvalue
Original:
%attrsrqd;
Expanded:
id ID #REQUIRED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

Go to Table of Contents


dtbook3 Poem


<poem>

poem contains a poem
<!ELEMENT poem
Contains:
((hd | author)*, (linegroup | p | prodnote)+)
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST poem
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<linegroup>

linegroup contains a logical group of lines within a poem, e.g., a stanza.
<!ELEMENT linegroup
Contains:
(lin)+
>

May occur within the element content model:

poem
<!ATTLIST linegroup
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<lin>

lin marks one line of a poem
<!ELEMENT lin
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 model:

linegroup
<!ATTLIST lin
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

Go to Table of Contents


dtbook3 Drama


<drama>

drama is dtbook3 container for play.
<!ELEMENT drama
Contains:
((hd | author)*,<br>br> (act | scene | stage | speaker | speech | prodnote)+)
>

May occur within the element content models:

frontmatter, bodymatter, rearmatter, level, level1, level2, level3, level4, level5, level6, div, prodnote, sidebar, note, stage, object, blockquote, dd, li, th, td, noscript
<!ATTLIST drama
AttributeDeclaredvalueDefaultvalue
Original:
%attrs;
Expanded:
id ID #IMPLIED
class CDATA #IMPLIED
style CDATA #IMPLIED
title CDATA #IMPLIED
lang NMTOKEN #IMPLIED
dir (ltr|rtl) #IMPLIED
>

<act>

act is possible dtbook3 top-level of drama.
<!ELEMENT act
Contains:
(hd | scene | stage |