1 <!-- NCX 2005-1 DTD 2005-06-26
\r
2 file: ncx-2005-1.dtd
\r
4 Authors: Mark Hakkinen, George Kerscher, Tom McLaughlin, James Pritchett, and Michael Moodie
\r
6 2002-02-12 M. Moodie. Changed content model of navLabel element to eliminate ambiguity.
\r
7 2002-02-27 M. Moodie. Grammatical changes suggested by editor.
\r
8 2004-03-31 J. Pritchett. Various changes per the 2004 change list:
\r
9 - Changed internal version numbers from 1.1.0 to 1.2.0
\r
10 - Made audio clipBegin/clipEnd mandatory (change #10)
\r
11 - Dropped value attribute from navPoint (change #11)
\r
12 - Replaced lang attribute with xml:lang (change #12)
\r
13 - Added <pageList> and <pageTarget> elements (change #48)
\r
14 - Dropped onFocus and onBlur attributes from navPoint and navTarget (change #49)
\r
15 - Added <img> to content models of docTitle and docAuthor (change #50)
\r
16 - Removed reference to pages in description of navList (change #52)
\r
17 - Added <navInfo> element (change #53)
\r
18 - Added default namespace attribute to description of <ncx> (change #L8)
\r
19 - Removed pageRef and mapRef attributes
\r
20 2004-04-05 J. Pritchett. Changes after feedback from MM and MG to 2004-03-31 version
\r
21 - Changed internal version numbers from 1.2.0 to 1.1.2 (per MM e-mail of 3/31)
\r
22 - Changed system identifier to use z3986/2004 as path instead of z3986/v100 (per 3/31 con call)
\r
23 - Added class attribute to both pageTarget and pageList (per MG e-mail of 4/1)
\r
24 - Added comment text describing value attribute for pageTarget and navTarget (per MM e-mail of 3/31)
\r
25 - Changed declaration of type attribute on pageTarget to enumerate allowed values
\r
26 - Added playOrder attribute to navPoint, navTarget, and pageTarget (per Lloyd's proposal)
\r
27 2004-04-05 T. McLaughlin. In description of smilCustomTest, added id and defaultState are to be copied.
\r
28 Version update to 1.1.3.
\r
29 2004-05-14 T. McLaughlin. Reinstated override attribute to be copied also. Added bookStruct attribute
\r
30 and enum list to smilCustomTest. Update to 1.1.4.
\r
31 Revised, 4/5/2004: Changed version to 1.1.2
\r
32 Revised, 4/5/2004: Changed system identifier to use '2004' path
\r
33 Revised, 4/5/2004: TM, Changed version to 1.1.3
\r
34 Revised, 5/14/2004: TM, Changed version to 1.1.4
\r
35 2004-07-07 M. Moodie Updated version to 1.2.0 everywhere but at top, where version was set to 1.1.5.
\r
36 2004-09-15 M. Moodie. Changed uri to URI throughout. Set version to 1.1.6.
\r
37 2004-09-16 M. Moodie. Changed version to 1.2.0
\r
38 2005-06-26 M. Gylling. Changed pid, sid, ns uri, and filename for Z3986-2005
\r
42 NCX (Navigation Control for XML applications) is a generalized navigation definition DTD for application
\r
43 to Digital Talking Books, eBooks, and general web content models.
\r
44 This DTD is an XML application that layers navigation functionality on top of SMIL 2.0 content.
\r
46 The NCX defines a navigation path/model that may be applied upon existing publications,
\r
47 without modification of the existing publication source, so long as the navigation targets within
\r
48 the source publication can be directly referenced via a URI.
\r
50 The following identifiers apply to this DTD:
\r
51 "-//NISO//DTD ncx 2005-1//EN"
\r
52 "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"
\r
55 <!-- Basic Entities -->
\r
58 "xml:lang NMTOKEN #IMPLIED
\r
59 dir (ltr|rtl) #IMPLIED" >
\r
61 <!ENTITY % SMILtimeVal "CDATA" >
\r
62 <!ENTITY % URI "CDATA" >
\r
63 <!ENTITY % script "CDATA" >
\r
67 <!-- Top Level NCX Container. -->
\r
68 <!-- Revised, 3/31/2004: Added pageList to content model -->
\r
69 <!ELEMENT ncx (head, docTitle, docAuthor*, navMap, pageList?, navList*)>
\r
70 <!-- Revised, 4/5/2004: Changed version to 1.1.2 -->
\r
71 <!-- Revised 3/29/2004: Added xmlns -->
\r
72 <!-- Revised, 4/5/2004: TM, Changed version to 1.1.3 -->
\r
73 <!-- Revised, 5/14/2004: TM, Changed version to 1.1.4 -->
\r
74 <!-- Revised, 7/7/2004: MM, Changed version to 1.2.0 -->
\r
76 version CDATA #FIXED "2005-1"
\r
77 xmlns %URI; #FIXED "http://www.daisy.org/z3986/2005/ncx/"
\r
81 <!-- Document Head - Contains all NCX metadata.
\r
84 <!ELEMENT head (smilCustomTest | meta)+>
\r
86 <!-- 2004-04-05 TM - only id and defaultState are copied -->
\r
87 <!-- 2004-05-14 TM - revert to override copied too; added bookStruct attribute -->
\r
88 <!-- smilCustomTest - Duplicates customTest data found in SMIL files. Each unique customTest
\r
89 element that appears in one or more SMIL files must have its id, defaultState and override
\r
90 attributes duplicated in a smilCustomTest element in the NCX. The NCX thus gathers in one
\r
91 place all customTest elements used in the SMIL files, for presentation to the user.
\r
93 <!ELEMENT smilCustomTest EMPTY>
\r
94 <!ATTLIST smilCustomTest
\r
96 defaultState (true|false) 'false'
\r
97 override (visible|hidden) 'hidden'
\r
98 bookStruct (PAGE_NUMBER|NOTE|NOTE_REFERENCE|ANNOTATION|LINE_NUMBER|OPTIONAL_SIDEBAR|OPTIONAL_PRODUCER_NOTE) #IMPLIED
\r
101 <!-- Meta Element - metadata about this NCX -->
\r
102 <!ELEMENT meta EMPTY>
\r
104 name CDATA #REQUIRED
\r
105 content CDATA #REQUIRED
\r
106 scheme CDATA #IMPLIED
\r
109 <!-- DocTitle - the title of the document, required and must immediately follow head.
\r
112 <!-- Revised, 3/31/2004: Added img to content model -->
\r
113 <!ELEMENT docTitle (text, audio?, img?)>
\r
119 <!-- DocAuthor - the author of the document, immediately follows docTitle.
\r
122 <!-- Revised, 3/31/2004: Added img to content model -->
\r
123 <!ELEMENT docAuthor (text, audio?, img?)>
\r
124 <!ATTLIST docAuthor
\r
129 <!-- Navigation Structure - container for all of the NCX objects that are part of the
\r
130 hierarchical structure of the document.
\r
133 <!-- Revised, 3/31/2004: Added navInfo to content model -->
\r
134 <!ELEMENT navMap (navInfo*, navLabel*, navPoint+)>
\r
139 <!-- Navigation Point - contains description(s) of target, as well as a pointer to
\r
140 entire content of target.
\r
141 Hierarchy is represented by nesting navPoints. "class" attribute describes the kind
\r
142 of structural unit this object represents (e.g., "chapter", "section").
\r
144 <!ELEMENT navPoint (navLabel+, content, navPoint*)>
\r
145 <!-- Revised, 3/29/2004: Removed onFocus/onBlur -->
\r
146 <!-- Revised, 3/29/2004: Removed value -->
\r
147 <!-- Revised, 3/31/2004: Removed pageRef -->
\r
148 <!-- Revised, 4/5/2004: Added playOrder -->
\r
151 class CDATA #IMPLIED
\r
152 playOrder CDATA #REQUIRED
\r
155 <!-- Revised, 3/31/2004: Added pageList element -->
\r
156 <!-- Page List - Container for pagination information.
\r
158 <!ELEMENT pageList (navInfo*, navLabel*, pageTarget+)>
\r
159 <!-- Revised, 4/5/2004: Added class attribute -->
\r
162 class CDATA #IMPLIED
\r
165 <!-- Revised, 3/31/2004: Added pageTarget element -->
\r
166 <!-- Revised, 4/5/2004: Added description of value attribute to comment -->
\r
167 <!-- Page Target - Container for
\r
168 text, audio, image, and content elements containing navigational
\r
169 information for pages. The "value" attribute is a positive integer representing
\r
170 the numeric value associated with a page. Combination of values of type and
\r
171 value attributes must be unique, when value attribute is present.
\r
173 <!ELEMENT pageTarget (navLabel+, content)>
\r
174 <!-- Revised, 4/5/2004: Added class attribute -->
\r
175 <!-- Revised, 4/5/2004: Changed declaration of type attribute to enumerate values -->
\r
176 <!-- Revised, 4/5/2004: Added playOrder -->
\r
177 <!ATTLIST pageTarget
\r
179 value CDATA #IMPLIED
\r
180 type (front | normal | special) #REQUIRED
\r
181 class CDATA #IMPLIED
\r
182 playOrder CDATA #REQUIRED
\r
185 <!-- Navigation List - container for distinct, flat sets of navigable elements, e.g.
\r
186 notes, figures, tables, etc. Essentially a flat version of navMap. The "class" attribute
\r
187 describes the type of object contained in this navList, using dtbook element names, e.g., note.
\r
190 <!-- Revised, 3/31/2004: Added navInfo to content model -->
\r
191 <!ELEMENT navList (navInfo*, navLabel+, navTarget+) >
\r
194 class CDATA #IMPLIED
\r
197 <!-- Revised, 4/5/2004: Added description of value attribute to comment -->
\r
198 <!-- Navigation Target - contains description(s) of target, as well as a pointer to
\r
199 entire content of target.
\r
200 navTargets are the equivalent of navPoints for use in navLists. "class" attribute
\r
201 describes the kind of structure this target represents, using its dtbook element
\r
202 name, e.g., note. The "value" attribute is a positive integer representing the
\r
203 numeric value associated with the navTarget.
\r
206 <!ELEMENT navTarget (navLabel+, content) >
\r
207 <!-- Revised, 3/29/2004: Removed onFocus/onBlur -->
\r
208 <!-- Revised, 3/31/2004: Removed mapRef -->
\r
209 <!-- Revised, 4/5/2004: Added playOrder -->
\r
210 <!ATTLIST navTarget
\r
212 class CDATA #IMPLIED
\r
213 value CDATA #IMPLIED
\r
214 playOrder CDATA #REQUIRED
\r
218 <!-- Revised, 3/31/2004: Added navInfo element -->
\r
219 <!-- Navigation Information - Contains an informative comment
\r
220 about a navMap, pageList, or navList in various media for presentation to the user.
\r
222 <!ELEMENT navInfo (((text, audio?) | audio), img?)>
\r
228 <!-- Navigation Label - Contains a description of a given <navMap>, <navPoint>,
\r
229 <navList>, or <navTarget> in various media for presentation to the user. Can be
\r
230 repeated so descriptions can be provided in multiple languages. -->
\r
231 <!ELEMENT navLabel (((text, audio?) | audio), img?)>
\r
237 <!-- Content Element - pointer into SMIL to beginning of navPoint. -->
\r
238 <!ELEMENT content EMPTY>
\r
241 src %URI; #REQUIRED
\r
244 <!-- Text Element - Contains text of docTitle, navPoint heading, navTarget (e.g., page number),
\r
245 or label for navMap or navList. -->
\r
246 <!ELEMENT text (#PCDATA)>
\r
249 class CDATA #IMPLIED
\r
252 <!-- Audio Element - audio clip of navPoint heading. -->
\r
253 <!ELEMENT audio EMPTY>
\r
254 <!-- Revised, 3/29/2004: clipBegin/clipEnd now REQUIRED -->
\r
257 class CDATA #IMPLIED
\r
258 src %URI; #REQUIRED
\r
259 clipBegin %SMILtimeVal; #REQUIRED
\r
260 clipEnd %SMILtimeVal; #REQUIRED
\r
263 <!-- Image Element - image that may accompany heading. -->
\r
264 <!ELEMENT img EMPTY>
\r
267 class CDATA #IMPLIED
\r
268 src %URI; #REQUIRED
\r