1
<?xml version="1.0" encoding="utf-8"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml">
7
content="HTML Tidy for Mac OS X (vers 1st December 2004), see www.w3.org" />
9
Open Packaging Format (OPF) 2.0 v1.0
11
<meta http-equiv="Content-Type"
12
content="text/html; charset=utf-8" />
13
<style type="text/css">
25
background: transparent;
30
background: transparent;
35
background: transparent;
40
background: transparent;
41
text-decoration: underline;
44
a.SectionTitle:VISITED {
46
background: transparent;
47
text-decoration: underline;
50
a.SectionTitle:HOVER {
52
background: transparent;
53
text-decoration: underline;
58
background: transparent;
59
text-decoration: none;
62
a.SubsectionTitle:VISITED {
64
background: transparent;
65
text-decoration: none;
68
a.SubsectionTitle:HOVER {
70
background: transparent;
71
text-decoration: none;
76
background: transparent;
77
text-decoration: none;
82
background: transparent;
83
text-decoration: none;
88
background: transparent;
89
text-decoration: none;
98
font-family: sans-serif;
101
background-position: top left;
102
background-attachment: fixed;
103
background-repeat: no-repeat;
118
div.InlineDefinitionList {
131
margin-bottom: 0.5em;
141
padding-bottom: 0.5em;
146
font-family: sans-serif;
150
margin-bottom: 0.2em;
152
text-decoration: underline;
157
font-family: sans-serif;
161
margin-bottom: 0.5em;
163
text-decoration: underline;
168
font-family: sans-serif;
172
margin-bottom: 0.2em;
174
text-decoration: underline;
179
font-family: sans-serif;
183
margin-bottom: 0.2em;
185
text-decoration: underline;
190
font-family: sans-serif;
194
margin-bottom: 0.2em;
196
text-decoration: underline;
199
h3.SubsubsectionTitle {
201
font-family: sans-serif;
205
margin-bottom: 0.2em;
207
text-decoration: none;
210
h4.SubsubsectionTitle {
212
font-family: sans-serif;
216
margin-bottom: 0.2em;
218
text-decoration: none;
221
h4.SubsubsubsectionTitle {
223
font-family: sans-serif;
227
margin-bottom: 0.2em;
229
text-decoration: none;
233
h5.SubsubsubsectionTitle {
235
font-family: sans-serif;
239
margin-bottom: 0.2em;
241
text-decoration: none;
245
h5.SubsubsubsubsectionTitle {
247
font-family: sans-serif;
251
margin-bottom: 0.2em;
252
text-decoration: none;
256
h6.SubsubsubsubsectionTitle {
258
font-family: sans-serif;
262
margin-bottom: 0.2em;
263
text-decoration: none;
267
h6.SubsubsubsubsubsectionTitle {
269
font-family: sans-serif;
273
margin-bottom: 0.2em;
275
text-decoration: none;
279
h7.SubsubsubsubsubsectionTitle {
281
font-family: sans-serif;
285
margin-bottom: 0.2em;
287
text-decoration: none;
297
margin-bottom: 0.3em;
305
ol.BulletStyle_lower-alpha {
306
list-style-type: lower-alpha;
311
ol.BulletStyle_lower-roman {
312
list-style-type: lower-roman;
317
ol.BulletStyle_upper-alpha {
318
list-style-type: upper-alpha;
323
ol.BulletStyle_upper-roman {
324
list-style-type: upper-roman;
334
margin-bottom: 0.2em;
340
font-family: sans-serif;
344
margin-bottom: 0.5em;
346
text-decoration: underline;
351
font-family: sans-serif;
355
margin-bottom: 0.5em;
357
text-decoration: underline;
362
margin-bottom: 0.4em;
369
padding-bottom: 0.1em;
377
margin-bottom: 0.5em;
378
text-transform: uppercase;
392
font-family: sans-serif;
396
margin-bottom: 0.2em;
398
text-decoration: underline;
403
font-family: sans-serif;
407
margin-bottom: 0.2em;
409
text-decoration: underline;
412
p.SubsubsectionTitle {
414
font-family: sans-serif;
418
margin-bottom: 0.2em;
420
text-decoration: none;
423
p.SubsubsubsectionTitle {
425
font-family: sans-serif;
429
margin-bottom: 0.2em;
431
text-decoration: none;
435
p.SubsubsubsubsectionTitle {
437
font-family: sans-serif;
441
margin-bottom: 0.2em;
442
text-decoration: none;
446
p.SubsubsubsubsubsectionTitle {
448
font-family: sans-serif;
452
margin-bottom: 0.2em;
454
text-decoration: none;
460
font-family: sans-serif;
469
font-family: sans-serif;
473
margin-bottom: 0.3em;
479
font-family: sans-serif;
483
margin-bottom: 0.1em;
490
font-family: sans-serif;
494
margin-bottom: 0.1em;
501
font-family: sans-serif;
505
margin-bottom: 0.1em;
512
font-family: sans-serif;
516
margin-bottom: 0.1em;
523
font-family: sans-serif;
527
margin-bottom: 0.1em;
534
font-family: sans-serif;
538
margin-bottom: 0.1em;
547
font-family: sans-serif;
551
margin-bottom: 0.5em;
553
text-decoration: underline;
557
font-family: monospace;
558
border: 1px solid #4ca721;
559
background-color: #DCDCDC;
560
white-space: -moz-pre-wrap;
570
font-family: monospace;
573
span.AttributeValue {
574
font-family: monospace;
579
font-family: monospace;
584
font-family: monospace;
589
span.CSSPropertyValue {
590
font-family: monospace;
596
font-family: monospace;
605
font-family: monospace;
614
font-family: monospace;
620
font-family: monospace;
634
text-decoration: underline;
639
border: 1px solid Gray;
643
border-collapse: collapse;
651
border: 1px solid Gray;
665
border-bottom: 1px solid black;
676
border-bottom: 1px solid black;
683
font-family: monospace;
688
font-family: monospace;
694
font-family: monospace;
726
<a href="http://www.idpf.org/"><img class="Head"
729
title="International Digital Publishing Forum"
735
Open Packaging Format (OPF) 2.0 v<del>0.987</del><ins>1.0</ins>
739
Recommended Specification <del>July 11, 2007</del><ins>September 11, 2007</ins>
742
<p class="Copyright">
743
Copyright © 2007 by International Digital Publishing Forum™.
746
<p class="Copyright">
747
All rights reserved. This work is protected under Title 17 of the United States Code.
748
Reproduction and dissemination of this work with changes is prohibited except with the
749
written permission of the International Digital Publishing Forum.
758
<div class="TOCSection">
763
name="TOC1.0">1.0: Overview</a>
770
name="TOC1.1">1.1: Purpose and Scope</a>
777
name="TOC1.2">1.2: Definitions</a>
784
name="TOC1.3">1.3: Relationship to Other Specifications</a>
791
name="TOC1.3.1">1.3.1: Relationship to XML</a>
798
name="TOC1.3.2">1.3.2: Relationship to XML Namespaces</a>
805
name="TOC1.3.3">1.3.3: Relationship to Dublin Core</a>
812
name="TOC1.3.4">1.3.4: Relationship to Unicode</a>
819
name="TOC1.4">1.4: Conformance</a>
826
name="TOC1.4.1">1.4.1: Package Conformance</a>
831
href="#Section1.4.1.1"
833
name="TOC1.4.1.1">1.4.1.1: Package Conformance</a>
838
href="#Section1.4.1.2"
840
name="TOC1.4.1.2">1.4.1.2: Publication Conformance</a>
847
name="TOC1.4.2">1.4.2: Reading System Conformance</a>
854
name="TOC1.4.3">1.4.3: Compatibility of OPF Version 2.0</a>
861
name="TOC1.5">1.5: Accessibility</a></del>
865
<div class="TOCSection">
870
name="TOC2.0">2.0: The OPF Package Document</a>
877
name="TOC2.1">2.1: Package Identity</a>
884
name="TOC2.2">2.2: Publication Metadata</a>
891
name="TOC2.2.1">2.2.1: <span class="Element"><title> </title></span></a>
898
name="TOC2.2.2">2.2.2: <span class="Element"><creator>
899
</creator></span></a>
906
name="TOC2.2.3">2.2.3: <span class="Element"><subject>
907
</subject></span></a>
914
name="TOC2.2.4">2.2.4: <span class="Element"><description>
915
</description></span></a>
922
name="TOC2.2.5">2.2.5: <span class="Element"><publisher>
923
</publisher></span></a>
930
name="TOC2.2.6">2.2.6: <span class="Element"><contributor>
931
</contributor></span></a>
938
name="TOC2.2.7">2.2.7: <span class="Element"><date> </date></span></a>
945
name="TOC2.2.8">2.2.8: <span class="Element"><type> </type></span></a>
952
name="TOC2.2.9">2.2.9: <span class="Element"><format> </format></span></a>
957
href="#Section2.2.10"
959
name="TOC2.2.10">2.2.10: <span class="Element"><identifier>
960
</identifier></span></a>
965
href="#Section2.2.11"
967
name="TOC2.2.11">2.2.11: <span class="Element"><source>
968
</source></span></a>
973
href="#Section2.2.12"
975
name="TOC2.2.12">2.2.12: <span class="Element"><language>
976
</language></span></a>
981
href="#Section2.2.13"
983
name="TOC2.2.13">2.2.13: <span class="Element"><relation>
984
</relation></span></a>
989
href="#Section2.2.14"
991
name="TOC2.2.14">2.2.14: <span class="Element"><coverage>
992
</coverage></span></a>
997
href="#Section2.2.15"
999
name="TOC2.2.15">2.2.15: <span class="Element"><rights>
1000
</rights></span></a>
1003
<p class="TOCItem2">
1007
name="TOC2.3">2.3: Manifest</a>
1010
<p class="TOCItem3">
1012
href="#Section2.3.1"
1014
name="TOC2.3.1">2.3.1: Fallback Items</a>
1017
<p class="TOCItem4">
1019
href="#Section2.3.1.1"
1021
name="TOC2.3.1.1">2.3.1.1: Items That Are Not OPS Core Media Types</a>
1024
<p class="TOCItem4">
1026
href="#Section2.3.1.2"
1028
name="TOC2.3.1.2">2.3.1.2: Items That Are Out-Of-Line XML Islands</a>
1031
<p class="TOCItem2">
1035
name="TOC2.4">2.4: Spine</a>
1038
<p class="TOCItem3">
1040
href="#Section2.4.1"
1042
name="TOC2.4.1">2.4.1: Declarative Table of Contents — the NCX</a>
1045
<p class="TOCItem4">
1047
href="#Section2.4.1.1"
1049
name="TOC2.4.1.1">2.4.1.1: Introduction</a>
1052
<p class="TOCItem4">
1054
href="#Section2.4.1.2"
1056
name="TOC2.4.1.2">2.4.1.2: Key NCX Requirements</a>
1059
<p class="TOCItem3">
1061
href="#Section2.4.2"
1063
name="TOC2.4.2">2.4.2: NCX Exceptions in Usage for Publications</a>
1066
<p class="TOCItem3">
1068
href="#Section2.4.3"
1070
name="TOC2.4.3">2.4.3: XML Islands in the Spine</a>
1073
<p class="TOCItem2">
1077
name="TOC2.5">2.5: Tours [Deprecated]</a>
1080
<p class="TOCItem2">
1084
name="TOC2.6">2.6: Guide</a>
1088
<div class="TOCSection">
1093
name="AppendixTOCA">Appendix A: The OPF Package Schema</a>
1097
<div class="TOCSection">
1102
name="AppendixTOCB">Appendix B: Contributors</a>
1106
<div class="TOCSection">
1111
name="AppendixTOCC">Appendix C: Acknowledgements</a>
1115
<div class="TOCSection">
1120
name="AppendixTOCD"><ins>Appendix D: Supporting Information & Errata</ins></a>
1126
<div class="Section">
1127
<h1 class="SectionTitle">
1128
<a class="SectionTitle"
1131
name="Section1.0">1.0: Overview</a>
1134
<div class="Section">
1135
<h2 class="SubsectionTitle">
1136
<a class="SectionTitle"
1139
name="Section1.1">1.1: Purpose and Scope</a>
1143
In order for electronic-book technology to achieve widespread success in the
1144
marketplace, Reading Systems need to have convenient access to a large number and
1145
variety of titles. <del>The</del> <ins>Another related specification, the</ins> Open
1146
Publication Structure (OPS) Specification<ins>,</ins> describes a standard for
1147
representing the content of electronic publications and is meant to reduce barriers to
1148
the proliferation of content. Specifically, the specification is intended to:
1152
<li>Give publication tool providers and content providers (e.g. publishers, authors,
1153
and others who have content to be displayed) minimal and common guidelines that ensure
1154
fidelity, accuracy, accessibility, and adequate presentation of electronic content over
1155
various Reading Systems; and
1158
<li>Build on established content format standards; and
1161
<li>Define a standard means of content description in order for electronic books to
1162
move smoothly through the distribution chain.
1167
This document, the Open Packaging Format (OPF) Specification, defines the mechanism by
1168
which the various components of an OPS publication are tied together and provides
1169
additional structure and semantics to the electronic publication. Specifically, OPF:
1173
<li>Describes and references all components of the electronic publication (e.g. markup
1174
files, images, navigation structures).
1177
<li>Provides publication-level metadata.
1180
<li>Specifies the linear reading-order of the publication.
1183
<li>Provides fallback information to use when unsupported extensions to OPS are
1187
<li>Provides a mechanism to specify a declarative table of contents (the NCX).
1192
This OPF specification is separate from the OPS markup specification to modularize the
1193
described packaging methodology and the described content. This will help facilitate
1194
the use of this packaging technology by other standards bodies (e.g.
1195
<del>Daisy</del><ins>DAISY</ins>) in non-OPS contexts.
1199
A third specification, the OEBPS Container Format (OCF) Specification, defines the
1200
standard mechanism by which all components of an electronic publication can be packaged
1201
together into a single file for transmission, delivery and archival.
1205
<div class="Section">
1206
<h2 class="SubsectionTitle">
1207
<a class="SectionTitle"
1210
name="Section1.2">1.2: Definitions</a>
1213
<div class="DefinitionList">
1214
<p class="DefinitionName">
1218
<p class="DefinitionCopy">
1219
A publisher, author, or other information provider who provides a publication to one
1220
or more Reading Systems in the form described in this specification and the OPS
1224
<p class="DefinitionName">
1228
<p class="DefinitionCopy">
1229
A feature that is permitted, but not <span class="RFC">recommended</span>, by this
1230
specification. Such features might be removed in future revisions. Conformant Reading
1231
Systems <span class="RFC">must</span> support deprecated features.
1234
<p class="DefinitionName">
1238
<p class="DefinitionCopy">
1239
A module of a modularized XML vocabulary (i.e. a set of named modules is defined in
1240
its specification) that is not mandated to be supported by its specification (e.g.
1241
the XHTML ruby or forms modules in the OPS context).
1244
<p class="DefinitionName">
1248
<p class="DefinitionCopy">
1249
An inline XML Island is an XML document fragment using a non-Preferred Vocabulary or
1250
using an Extended Module that exists within an XHTML Preferred Vocabulary document
1251
within an OPS Publication.
1254
<p class="DefinitionName">
1258
<p class="DefinitionCopy">
1259
A declarative table of contents (the Navigation Center eXtended or NCX).
1262
<p class="DefinitionName">
1266
<p class="DefinitionCopy">
1267
The OEBPS Container Format defines a mechanism by which all components of an OPS
1268
Publication can be combined into a single file-system entity.
1271
<p class="DefinitionName">
1275
<p class="DefinitionCopy">
1276
The Open <del>Publication</del> Publication Structure. Previous versions of this specification
1277
(OPF) and its related specification, OPS, were unified into the single OEBPS
1278
specification. For this version, OEBPS was broken into separate OPF and OPS
1279
specifications to aid modular adoption of the specifications. OEBPS 1.2 was the
1280
highest version of the previous unified specification.
1283
<p class="DefinitionName">
1287
<p class="DefinitionCopy">
1288
The Open Packaging Format — this standard — defines the mechanism by which all
1289
components of a published work conforming to the OPS standard including metadata,
1290
reading order and navigational information are packaged into an OPS Publication.
1293
<p class="DefinitionName">
1294
OPF Package Document
1297
<p class="DefinitionCopy">
1298
An XML Document that describes an OPS Publication and references all files used by
1299
the OPS Publication that are not part of the OPF Package Document itself. It
1300
identifies all other files in the Publication and provides descriptive information
1301
about them. The OPF Package Document is defined by this specification and is valid to
1302
the OPF Package Schema defined herein.
1305
<p class="DefinitionCopy">
1306
The "root file" of the OPF Package Document <span class="RFC">should</span> use the
1307
<span class="File">.opf</span> extension. This XML file <span class="RFC">may</span>
1308
refer to other XML files via XML’s general entity mechanism, but those files
1309
<span class="RFC">must not</span> use the <span class="File">.opf</span> file
1310
extension. This construction could be used to simplify the creation of OPF Package
1311
Documents for very large Publications. However, the most common case is for the OPF
1312
Package Document to be a single XML file using the <span class="File">.opf</span>
1316
<p class="DefinitionName">
1320
<p class="DefinitionCopy">
1321
The Open Publication Structure — the sister-standard to this standard — defines the
1322
markup necessary to construct OPS Content Documents.
1325
<p class="DefinitionName">
1326
OPS Content Document
1329
<p class="DefinitionCopy">
1330
An XHTML, DTBook, or out-of-line XML document that conforms to the OPS specification
1331
that can legally appear in the OPF Package Document <span class=
1332
"Element">spine</span>.
1335
<p class="DefinitionName">
1339
<p class="DefinitionCopy">
1340
A MIME media type, defined in the OPS Specification, that all Reading Systems
1341
<span class="RFC">must</span> support.
1344
<p class="DefinitionName">
1348
<p class="DefinitionCopy">
1349
A collection of OPS Content Documents, an OPF Package Document, and other files,
1350
typically in a variety of media types, including structured text and graphics, that
1351
constitute a cohesive unit for publication.
1354
<p class="DefinitionName">
1355
Out-of-Line XML Island
1358
<p class="DefinitionCopy">
1359
An Out-Of-Line XML Island is an XML document that exists within an OPS Publication
1360
and is either not authored using a Preferred Vocabulary or is authored using a
1361
Preferred Vocabulary but uses Extended Modules. It is an entirely separate, complete,
1362
and valid XML document.
1365
<p class="DefinitionName">
1366
Preferred Vocabulary
1369
<p class="DefinitionCopy">
1370
XML consisting only of OPS-supported XHTML markup and/or DTBook markup.
1373
<p class="DefinitionName">
1377
<p class="DefinitionCopy">
1378
A person who reads a publication.
1381
<p class="DefinitionName">
1385
<p class="DefinitionCopy">
1386
A combination of hardware and/or software that accepts OPS Publications (likely
1387
packaged in an OCF Container) and makes them available to consumers of the content.
1388
Great variety is possible in the architecture of Reading Systems. A Reading System
1389
<span class="RFC">may</span> be implemented entirely on one device, or it
1390
<span class="RFC">may</span> be split among several computers. In particular, a
1391
Reading Device that is a component of a Reading System <span class="RFC">need
1392
not</span> directly accept OPS Publications, but all Reading Systems <span class=
1393
"RFC">must</span> do so. Reading Systems <span class="RFC">may</span> include
1394
additional processing functions, such as compression, indexing, encryption, rights
1395
management, and distribution.
1398
<p class="DefinitionName">
1402
<p class="DefinitionCopy">
1403
An XML Document is a complete and valid XML document as defined in XML 1.1 (<a href=
1404
"http://www.w3.org/TR/xml11/"
1406
title="The XML 1.1 specification.">http://www.w3.org/TR/xml11/</a>).
1409
<p class="DefinitionName">
1410
XML Document Fragment
1413
<p class="DefinitionCopy">
1414
Referred to as either a document fragment or as an XML Document Fragment, as defined
1415
in Document Object Model Level 1 (<a href="http://www.w3.org/TR/REC-DOM-Level-1/"
1417
title="DOM Level 1 specification.">http://www.w3.org/TR/REC-DOM-Level-1/</a>) but
1418
with the additional requirement that they be well-formed.
1421
<p class="DefinitionName">
1425
<p class="DefinitionCopy">
1426
An Inline XML Island or an Out-of-Line XML island.
1429
<p class="DefinitionName">
1433
<p class="DefinitionCopy">
1434
Referred to as XML namespaces, or just namespaces, these must conform to XML
1435
Namespaces (<a href="http://www.w3.org/TR/xml-names11/"
1437
title="XML Namespaces specification.">http://www.w3.org/TR/xml-names11/</a>).
1442
<div class="Section">
1443
<h2 class="SubsectionTitle">
1444
<a class="SectionTitle"
1447
name="Section1.3">1.3: Relationship to Other Specifications</a>
1451
This specification combines subsets and applications of other specifications. Together,
1452
these facilitate the construction, organization, presentation, and unambiguous
1453
interchange of electronic documents:
1458
<span class="FormalName">Extensible Markup Language (XML) 1.1 (Second Edition)</span>
1459
specification (<a href="http://www.w3.org/TR/xml11/"
1461
title="The XML 1.1 specification.">http://www.w3.org/TR/xml11/</a>); and
1465
<span class="FormalName">Namespaces in XML 1.0 (Second Edition)</span> (<a href=
1466
"http://www.w3.org/TR/xml-names11/"
1468
title="The XML Namespaces specification.">http://www.w3.org/TR/xml-names11/</a>);
1472
<li>The OPS Specification (<a href="http://www.idpf.org/ops/ops2.0/download/"
1475
"The Open Publication Structure specification.">http://www.idpf.org/ops/ops2.0/download/</a>);
1480
<span class="FormalName">XHTML™ 1.1 - Module-based XHTML - Second Edition</span>
1481
specification (<a href="http://www.w3.org/TR/xhtml11/"
1483
title="The XHTML 1.1 specification.">http://www.w3.org/TR/xhtml11/</a>); and
1487
<span class="FormalName">Specifications for the Digital Talking Book (DTB)</span>
1488
(<a href="http://www.niso.org/standards/resources/Z39-86-2005.html"
1491
"The DTB specification.">http://www.niso.org/standards/resources/Z39-86-2005.html</a>);
1496
<span class="FormalName">Dublin Core Metadata Element Set, Version 1.1</span>
1497
specification (<a href="http://dublincore.org/documents/2004/12/20/dces/"
1500
"The Dublin Core Metadata Element Set specification.">http://dublincore.org/documents/2004/12/20/dces/</a>)
1501
and the MARC relator code list (<a href="http://www.loc.gov/marc/relators/"
1503
title="MARC Relator codes.">http://www.loc.gov/marc/relators/</a>); and
1507
<span class="FormalName">Unicode Standard, Version 4.0. Reading, Mass.:
1508
Addison-Wesley, 2003</span>, as updated from time to time by the publication of new
1509
versions. (See <a href="http://www.unicode.org/unicode/standard/versions/"
1512
"The Unicode Standard.">http://www.unicode.org/unicode/standard/versions</a> for
1513
the latest version and additional information on versions of the standard and of
1514
the Unicode Character Database); and
1517
<li>Particular MIME media types (<a href="http://www.ietf.org/rfc/rfc4288.txt"
1520
"Media Type Specifications and Registration Procedures RFC.">http://www.ietf.org/rfc/rfc4288.txt</a>
1521
and <a href="http://www.iana.org/assignments/media-types/index.html"
1524
"IANA MIME media types document.">http://www.iana.org/assignments/media-types/index.html</a>);
1529
<span class="FormalName">Web Content Accessibility Guidelines 1.0</span> (<a href=
1530
"http://www.w3.org/TR/WCAG10/"
1532
title="WAI Guidelines.">http://www.w3.org/TR/WCAG10/</a>); and
1536
<span class="FormalName">RFC 2119: Key words for use in RFCs to Indicate Requirement
1537
Levels.</span> (<a href="http://www.ietf.org/rfc/rfc2119.txt"
1539
title="RFC 2119">http://www.ietf.org/rfc/rfc2119.txt</a>).
1543
<div class="Section">
1544
<h3 class="SubsubsectionTitle">
1545
<a class="SectionTitle"
1548
name="Section1.3.1">1.3.1: Relationship to XML</a>
1552
<del>OPS</del><ins>OPF</ins> is based on XML because of XML’s generality and
1553
simplicity, and because XML documents are likely to adapt well to future technologies
1554
and uses. XML also provides well-defined rules for the syntax of documents, which
1555
decreases the cost to implementers and reduces incompatibility across systems.
1556
Further, XML is extensible: it is not tied to any particular type of document or set
1557
of element types, it supports internationalization, and it encourages document markup
1558
that can represent a document’s internal parts more directly, making them amenable to
1559
automated formatting and other types of computer processing.
1563
<li>Reading Systems <span class="RFC">must</span> be XML processors as defined in XML
1564
1.1. All OPF Package Documents <span class="RFC">must</span> be valid XML documents
1565
according to the OPF Package Schema.
1570
<div class="Section">
1571
<h3 class="SubsubsectionTitle">
1572
<a class="SectionTitle"
1575
name="Section1.3.2">1.3.2: Relationship to XML Namespaces</a>
1579
Reading Systems <span class="RFC">must</span> process XML namespaces according to the
1580
XML Namespaces Recommendation at <a href="http://www.w3.org/TR/xml-names11/"
1582
title="The XML Namespaces specification.">http://www.w3.org/TR/xml-names11/</a>.
1586
Namespace prefixes distinguish identical names that are drawn from different XML
1587
vocabularies. An XML namespace declaration in an XML document associates a namespace
1588
prefix with a unique URI. The prefix can then be employed on element or attribute
1589
names in the document. Alternatively, a namespace declaration in an XML document
1590
<span class="RFC">may</span> identify a URI as the default namespace, applicable to
1591
elements lacking a namespace prefix. The XML namespace prefix is separated from the
1592
suffix element or attribute name by a colon.
1596
The namespace for the OPF Package Document is <span class=
1597
"Namespace">http://www.idpf.org/2007/opf</span>, and <span class="RFC">must</span> be
1598
declared at the root of all OPF Package Documents. In addition, to be processed as an
1599
OPF 2.0 package, a <span class="Attribute">version</span> attribute with a value of
1600
<span class="AttributeValue">2.0</span> must be specified on
1601
<del>all</del><ins>the</ins> <span class="Element">package</span>
1602
element<del>s</del>. A <span class="Element">package</span> element that omits the
1603
<span class="Attribute">version</span> attribute <span class="RFC">must</span> be
1604
processed as an OEBPS 1.2 package.
1611
<pre class="Example">
1612
<package version="2.0" xmlns="http://www.idpf.org/2007/opf">
1618
<div class="Section">
1619
<h3 class="SubsubsectionTitle">
1620
<a class="SectionTitle"
1623
name="Section1.3.3">1.3.3: Relationship to Dublin Core</a>
1627
<del>The</del> Dublin Core <ins>metadata</ins> is designed to minimize the cataloging
1628
burden on authors and publishers, while providing enough metadata to be useful. This
1629
specification supports the set of Dublin Core 1.1 metadata elements (<a href=
1630
"http://dublincore.org/documents/2004/12/20/dces/"
1633
"Dublin Core metadata elements specification.">http://dublincore.org/documents/2004/12/20/dces/</a>),
1634
supplemented with a small set of additional attributes addressing areas where more
1635
specific information <del>could be</del><ins>is</ins> useful. For example, the OPF
1636
<span class="Attribute">role</span> attribute added to the Dublin Core
1637
<ins><span class="Element">creator</span> and</ins> <span class=
1638
"Element">contributor</span> element<ins>s</ins> allows for much more detailed
1639
specification of contributors to a publication, including their roles expressed
1644
Content providers <span class="RFC">must</span> include a minimum set of metadata
1645
elements, defined in <a href="#Section2.2"
1646
title="Publication Metadata">Section 2.2</a>, and <span class="RFC">should</span>
1647
incorporate additional metadata to enable readers to discover publications of
1652
<div class="Section">
1653
<h3 class="SubsubsectionTitle">
1654
<a class="SectionTitle"
1657
name="Section1.3.4">1.3.4: Relationship to Unicode</a>
1661
OPF Package Documents <span class="RFC">may</span> use the entire Unicode character
1662
set, in UTF-8 or UTF-16 encodings, as defined by Unicode (see <a href=
1663
"http://www.unicode.org/unicode/standard/versions"
1666
"The Unicode Standard.">http://www.unicode.org/unicode/standard/versions</a>). The
1667
use of Unicode facilitates internationalization and multilingual documents.
1668
However, Reading Systems are <span class="RFC">not required</span> to provide
1669
glyphs for all Unicode characters.
1673
Reading Systems <span class="RFC">must</span> parse all UTF-8 and UTF-16 characters
1674
properly (as required by XML). Reading Systems <span class="RFC">may</span> decline
1675
to display some characters, but <span class="RFC">must</span> be capable of signaling
1676
in some fashion that undisplayable characters are present. Reading Systems
1677
<span class="RFC">must not</span> display Unicode characters merely as if they were
1678
8-bit characters. For example, the biohazard symbol (0x2623) <span class="RFC">need
1679
not</span> be supported by including the correct glyph, but <span class="RFC">must
1680
not</span> be parsed or displayed as if its component bytes were the two characters
1681
"&#" (0x0026 0x0023).
1685
To aid Reading Systems in implementing consistent searching and sorting behavior it
1686
is <span class="RFC">required</span> that Unicode Normalization Form C (NFC) be used
1687
(See <a href="http://www.w3.org/TR/charmod-norm/"
1689
title="Unicode Normalization Form C.">http://www.w3.org/TR/charmod-norm/</a>).
1694
<div class="Section">
1695
<h2 class="SubsectionTitle">
1696
<a class="SectionTitle"
1699
name="Section1.4">1.4: Conformance</a>
1703
The keywords "<span class="RFC">must</span>", "<span class="RFC">must not</span>",
1704
"<span class="RFC">required</span>", "<span class="RFC">shall</span>", "<span class=
1705
"RFC">shall not</span>", "<span class="RFC">should</span>", "<span class=
1706
"RFC">recommended</span>", "<span class="RFC">may</span>", and "<span class=
1707
"RFC">optional</span>" in this document <span class="RFC">must</span> be interpreted as
1708
described in <a href="http://www.ietf.org/rfc/rfc2119.txt"
1710
title="RFC 2119.">RFC 2119</a>.
1714
This section defines conformance for OPF Package Documents, and Reading Systems that
1715
process those Documents.
1718
<div class="Section">
1719
<h3 class="SubsubsectionTitle">
1720
<a class="SectionTitle"
1723
name="Section1.4.1">1.4.1: Package Conformance</a>
1727
This specification defines conformance for both individual OPF Package Documents and
1728
for a collection of files including exactly one OPF Package Document that
1729
collectively are referred to as an OPS Publication.
1732
<div class="Section">
1733
<h4 class="SubsubsubsectionTitle">
1734
<a class="SectionTitle"
1737
name="Section1.4.1.1">1.4.1.1: Package Conformance</a>
1741
Each conformant OPF Package Document <span class="RFC">must</span> meet these
1742
necessary conditions:
1745
<ol class="BulletStyle_lower-roman">
1746
<li>it is a well-formed XML document (as defined in XML 1.1); and
1749
<li>it is encoded in UTF-8 or UTF-16; and
1752
<li>it is a valid XML document according to the OPF Package Schema defined in
1753
<a href="#AppendixA"
1754
title="The OPF Package Schema.">Appendix A</a>; and
1757
<li>it <span class="RFC">may</span> consist of one or more XML files, but only one
1758
<span class="RFC">may</span> use the file extension <span class="File">.opf</span>.
1763
<div class="Section">
1764
<h4 class="SubsubsubsectionTitle">
1765
<a class="SectionTitle"
1768
name="Section1.4.1.2">1.4.1.2: Publication Conformance</a>
1772
A collection of files is a conforming OPS Publication if <del>and only if</del>:
1775
<ol class="BulletStyle_lower-roman">
1776
<li>it includes a single OPF Package Document that obeys the Package Conformance
1777
Requirements listed above; and
1781
<ins>only one file in the Publication <span class="RFC">may</span> use the file
1782
extension <span class="File">.opf</span>. If such a file is present, it
1783
<span class="RFC">must</span> be the "root file" of the OPF Package Document;
1787
<li>the OPF Package Document includes one and only one manifest entry corresponding
1788
to each other file in the OPS Publication excluding the file or files that make up
1789
the OPF Package Document itself; and
1792
<li>the manifest entry for each file in the publication specifies a MIME media type
1793
for the file (see <a href="http://www.ietf.org/rfc/rfc2046.txt"
1795
title="MIME Part 2: Media Types.">http://www.ietf.org/rfc/rfc2046.txt</a>);
1799
<li>each file whose manifest entry identifies it as being in one of the OPS Core
1800
Media Types conforms as defined for those MIME media types; and
1803
<li>each file listed in the spine of the OPF Package Document <span class=
1804
"RFC">must</span> conform to the OPS Content Document requirements defined in the
1805
OPS specification; and
1809
<del>if the publication contains one or more documents which are either DTBook or
1810
an Out-Of-Line XML Island,</del> an NCX <span class="RFC">must</span> be
1814
<li>the <span class="Element">metadata</span> element or deprecated <span class=
1815
"Element">dc-metadata</span> element contains at least one <span class=
1816
"Element">identifier</span> element, at least one <span class=
1817
"Element">title</span> element, and at least one <span class=
1818
"Element">language</span> element drawn from the Dublin Core tag set; and
1821
<li>the <span class="Attribute">unique-identifier</span> attribute of the
1822
<span class="Element">package</span> element is a correct XML <span class=
1823
"Element">IDREF</span> to a Dublin Core <span class="Element">identifier</span>
1827
<li>any extended values specified for the Dublin Core <span class=
1828
"Element">creator</span> and <span class="Element">contributor</span> elements' OPF
1829
<span class="Attribute">role</span> attribute <span class="RFC">must</span> be
1830
taken from the registered MARC Relator Code list or <span class="RFC">must</span>
1831
begin with <span class="AttributeValue">oth.</span>; and
1834
<li>any extended values specified for the <span class="Element">guide</span>
1835
element's <span class="Attribute">type</span> attribute begin with <span class=
1836
"AttributeValue">other.</span>; and
1839
<li>the <span class="Attribute">version</span> attribute of the <span class=
1840
"Element">package</span> element is specified with a value of <span class=
1841
"AttributeValue">2.0</span>; and
1844
<li>the <span class="Element">package</span> element's namespace must be
1845
<span class="Namespace">http://www.idpf.org/2007/opf</span>.
1850
<ins>This specification and the OPS specification impose additional conformance
1851
constraints on the Package Document and on OPS Content Documents.</ins>
1856
<div class="Section">
1857
<h3 class="SubsubsectionTitle">
1858
<a class="SectionTitle"
1861
name="Section1.4.2">1.4.2: Reading System Conformance</a>
1865
This specification defines conformance for a Reading System when presented with an
1866
OPS Publication. OPS Content documents have further conformance requirements that can
1867
be found in the OPS specification. A Reading System is conformant if and only if it
1868
processes documents as follows:
1871
<ol class="BulletStyle_upper-alpha">
1872
<li>When presented with an OPF Package Document the Reading System <span class="RFC">
1874
<ol class="BulletStyle_lower-roman">
1875
<li>process all elements and attributes as described in <a href="#Section2"
1876
title="The OPF Package Document.">Section 2</a> of this specification; and
1879
<li>ignore all elements and attributes not described in <a href="#Section2"
1880
title="The OPF Package Document.">Section 2</a> of this specification; and
1883
<li>verify the existence of the appropriate namespace specifications, as defined
1884
in the <a href="#Section1.3.2"
1885
title="Relationship to XML Namespaces">Relationship to XML Namespaces</a>
1891
<li>When providing navigation via the OPF spine, the Reading System <span class=
1892
"RFC">must not</span> render content that is not an OPS Content Document.
1895
<li>When presented with an OEBPS 1.2 Package, the Reading System <span class=
1896
"RFC">must</span> process it as a conformant OEBPS 1.2 Reading System would. Note
1897
that only the OEBPS 1.2 Package <span class="RFC">must</span> be processed as an
1898
OEBPS 1.2 Reading System would, not the content documents referred to in the Package.
1901
<li>When presented with an OEBPS 1.2 Publication, a Reading System <span class="RFC">
1902
should</span> process it as a conformant OEBPS 1.2 Reading System would. Such a
1903
Reading System can claim an optional level of Reading System conformance, "Backward
1904
Compatibility Conformance."
1909
<div class="Section">
1910
<h3 class="SubsubsectionTitle">
1911
<a class="SectionTitle"
1914
name="Section1.4.3">1.4.3: Compatibility of OPF Version 2.0</a>
1918
Version 2.0 of OPF is not meant to be a substantially "new" specification. However,
1919
version 2.0 does add one significant functional enhancement in addition to a number
1920
of other changes from OEBPS version 1.2. Specifically, the following are the most
1921
substantive additions:
1925
<li>XML 1.1 is incorporated.
1928
<li>XML namespace processing <del>in</del><ins>is</ins> now <span class=
1929
"RFC">required</span>.
1932
<li>Support for <del>Daisy</del><ins>DAISY</ins>’s Navigation Center eXtended (NCX)
1933
has been added to enhance ease of navigation and accessibility of publications.
1937
<del>The leading character of</del> Dublin Core element names <span class=
1938
"RFC">must</span> now be lower case to conform to Dublin Core’s XML implementation
1942
<li>The <span class="Element">tours</span> element has been deprecated.
1947
While most changes from version OEBPS 1.2 to OPF 2.0 have been done via deprecation
1948
rather than removal of previous functionality, the OEBPS 1.2 Package is not a fully
1949
compatible subset of OPF 2.0 (e.g. new namespace processing requirements).
1954
<div class="Section">
1955
<h2 class="SubsectionTitle">
1956
<del><a class="SectionTitle"
1959
name="Section1.5">1.5: Accessibility</a></del>
1963
<del>This specification incorporates features that ensure content can be made
1964
accessible to, and usable by, persons with reading disabilities. Existing accessibility
1965
features developed by the World Wide Web Consortium (W3C) are incorporated into this
1966
specification.</del>
1970
<del>Publications <span class="RFC">should</span> be authored in accordance with the
1971
W3C Web Content Accessibility Guidelines 1.0 (<a href=
1972
"http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/"
1975
"WAI Web Content Accessibility Guidelines.">http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/</a>)
1976
or, if it is released while the Working Group is active, the Web Content
1977
Accessibility Guidelines 2.0 (the current draft is available at <a href=
1978
"http://www.w3.org/TR/WCAG20/"
1980
title="Web Content Accessibility Guidelines 2.0.">http://www.w3.org/TR/WCAG20/</a>)
1981
to ensure that the broadest possible set of users will have access to books
1982
delivered in this format.</del>
1986
<del>In addition, recommendations from the W3C HTML 4.0 Guidelines for Mobile Access
1987
(<a href="http://www.w3.org/TR/NOTE-html40-mobile/"
1989
title="Guidelines for Mobile Access.">http://www.w3.org/TR/NOTE-html40-mobile/</a>)
1990
and the W3C Web Accessibility Initiative's proposed User Agent Guidelines (<a href=
1991
"http://www.w3.org/TR/WD-WAI-USERAGENT/"
1993
title="WAI User Agent Guidelines.">http://www.w3.org/TR/WD-WAI-USERAGENT/</a>) ought
1994
to be reviewed and applied by OPF implementers to ensure that Reading Systems will
1995
be in conformance with accessibility requirements.</del>
2000
<div class="Section">
2001
<h1 class="SectionTitle">
2002
<a class="SectionTitle"
2005
name="Section2.0">2.0: The OPF Package Document</a>
2009
A publication conforming to this specification <span class="RFC">must</span> include
2010
exactly one XML OPF Package Document, which specifies the OPS Content Documents, images,
2011
and other objects that make up the OPS Publication and how they relate to each other.
2015
The OPF Package Document <span class="RFC">should</span> be named
2016
<del>using</del><ins>ending in</ins> the extension <ins>"</ins><span class=
2017
"File">.opf</span><ins>"</ins>, in order to make it readily identifiable within the group
2018
of files making up the publication. The OPS Package Document is of MIME media type
2019
<span class="MIMEType">application/oebps-package+xml</span>. This specification does not
2020
define means for physically bundling files together to make one data transfer object
2021
(such as using zip or tar); the OEBPS Container Format (OCF) specifies this
2026
This specification neither precludes nor requires the inclusion of the OPF Package Schema
2031
The major parts of the OPF Package Document are:
2034
<div class="InlineDefinitionList">
2035
<p class="DefinitionName">
2039
<p class="DefinitionCopy">
2040
A unique identifier for the OPS Publication as a whole.
2043
<p class="DefinitionName">
2047
<p class="DefinitionCopy">
2048
Publication metadata (title, author, publisher, etc.).
2051
<p class="DefinitionName">
2055
<p class="DefinitionCopy">
2056
A list of files (documents, images, style sheets, etc.) that make up the publication.
2057
The manifest also includes fallback declarations for files of types not supported by
2061
<p class="DefinitionName">
2065
<p class="DefinitionCopy">
2066
An arrangement of documents providing a linear reading order.
2069
<p class="DefinitionName">
2073
<p class="DefinitionCopy">
2074
A set of alternate reading sequences through the publication, such as selective views
2075
for various reading purposes, reader expertise levels, etc.
2078
<p class="DefinitionName">
2082
<p class="DefinitionCopy">
2083
A set of references to fundamental structural features of the publication, such as
2084
table of contents, foreword, bibliography, etc.
2089
An OPF Package Document <span class="RFC">must</span> be a valid XML document conforming
2090
to the OPF Package schema (<a href="#AppendixA"
2091
title="The OPF Package Schema.">Appendix A</a>). An informal outline of the package is
2095
<pre class="Example">
2096
<?xml version="1.0"?>
2097
<package version="2.0" xmlns="http://www.idpf.org/2007/opf" <ins>unique-identifier="BookId"</ins>>
2105
The following sections describe the parts of the OPF Package Document.
2108
<div class="Section">
2109
<h2 class="SubsectionTitle">
2110
<a class="SectionTitle"
2113
name="Section2.1">2.1: Package Identity</a>
2117
The <span class="Element">package</span> element is the root element in an OPF Package
2118
Document; all other elements are nested within it.
2122
The <span class="Element">package</span> <ins>element</ins> <span class=
2123
"RFC">must</span> specify a value for its <span class=
2124
"Attribute">unique-identifier</span> attribute. The <span class=
2125
"Attribute">unique-identifier</span> attribute's value specifies which Dublin Core
2126
<span class="Element">identifier</span> element, described in <a href="#Section2.2.10"
2128
title="<identifier></identifier>">Section 2.2.10</a>, provides the
2129
package's preferred, or primary, identifier. The OPF Package Document's author is
2130
responsible for choosing a primary identifier that is unique to one and only one
2131
particular package (i.e., the set of files referenced from the package document's
2132
<span class="Element">manifest</span>).
2136
Notwithstanding the requirement for uniqueness, Reading Systems <span class="RFC">must
2137
not</span> fail catastrophically if they encounter two distinct packages with the same
2138
purportedly unique primary identifier.
2142
<div class="Section">
2143
<h2 class="SubsectionTitle">
2144
<a class="SectionTitle"
2147
name="Section2.2">2.2: Publication Metadata</a>
2151
The <span class="RFC">required</span> <span class="Element">metadata</span> element is
2152
used to provide information about the publication as a whole. It <span class=
2153
"RFC">may</span> contain Dublin Core <span class="Element">metadata</span> elements
2154
directly or within a (now deprecated) <span class="Element">dc-metadata</span>
2155
sub-element. Supplemental metadata can also be specified directly or within a (now
2156
deprecated) <span class="Element">x-metadata</span> sub-element.
2160
Reading Systems <span class="RFC">must</span> allow the specification of the deprecated
2161
<span class="Element">dc-metadata</span> and <span class="Element">x-metadata</span>
2162
elements. Newly created OPS 2.0 packages <span class="RFC">should not</span> create
2163
<span class="Element">dc-metadata</span> or <span class="Element">x-metadata</span>
2164
elements. If the <span class="Element">dc-metadata</span> element is used, all
2165
<span class="Element">dc</span> elements <span class="RFC">must</span> go in
2166
<span class="Element">dc-metadata</span> and all other <span class=
2167
"Element">metadata</span> elements, if any, <span class="RFC">must</span> go into
2168
<span class="Element">x-metadata</span>. If the <span class=
2169
"Element">dc-metadata</span> element is not used, all metadata elements <span class=
2170
"RFC">must</span> go directly in the <span class="Element">metadata</span> element.
2174
The <span class="RFC">required</span> <span class="Element">metadata</span> or
2175
<span class="Element">dc-metadata</span> (deprecated) elements contain specific
2176
publication-level metadata as defined by the Dublin Core Metadata Initiative (<a href=
2177
"http://www.dublincore.org/"
2179
title="Dublin Core website,">http://www.dublincore.org/</a>). The descriptions below
2180
are included for convenience, and the Dublin Core's own definitions take precedence
2181
(see <a href="http://dublincore.org/documents/2004/12/20/dces/"
2184
"Dublin Core metadata definitions.">http://dublincore.org/documents/2004/12/20/dces/</a>).
2188
One or more <span class="RFC">optional</span> instances of a <span class=
2189
"Element">meta</span> element, analogous to the XHTML 1.1 <span class=
2190
"Element">meta</span> element but applicable to the publication as a whole,
2191
<span class="RFC">may</span> be placed within the <span class="Element">metadata</span>
2192
element or within the deprecated <span class="Element">x-metadata</span> element. This
2193
allows content providers to express arbitrary metadata beyond the data described by the
2194
Dublin Core specification. Individual OPS Content Documents <span class=
2195
"RFC">may</span> include the <span class="Element">meta</span> element directly (as in
2196
XHTML 1.1) for document-specific metadata. This specification uses the OPF Package
2197
Document alone as the basis for expressing publication-level Dublin Core metadata.
2204
<pre class="Example">
2205
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/"
2206
xmlns:opf="http://www.idpf.org/2007/opf">
2207
<dc:title>Tale of Two Cities</dc:title>
2208
<dc:creator opf:role="aut">Charles Dickens</dc:creator>
2210
<meta name="price" content="USD 19.99" />
2214
The XML namespace mechanism (see <a href="http://www.w3.org/TR/REC-xml-names11/"
2216
title="XML Namespaces specification.">http://www.w3.org/TR/REC-xml-names11/</a>) is
2217
used to identify the elements used for Dublin Core metadata without conflict. The
2218
<span class="Element">metadata</span> or <span class="Element">dc-metadata</span>
2219
(deprecated) elements may contain any number of instances of any Dublin Core
2220
elements. Dublin Core metadata elements may occur in any order; in fact, multiple
2221
instances of the same element type (e.g. multiple Dublin Core <span class=
2222
"Element">creator</span> elements) can be interspersed with other metadata elements
2223
without change of meaning.
2227
Each Dublin Core field is represented by an element whose content is the field's value.
2228
At least one of each of Dublin Core <span class="Element">title</span>, <span class=
2229
"Element">identifier</span> and <span class="Element">language</span> <span class=
2230
"RFC">must</span> be included in the <span class="Element">metadata</span> element.
2231
Dublin Core elements, like any other elements in the OPF Package Document, <span class=
2232
"RFC">may</span> have an <span class="Attribute">id</span> attribute specified. At
2233
least one Dublin Core <span class="Element">identifier</span>, which is referenced from
2234
the package <span class="Attribute">unique-identifier</span> attribute, <span class=
2235
"RFC">must</span> have an <span class="Attribute">id</span> specified.
2239
Because the Dublin Core metadata fields for <span class="Element">creator</span> and
2240
<span class="Element">contributor</span> do not distinguish roles of specific
2241
contributors (such as author, editor, and illustrator), this specification adds an
2242
optional <span class="Attribute">role</span> attribute for this purpose. See <a href=
2244
title="Role">Section 2.2.6</a> for a discussion of <span class=
2245
"Attribute">role</span>.
2249
To facilitate machine processing of Dublin Core <span class="Element">creator</span>
2250
and <span class="Element">contributor</span> fields, this specification adds the
2251
<span class="RFC">optional</span> <span class="Attribute">file-as</span> attribute for
2252
those elements. This attribute is used to specify a normalized form of the contents.
2253
See <a href="#Section2.2.2"
2254
title="File-As">Section 2.2.2</a> for a discussion of <span class=
2255
"Attribute">file-as</span>.
2259
This specification also adds a <span class="Attribute">scheme</span> attribute to the
2260
Dublin Core <span class="Element">identifier</span> element to provide a structural
2261
mechanism to separate an identifier value from the system or authority that generated
2262
or defined that <span class="Element">identifier</span> value. See <a href=
2264
title="Scheme.">Section 2.2.10</a> for a discussion of <span class=
2265
"Attribute">scheme</span>.
2269
This specification also adds an <span class="Attribute">event</span> attribute to the
2270
Dublin Core <span class="Element">date</span> element to enable content providers to
2271
distinguish various publication specific dates (for example, creation, publication,
2272
modification). See <a href="#Section2.2.7"
2273
title="Event.">Section 2.2.7</a> for a discussion of <span class=
2274
"Attribute">event</span>. For example:
2277
<pre class="Example">
2278
<package version="2.0" xmlns="http://www.idpf.o<ins>r</ins>g/2007/opf"
2279
unique-identifier="BookId">
2280
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/"
2281
xmlns:opf="http://www.idpf.org/2007/opf">
2282
<dc:title>Alice in Wonderland</dc:title>
2283
<dc:language>en</dc:language>
2284
<dc:identifier id="BookId" opf:scheme="ISBN">
2286
</dc:identifier>
2287
<dc:creator opf:role="aut">Lewis Carroll</dc:creator>
2293
There are no attributes for the elements within metadata defined by Dublin Core — only
2294
the elements' contents are so defined. In the above example, the specification of the
2295
OPF namespace on the <span class="Element">metadata</span> element is present to
2296
resolve the <span class="Attribute">scheme</span> and <span class=
2297
"Attribute">role</span> attributes used in the <span class="Element">identifier</span>
2298
and <span class="Element">creator</span> elements, respectively.
2302
<ins>For compatibility with Guidelines for implementing Dublin Core in XML (<a href=
2303
"http://dublincore.org/documents/dc-xml-guidelines/"
2306
"Guidelines for implementing Dublin Core in XML">http://dublincore.org/documents/dc-xml-guidelines/</a>)
2307
this specification allows xsi:type attribute for metadata items that can be given
2308
using some sort of encoding scheme and xml:lang attribute when an item can be given
2309
using human-readable text. Elements that allow xsi:type attribute are identifier,
2310
language, date, format and type. Elements that allow xml:lang attribute are: title,
2311
contributor, coverage, creator, description, publisher, relation, rights, source,
2312
and subject. This specification does not impose any specific rules for these
2313
attributes (with possible exception of heuristics that use xml:lang described
2318
The following subsections describe the individual Dublin Core metadata elements.
2321
<div class="Section">
2322
<h3 class="SubsubsectionTitle">
2323
<a class="SectionTitle"
2326
name="Section2.2.1">2.2.1: <span class="Element"><title>
2327
</title></span></a>
2331
The title of the publication. An OPF Package Document <span class="RFC">must</span>
2332
include at least one instance of this element type, however multiple instances are
2333
permitted. Any Reading System that displays title metadata <span class=
2334
"RFC">should</span> display the content of the most appropriate <span class=
2335
"Element">title</span> element(s). Determination of the most appropriate titles is
2336
not defined by this specification, but <span class="RFC">may</span> include the
2337
available fonts, an examination of <span class="Attribute">xml:lang</span>
2338
attributes, or other heuristics. In the absence of such an algorithm, conforming
2339
Reading Systems <span class="RFC">should</span> consider either the first
2340
<span class="Element">title</span> element or all the <span class=
2341
"Element">title</span> elements as the most appropriate.
2345
<div class="Section">
2346
<h3 class="SubsubsectionTitle">
2347
<a class="SectionTitle"
2350
name="Section2.2.2">2.2.2: <span class="Element"><creator>
2351
</creator></span></a>
2355
A primary creator or author of the publication. Additional contributors whose
2356
contributions are secondary to those listed in <span class="Element">creator</span>
2357
elements <span class="RFC">should</span> be named in <span class=
2358
"Element">contributor</span> elements.
2362
Publications with multiple co-authors <span class="RFC">should</span> provide
2363
multiple <span class="Element">creator</span> elements, each containing one author.
2364
The order of <span class="Element">creator</span> elements is presumed to define the
2365
order in which the creators' names <span class="RFC">should</span> be presented by
2370
This specification recommends that the content of the <span class=
2371
"Element">creator</span> elements hold the text for a single name as it would be
2372
presented to the Reader.
2376
This specification adds to the <span class="Element">creator</span> element two
2377
<span class="RFC">optional</span> attributes: <span class="Attribute">role</span> and
2378
<span class="Attribute">file-as</span>. The set of values for <span class=
2379
"Attribute">role</span> are identical to those defined in <a href="#Section2.2.6"
2380
title="Contributor">Section 2.2.6</a> for the <span class=
2381
"Element">contributor</span> element. The <span class="Attribute">file-as</span>
2382
attribute <span class="RFC">should</span> be used to specify a normalized form of
2383
the contents, suitable for machine processing. For example, one might find
2386
<pre class="Example">
2387
<dc:creator opf:file-as="King, Martin Luther Jr." opf:role="aut">
2388
Rev. Dr. Martin Luther King Jr.
2392
Any Reading System that displays creator metadata <span class="RFC">should</span>
2393
display the content of the most appropriate <span class="Element">creator</span>
2394
element(s). Determination of the most appropriate creators is not defined by this
2395
specification, but <span class="RFC">may</span> include the available fonts, an
2396
examination of <span class="Attribute">xml:lang</span> attributes, or other
2397
heuristics. In the absence of such an algorithm, conforming Reading Systems
2398
<span class="RFC">should</span> display the contents of all <span class=
2399
"Element">creator</span> elements, in the order provided, with appropriate separating
2400
spacing and/or punctuation.
2404
<div class="Section">
2405
<h3 class="SubsubsectionTitle">
2406
<a class="SectionTitle"
2409
name="Section2.2.3">2.2.3: <span class="Element"><subject>
2410
</subject></span></a>
2414
Multiple instances of the <span class="Element">subject</span> element are supported,
2415
each including an arbitrary phrase or keyword. This specification makes no attempt to
2416
standardize subject naming schemes, such as the Library of Congress Subject Heading
2421
<div class="Section">
2422
<h3 class="SubsubsectionTitle">
2423
<a class="SectionTitle"
2426
name="Section2.2.4">2.2.4: <span class="Element"><description>
2427
</description></span></a>
2431
Description of the publication's content.
2435
<div class="Section">
2436
<h3 class="SubsubsectionTitle">
2437
<a class="SectionTitle"
2440
name="Section2.2.5">2.2.5: <span class="Element"><publisher>
2441
</publisher></span></a>
2445
The publisher as defined by the Dublin Core Metadata Element Set (<a href=
2446
"http://dublincore.org/documents/2004/12/20/dces/"
2449
"Dublin Core Metadata Element Set.">http://dublincore.org/documents/2004/12/20/dces/</a>).
2453
<div class="Section">
2454
<h3 class="SubsubsectionTitle">
2455
<a class="SectionTitle"
2458
name="Section2.2.6">2.2.6: <span class="Element"><contributor>
2459
</contributor></span></a>
2463
A party whose contribution to the publication is secondary to those named in
2464
<span class="Element">creator</span> elements.
2468
Other than significance of contribution, the semantics of this element are identical
2469
to those of <span class="Element">creator</span>. Reading Systems are free to choose
2470
to display creator information without accompanying contributor information.
2474
This specification adds to the <span class="Element">contributor</span> element two
2475
<span class="RFC">optional</span> attributes: <span class="Attribute">role</span> and
2476
<span class="Attribute">file-as</span>. The <span class="Attribute">file-as</span>
2477
attribute is defined as for <span class="Element">creator</span>, and is documented
2478
in <a href="#Section2.2.2"
2479
title="Creator">Section 2.2.2</a>.
2483
The normative list of values used for the <span class="Attribute">role</span>
2484
attribute is defined by the MARC relator code list (<a href=
2485
"http://www.loc.gov/marc/relators/"
2487
title="MARC relator code list.">http://www.loc.gov/marc/relators/</a>). When roles
2488
are specified, the 3-character registered MARC values <span class=
2489
"RFC">must</span> be used when applicable. Although that list is extensive, other
2490
values may be added if a desired role is not covered by those predefined values.
2491
Such values must begin with <span class="AttributeValue">oth.</span>, and shall be
2492
considered subdivisions of the <span class="AttributeValue">other</span> relator
2493
code. Like other constructs in this specification, these values are case-sensitive
2494
and <span class="RFC">must</span> be coded entirely in lower-case.
2498
For convenience, some relator code values are listed here as examples. Consult the
2499
MARC code list cited above for the complete list.
2502
<table summary="MARC Relator Codes">
2504
<td class="MarcName">
2507
<td class="MarcValue">
2508
Use for a person who 1) reworks a musical composition, usually for a different
2509
medium, or 2) rewrites novels or stories for motion pictures or other audiovisual
2515
<td class="MarcName">
2518
<td class="MarcValue">
2519
Use for a person who writes manuscript annotations on a printed item.
2524
<td class="MarcName">
2527
<td class="MarcValue">
2528
Use for a person who transcribes a musical composition, usually for a different
2529
medium from that of the original; in an arrangement the musical substance remains
2530
essentially unchanged.
2535
<td class="MarcName">
2538
<td class="MarcValue">
2539
Use for a person (e.g., a painter) who conceives, and perhaps also implements, an
2540
original graphic design or work of art, if specific codes (e.g., [egr], [etr])
2541
are not desired. For book illustrators, prefer Illustrator [ill].
2546
<td class="MarcName">
2547
Associated name [asn]
2549
<td class="MarcValue">
2550
Use as a general relator for a name associated with or found in an item or
2551
collection, or which cannot be determined to be that of a Former owner [fmo] or
2552
other designated relator indicative of provenance.
2557
<td class="MarcName">
2560
<td class="MarcValue">
2561
Use for a person or corporate body chiefly responsible for the intellectual or
2562
artistic content of a work. This term may also be used when more than one person
2563
or body bears such responsibility.
2568
<td class="MarcName">
2569
Author in quotations or text extracts [aqt]
2571
<td class="MarcValue">
2572
Use for a person whose work is largely quoted or extracted in a works to which he
2573
or she did not contribute directly. Such quotations are found particularly in
2574
exhibition catalogs, collections of photographs, etc.
2579
<td class="MarcName">
2580
Author of afterword, colophon, etc. [aft]
2582
<td class="MarcValue">
2583
Use for a person or corporate body responsible for an afterword, postface,
2584
colophon, etc. but who is not the chief author of a work.
2589
<td class="MarcName">
2590
Author of introduction, etc. [aui]
2592
<td class="MarcValue">
2593
Use for a person or corporate body responsible for an introduction, preface,
2594
foreword, or other critical matter, but who is not the chief author.
2599
<td class="MarcName">
2600
Bibliographic antecedent [ant]
2602
<td class="MarcValue">
2603
Use for the author responsible for a work upon which the work represented by the
2604
catalog record is based. This can be appropriate for adaptations, sequels,
2605
continuations, indexes, etc.
2610
<td class="MarcName">
2613
<td class="MarcValue">
2614
Use for the person or firm responsible for the production of books and other
2615
print media, if specific codes (e.g., [bkd], [egr], [tyd], [prt]) are not
2621
<td class="MarcName">
2624
<td class="MarcValue">
2625
Use for a person or corporate body that takes a limited part in the elaboration
2626
of a work of another author or that brings complements (e.g., appendices, notes)
2627
to the work of another author.
2632
<td class="MarcName">
2635
<td class="MarcValue">
2636
Use for a person who provides interpretation, analysis, or a discussion of the
2637
subject matter on a recording, motion picture, or other audiovisual medium.
2638
Compiler [com] Use for a person who produces a work or publication by selecting
2639
and putting together material from the works of various persons or bodies.
2644
<td class="MarcName">
2647
<td class="MarcValue">
2648
Use for a person or organization responsible for design if specific codes (e.g.,
2649
[bkd], [tyd]) are not desired.
2654
<td class="MarcName">
2657
<td class="MarcValue">
2658
Use for a person who prepares for publication a work not primarily his/her own,
2659
such as by elucidating text, adding introductory or other critical matter, or
2660
technically directing an editorial staff.
2665
<td class="MarcName">
2668
<td class="MarcValue">
2669
Use for the person who conceives, and perhaps also implements, a design or
2670
illustration, usually to accompany a written text.
2675
<td class="MarcName">
2678
<td class="MarcValue">
2679
Use for the writer of the text of a song.
2684
<td class="MarcName">
2685
Metadata contact [mdc]
2687
<td class="MarcValue">
2688
Use for the person or organization primarily responsible for compiling and
2689
maintaining the original description of a metadata set (e.g., geospatial metadata
2695
<td class="MarcName">
2698
<td class="MarcValue">
2699
Use for the person who performs music or contributes to the musical content of a
2700
work when it is not possible or desirable to identify the function more
2706
<td class="MarcName">
2709
<td class="MarcValue">
2710
Use for the speaker who relates the particulars of an act, occurrence, or course
2716
<td class="MarcName">
2719
<td class="MarcValue">
2720
Use for relator codes from other lists which have no equivalent in the MARC list
2721
or for terms which have not been assigned a code.
2726
<td class="MarcName">
2729
<td class="MarcValue">
2730
Use for the person or organization responsible for taking photographs, whether
2731
they are used in their original form or as reproductions.
2736
<td class="MarcName">
2739
<td class="MarcValue">
2740
Use for the person or organization who prints texts, whether from type or plates.
2745
<td class="MarcName">
2748
<td class="MarcValue">
2749
Use for a person who writes or develops the framework for an item without being
2750
intellectually responsible for its content.
2755
<td class="MarcName">
2758
<td class="MarcValue">
2759
Use for a person or corporate body responsible for the review of book, motion
2760
picture, performance, etc.
2765
<td class="MarcName">
2768
<td class="MarcValue">
2769
Use for the person or agency that issued a contract, or under whose auspices a
2770
work has been written, printed, published, etc.
2775
<td class="MarcName">
2776
Thesis advisor [ths]
2778
<td class="MarcValue">
2779
Use for the person under whose supervision a degree candidate develops and
2780
presents a thesis, memoir, or text of a dissertation.
2785
<td class="MarcName">
2788
<td class="MarcValue">
2789
Use for a person who prepares a handwritten or typewritten copy from original
2790
material, including from dictated or orally recorded material.
2795
<td class="MarcName">
2798
<td class="MarcValue">
2799
Use for a person who renders a text from one language into another, or from an
2800
older form of a language into the modern form.
2806
<div class="Section">
2807
<h3 class="SubsubsectionTitle">
2808
<a class="SectionTitle"
2811
name="Section2.2.7">2.2.7: <span class="Element"><date>
2812
</date></span></a>
2816
Date of publication, in the format defined by "Date and Time Formats" at <a href=
2817
"http://www.w3.org/TR/NOTE-datetime"
2819
title="W3C Note on dates and times.">http://www.w3.org/TR/NOTE-datetime</a> and by
2820
ISO 8601 on which it is based. In particular, dates without times are represented
2821
in the form YYYY[-MM[-DD]]: a <span class="RFC">required</span> 4-digit year, an
2822
<span class="RFC">optional</span> 2-digit month, and if the month is given, an
2823
<span class="RFC">optional</span> 2-digit day of month.
2827
The <span class="Element">date</span> element has one <span class=
2828
"RFC">optional</span> OPF <span class="Attribute">event</span> attribute. The set of
2829
values for event are not defined by this specification; possible values <span class=
2830
"RFC">may</span> include: <span class="AttributeValue">creation</span>, <span class=
2831
"AttributeValue">publication</span>, and <span class=
2832
"AttributeValue">modification</span>.
2836
<div class="Section">
2837
<h3 class="SubsubsectionTitle">
2838
<a class="SectionTitle"
2841
name="Section2.2.8">2.2.8: <span class="Element"><type>
2842
</type></span></a>
2846
<span class="Element">type</span> includes terms describing general categories,
2847
functions, genres, or aggregation levels for content. The advised best practice is to
2848
select a value from a controlled vocabulary.
2852
<div class="Section">
2853
<h3 class="SubsubsectionTitle">
2854
<a class="SectionTitle"
2857
name="Section2.2.9">2.2.9: <span class="Element"><format>
2858
</format></span></a>
2862
The media type or dimensions of the resource. Best practice is to use a value from a
2863
controlled vocabulary (e.g. MIME media types).
2867
<div class="Section">
2868
<h3 class="SubsubsectionTitle">
2869
<a class="SectionTitle"
2872
name="Section2.2.10">2.2.10: <span class="Element"><identifier>
2873
</identifier></span></a>
2877
A string or number used to uniquely identify the resource. An OPF Package Document
2878
<span class="RFC">must</span> include at least one instance of this element type,
2879
however multiple instances are permitted.
2883
At least one <span class="Element">identifier</span> <span class="RFC">must</span>
2884
have an <span class="Attribute">id</span> specified <ins>(the value being of the XML
2885
"ID" data type)</ins>, so it can be referenced from the package <span class=
2886
"Attribute">unique-identifier</span> attribute described in <a href="#Section2.1"
2887
title="Package Identity">Section 2.1</a>.
2891
The <span class="Element">identifier</span> element has an <span class=
2892
"RFC">optional</span> OPF <span class="Attribute">scheme</span> attribute defined by
2893
this specification. The <span class="Attribute">scheme</span> attribute names the
2894
system or authority that generated or assigned the text contained within the
2895
identifier element, for example "ISBN" or "DOI." The values of the <span class=
2896
"Attribute">scheme</span> attribute are case sensitive <ins>only when the particular
2897
scheme requires it</ins>.
2901
This specification does not standardize or endorse any particular publication
2902
identifier scheme. Specific uses of URLs or ISBNs are not yet addressed by this
2903
specification. Identifier schemes are not currently defined by Dublin Core.
2907
<div class="Section">
2908
<h3 class="SubsubsectionTitle">
2909
<a class="SectionTitle"
2912
name="Section2.2.11">2.2.11: <span class="Element"><source>
2913
</source></span></a>
2917
Information regarding a prior resource from which the publication was derived; see
2918
the Dublin Core Metadata Element Set (<a href=
2919
"http://dublincore.org/documents/2004/12/20/dces/"
2922
"Dublin Core Metadata Element Set">http://dublincore.org/documents/2004/12/20/dces/</a>).
2926
<div class="Section">
2927
<h3 class="SubsubsectionTitle">
2928
<a class="SectionTitle"
2931
name="Section2.2.12">2.2.12: <span class="Element"><language>
2932
</language></span></a>
2936
Identifies a language of the intellectual content of the Publication. An OPF Package
2937
Document <span class="RFC">must</span> include at least one instance of this element
2938
type, however multiple instances are permitted. The content of this element
2939
<span class="RFC">must</span> comply with RFC 3066 (see <a href=
2940
"http://www.ietf.org/rfc/rfc3066.txt"
2942
title="RFC 3066.">http://www.ietf.org/rfc/rfc3066.txt</a>), or its successor on
2943
the IETF Standards Track. The Dublin Core permits other descriptions as well; this
2944
specification does not.
2948
<div class="Section">
2949
<h3 class="SubsubsectionTitle">
2950
<a class="SectionTitle"
2953
name="Section2.2.13">2.2.13: <span class="Element"><relation>
2954
</relation></span></a>
2958
An identifier of an auxiliary resource and its relationship to the publication.
2962
<div class="Section">
2963
<h3 class="SubsubsectionTitle">
2964
<a class="SectionTitle"
2967
name="Section2.2.14">2.2.14: <span class="Element"><coverage>
2968
</coverage></span></a>
2972
The extent or scope of the publication’s content. The advised best practice is to
2973
select a value from a controlled vocabulary; see the Dublin Core Metadata Element Set
2974
(<a href="http://dublincore.org/documents/2004/12/20/dces/"
2977
"Dublin Core Metadata Element Set">http://dublincore.org/documents/2004/12/20/dces/</a>).
2981
<div class="Section">
2982
<h3 class="SubsubsectionTitle">
2983
<a class="SectionTitle"
2986
name="Section2.2.15">2.2.15: <span class="Element"><rights>
2987
</rights></span></a>
2991
A statement about rights, or a reference to one. In this specification, the copyright
2992
notice and any further rights description <span class="RFC">should</span> appear
2997
This specification does not address the manner in which a Content Provider specifies
2998
to a secure distributor any licensing terms under which readership rights or copies
2999
of the content could be sold.
3004
<div class="Section">
3005
<h2 class="SubsectionTitle">
3006
<a class="SectionTitle"
3009
name="Section2.3">2.3: Manifest</a>
3013
The <span class="RFC">required</span> <span class="Element">manifest</span>
3014
<span class="RFC">must</span> provide<del>s</del> a list of all the files that are
3015
part<del>s</del> of the publication <ins>(e.g. Content Documents, style sheets, image
3016
files, any embedded font files, any included schemas)</ins>. The <span class=
3017
"Element">manifest</span> element <span class="RFC">must</span> contain one or more
3018
<span class="Element">item</span> elements. Each <span class="Element">item</span>
3019
describes a document, an image file, a style sheet, or other component that is
3020
considered part of the publication. The <span class="Element">manifest</span>
3021
<span class="RFC">must not</span> include <span class="Element">item</span> elements
3022
referring to the file or files that make up the OPF Package Document.
3026
Each <span class="Element">item</span> element contained within a <span class=
3027
"Element">manifest</span> element must have the attributes <span class=
3028
"Attribute">id</span>, <span class="Attribute">href</span> (a URI; if relative, the URI
3029
is interpreted as relative to the OPF Package Document file containing the reference),
3030
and <span class="Attribute">media-type</span> (specifying the item’s MIME media type).
3034
The order of <span class="Attribute">item</span> elements in the manifest is not
3042
<pre class="Example">
3044
<item id="intro" href="introduction.html"
3045
media-type="application/xhtml+xml" />
3046
<item id="c1" href="chapter-1.html"
3047
media-type="application/xhtml+xml" />
3048
<item id="c2" href="chapter-2.html"
3049
media-type=application/xhtml+xml" />
3050
<item id="toc" href="contents.xml"
3051
media-type="application/xhtml+xml" />
3052
<item id="oview" href="arch.png"
3053
media-type="image/png" />
3057
The URIs in <span class="Attribute">href</span> attributes of <span class=
3058
"Element">item</span> elements in the <span class="Element">manifest</span>
3059
<span class="RFC">must not</span> use fragment identifiers.
3063
<ins>A single resource (<span class="Attribute">href</span>) <span class="RFC">must
3064
not</span> be listed in the <span class="Element">manifest</span> more than once.</ins>
3068
A Content Document’s root element <span class="RFC">must</span> be consistent with the
3069
<span class="Attribute">media-type</span> of the associated <span class=
3070
"Element">item</span> element within the <span class="Element">manifest</span>.
3073
<div class="Section">
3074
<h3 class="SubsubsectionTitle">
3075
<a class="SectionTitle"
3078
name="Section2.3.1">2.3.1: Fallback Items</a>
3082
The OPS specification defines a set of OPS Core Media Types that all conforming
3083
Reading Systems <span class="RFC">must</span> support (e.g. XHTML, PNG, SVG). For a
3084
publication that uses only those media types, the <span class=
3085
"Element">manifest</span> merely lists the publication's component files directly.
3086
However, content providers <span class="RFC">may</span> construct publications that
3087
reference items of additional media types. In order for such publications to be read
3088
by all conforming Reading Systems, content providers <span class="RFC">must</span>
3089
provide alternative "fallback" items for each such item. For every item that is not
3090
an OPS Core Media Type, at least one of its associated fallback items <span class=
3091
"RFC">must</span> either be of a type drawn from the set of OPS Core Media Types or,
3092
in some cases, CSS styling <span class="RFC">may</span> be provided for documents
3093
containing non-preferred XML vocabularies.
3097
This specification and the OPS specification jointly define four different mechanisms
3098
for specifying OPS Core Media Type fallbacks. These are as follows:
3102
<li>For inline "replaced" resources referenced via the <span class=
3103
"Element">object</span> element, this specification relies on that element’s inherent
3104
replacement capabilities, described in <a href=
3105
"http://www.idpf.org/ops/ops2.0/download/OPS2.0.html#Section2.3.6"
3107
title="object and param Elements">Section 2.3.6</a> of the OPS specification.
3110
<li>For inline "replaced" resources referenced via the <span class=
3111
"Element">img</span> element, the text value of the <span class=
3112
"Attribute">alt</span> <ins>or <span class="Attribute">title</span></ins>
3113
attribute<ins>s</ins> provide<del>s</del> a valid fallback, described in <a href=
3114
"http://www.idpf.org/ops/ops2.0/download/OPS2.0.html#Section2.3.4"
3116
title="img Element">Section 2.3.4</a> of the OPS specification.
3119
<li>For Inline XML Islands a switch-based fallback mechanism is provided, described
3120
in <a href="http://www.idpf.org/ops/ops2.0/download/OPS2.0.html#Section2.6.3.1"
3122
title="The switch Element and Contained Elements">Section 2.6.3.1</a> of the
3126
<li>For non-inline destinations, whether referenced from a document or a package, and
3127
for inline "replaced" resources referenced via the <span class="Element">img</span>
3128
element, the various attributes of the package <span class="Element">item</span>
3129
element are used to provide fallback information. This is defined in this section of
3135
For the purpose of fallback specification, the file with the media type <span class=
3136
"MIMEType">application/x-dtbncx+xml</span> that specifies the publication’s NCX (see
3137
below) <span class="RFC">should</span> be considered a Core Media Type, thus fallback
3138
information <span class="RFC">must not</span> be provided for this file.
3141
<div class="Section">
3142
<h4 class="SubsubsubsectionTitle">
3143
<a class="SectionTitle"
3146
name="Section2.3.1.1">2.3.1.1: Items That Are Not OPS Core Media Types</a>
3150
An <span class="Element">item</span> that specifies a resource that is not an OPS
3151
Core Media Type <del>and is not an <a href=
3152
"http://www.idpf.org/ops/ops2.0/download/OPS2.0.html#Section2.6.2"
3154
title="Out-Of-Line XML Islands">Out-Of-Line XML Island</a></del> (e.g. a
3155
non-core image type, a text file, a PDF file) <span class="RFC">must</span> have
3156
a fallback specified. In this case, its fallback must be identified with a
3157
<span class="Element">fallback</span> attribute pointing to another <span class=
3158
"Element">item</span>. <ins>See <a href="#Section2.3.1.2"
3159
title="Out-of-Line XML Islands Fallbacks">Section 2.3.1.2</a> for fallback
3160
requirements for Out-of-Line XML Islands.</ins>
3164
An <span class="Element">item</span> identifies a fallback <span class=
3165
"Element">item</span> using its <span class="Attribute">fallback</span> attribute,
3166
which <span class="RFC">must</span> specify the <span class="Attribute">ID</span>
3167
of the <span class="Element">item</span> element that identifies the fallback.
3168
Items referenced from <span class="Attribute">fallback</span> attributes
3169
<span class="RFC">may</span> each specify a <span class="Attribute">fallback</span>
3170
attribute in turn, forming a multi-level fallback chain. For example:
3173
<pre class="Example">
3177
media-type="text/plain"
3178
fallback="fall1" />
3179
<item id="fall1" fallback="fall2"
3181
media-type="application/pdf" />
3184
media-type="application/<ins>x</ins>html+xml" />
3189
If a <span class="Attribute">fallback</span> attribute points to an <span class=
3190
"Element">item</span> that also has a <span class="Attribute">fallback</span>
3191
attribute, a Reading System <span class="RFC">must</span> continue down the
3192
fallback chain until it reaches a reference to an <span class="Element">item</span>
3193
with a media type it can display (or as specified below, it reaches an <span class=
3194
"Element">item</span> with a <span class="Attribute">fallback-style</span>
3195
attribute). A Reading System <span class="RFC">may</span> continue further, and
3196
<span class="RFC">may</span> display any <span class="Element">item</span> from the
3197
chain. In the absence of element-specific (i.e. <span class="Element">img</span>
3198
and <span class="Element">object</span>) fallback information, every <span class=
3199
"Element">item</span> in a publication that does not have one of the OPS Core Media
3200
Types <span class="RFC">must</span>, directly or indirectly, specify a fallback to
3201
an <span class="Element">item</span> that does have one of the OPS Core Media Types
3202
(or as specified below, an <span class="Element">item</span> with a <span class=
3203
"Attribute">fallback-style</span> attribute).
3207
Fallback chains <span class="RFC">must</span> terminate; circular references are
3208
not permitted. Nevertheless, Reading Systems <span class="RFC">should not</span>
3209
fail catastrophically if they encounter such a loop.
3213
<div class="Section">
3214
<h4 class="SubsubsubsectionTitle">
3215
<a class="SectionTitle"
3218
name="Section2.3.1.2">2.3.1.2: Items That Are Out-Of-Line XML Islands</a>
3222
An <span class="Element">item</span> that specifies a resource that is an
3223
Out-Of-Line XML Island (an XML document that is not authored in a Preferred
3224
Vocabulary). An <span class="Element">item</span> is an Out-Of-Line XML Island if:
3227
<ol class="BulletStyle_lower-roman">
3228
<li>It specifies a resource that is an XML document not authored in a Preferred
3229
Vocabulary (i.e. an XML document with a <span class="Attribute">media-type</span>
3230
that is neither <span class="MIMEType">application/xhtml+xml</span>, <span class=
3231
"MIMEType">application/x-dtbook+xml</span> nor the deprecated <span class=
3232
"MIMEType">text/x-eob1-document</span>); or
3235
<li>It specifies a resource that is an XML document authored in a Preferred
3236
Vocabulary and incorporates the use of Extended Modules.
3241
More information is needed, and more freedom is provided, for fallback
3242
determination and processing of Out-Of-Line XML Islands. The namespace of an
3243
Out-Of-Line XML Island <span class="Element">item</span> <span class=
3244
"RFC">must</span> be specified with the <span class=
3245
"Attribute">required-namespace</span> attribute and its fallback <span class=
3246
"RFC">must</span> be identified with either a <span class=
3247
"Attribute">fallback</span> attribute pointing to another <span class=
3248
"Element">item</span> or by providing CSS styling that can be used to render the
3249
island via the <span class="Attribute">fallback-style</span> attribute.
3253
If the <span class="Attribute">fallback</span> attribute is specified, Reading
3254
System processing is identical to the Non-OPS Core Media Types handling described
3259
If the <span class="Attribute">fallback-style</span> attribute is specified, a
3260
Reading System <span class="RFC">may</span> choose to process the Out-Of-Line XML
3261
Island (even though it can not natively process the vocabulary or Extended Modules
3262
used in the island) using the stylesheet specified by the <span class=
3263
"Attribute">fallback-style</span> attribute's value which <span class=
3264
"RFC">must</span> contain a reference to the <span class="Attribute">id</span> of
3265
the <span class="Element">item</span> containing an <span class=
3266
"Attribute">href</span> to the stylesheet desired for the island.
3270
Both <span class="Attribute">fallback</span> and <span class=
3271
"Attribute">fallback-style</span> attributes <span class="RFC">may</span> be
3272
specified, in which case the Reading System <span class="RFC">may</span> choose to
3273
either follow the fallback chain or to process the Out-Of-Line XML Island with the
3274
supplied CSS stylesheet.
3278
An Out-Of-Line XML Island authored in a Preferred Vocabulary by definition
3279
incorporates the use of Extended Modules. In this case, and with non-Preferred
3280
Vocabulary islands utilizing Extended Modules, the <span class=
3281
"Attribute">required-modules</span> attribute <span class="RFC">must</span> be
3282
present along with the <span class="Attribute">required-namespace</span> attribute.
3286
The attribute value for <span class="Attribute">required-modules</span>
3287
<span class="RFC">must</span> be a comma-separated list containing the name(s) of
3288
the Extended Modules used in the Out-of-Line XML Island. The names of the modules
3289
are not case-sensitive, unless specifically defined otherwise in the XML vocabulary
3290
specification. Spaces in module names <span class="RFC">must</span> be replaced
3291
with "-" for listing in the <span class="Attribute">required-modules</span>
3292
attribute value. For XHTML, in the context of OPS, the Extended Modules include
3293
<span class="AttributeValue">ruby</span>, <span class=
3294
"AttributeValue">forms</span>, <span class=
3295
"AttributeValue">server-side-image-map</span>, and <span class=
3296
"AttributeValue">intrinsic-events</span>.
3300
Note that listing the names of non-Extended Modules in a <span class=
3301
"Attribute">required-modules</span> attribute value is also allowed; such modules
3302
are always considered to be supported if the XML vocabulary is supported. This can
3303
be useful both for clarity and in the case where there is a possibility that some
3304
modules could become <span class="RFC">optional</span> in the later revisions of
3305
the specification (e.g. the currently deprecated Style Attribute XHTML module in
3310
It is allowed, and sometimes useful, to provide a <span class=
3311
"Attribute">required-modules</span> attribute on an item specifying a non-Preferred
3312
Vocabulary Out-Of-Line XML Island — either for clarity or to specify Extended
3313
Modules needed from the non-Preferred Vocabulary.
3317
Most importantly, a Reading System that can natively process the non-Preferred
3318
Vocabulary (or Extended Modules) used for an Out-Of-Line XML Island <span class=
3319
"RFC">may</span> choose to use its integral understanding to natively process the
3320
document. However, fallback information <span class="RFC">must</span> be provided
3321
for Reading Systems that do not have such native processing ability.
3328
<pre class="Example">
3332
media-type="text/happy+xml"
3333
required-namespace="http://happy.com/ns/happy1/"
3334
fallback="item2" />
3336
href="Doc1.less-hpy"
3337
media-type="text/less-happy+xml"
3338
required-namespace="http://happy.com/ns/happy2/"
3340
fallback-style="css1" />
3341
<item id="item2.5"
3343
media-type="application/xhtml+xml"
3344
required-namespace="http://www.w3.org/1999/xhtml"
3345
required-modules="ruby, server-side-image-map"
3346
fallback="item3" />
3349
media-type="application/x-dtbook+xml" />
3352
media-type="text/happy+xml"
3353
required-namespace="http://happy.com/ns/happy1/"
3354
fallback-style="css1" />
3357
media-type="text/css" />
3361
In the above example when processing <span class="AttributeValue">item1</span>, a
3362
Reading System could choose to render <span class="AttributeValue">item1</span>
3363
natively, <span class="AttributeValue">item2</span> natively, <span class=
3364
"AttributeValue">item2</span> with only styling from <span class=
3365
"AttributeValue">css1</span>, <span class="AttributeValue">item2.5</span> natively
3366
(assuming the Ruby and Server Side Image Map XHTML Extended Modules are supported
3367
by the Reading System), or <span class="AttributeValue">item3</span> natively. When
3368
processing <span class="AttributeValue">item4</span>, a Reading System could choose
3369
to render <span class="AttributeValue">item4</span> natively or <span class=
3370
"AttributeValue">item4</span> with only styling from <span class=
3371
"AttributeValue">css1</span>.
3375
Inclusion of the <span class="Attribute">required-namespace</span> attribute is
3376
<span class="RFC">not required</span> in <span class="Element">item</span> elements
3377
referring to XML documents authored in Preferred Vocabularies unless Extended
3378
Modules are used, in which case both <span class=
3379
"Attribute">required-namespace</span> and <span class=
3380
"Attribute">required-modules</span> attributes <span class="RFC">must</span> be
3387
<div class="Section">
3388
<h2 class="SubsectionTitle">
3389
<a class="SectionTitle"
3392
name="Section2.4">2.4: Spine</a>
3396
<del>Following the <span class="Element">manifest</span>, there <span class=
3397
"RFC">must</span> be one <span class="Element">spine</span> element, which defines the
3398
primary linear reading order of the publication. It specifies an ordered list of one or
3399
more OPS Content Documents drawn from the <span class="Element">manifest</span>, using
3400
<span class="Element">itemref</span> elements contained within the <span class=
3401
"Element">spine</span> element.</del>
3405
<del>A publication <span class="RFC">must</span> specify exactly one <span class=
3406
"Element">spine</span>. Reading Systems <span class="RFC">must</span> treat the file
3407
named in the first <span class="Element">itemref</span> element within the <span class=
3408
"Element">spine</span> as the first file to be rendered in the reading of the
3409
publication. The successive files named in successive <span class=
3410
"Element">itemref</span> elements are those that are to be rendered using "next-page"
3411
style functionality that could be available in the Reading System.</del>
3415
<del>The <span class="Element">spine</span> <span class="RFC">must</span> refer only to
3416
<span class="Element">item</span> elements with media types of <span class=
3417
"MIMEType">application/xhtml+xml</span>, <span class=
3418
"MIMEType">application/x-dtbook+xml</span>, the deprecated <span class=
3419
"MIMEType">text/x-eob1-document</span>, or an Out-Of-Line XML Island (with <span class=
3420
"RFC">required</span> <span class="Attribute">fallback</span>). Content with other
3421
media types <span class="RFC">may</span> be referenced via OPS Content Documents, which
3422
<span class="RFC">should</span> provide text alternates and other information to
3423
enhance accessibility as appropriate.</del>
3427
<del>The <span class="Element">spine</span> need not include references to every one of
3428
the <span class="Element">manifest</span>’s <span class="Element">item</span> elements
3429
that reference OPS Content Documents, because there are means other than the
3430
<span class="Element">spine</span> for accessing documents in the publication. For
3431
example, hypertext links <span class="RFC">may</span> provide access to documents not
3432
in the <span class="Element">spine</span>, as <span class="RFC">may</span> tours and
3433
guides (see below).</del>
3437
<del>For example:</del>
3440
<pre class="Example">
3444
href="contents.html"
3445
media-type="application/html+xml" />
3448
media-type="application/html+xml" />
3451
media-type="application/x-dtbook+xml" />
3454
media-type="application/html+xml" />
3455
<item id="f1" href="fig1.jpg" media-type="image/jpeg" />
3456
<item id="f2" href="fig2.jpg" media-type="image/jpeg" />
3457
<item id="f3" href="fig3.jpg" media-type="image/jpeg" />
3458
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml" />
3460
<spine toc="ncx">
3461
<itemref idref="toc" />
3462
<itemref idref="c1" />
3463
<itemref idref="c2" />
3464
<itemref idref="c3" />
3469
<del>In the above example, suppose the document referenced by <span class=
3470
"Attribute">id</span> <span class="AttributeValue">c1</span> is being viewed by a
3471
reader. When the end of the document is reached, the next document in linear order
3472
would be the document referenced by <span class="Attribute">id</span> <span class=
3473
"AttributeValue">c2</span>.</del>
3477
<del>The NCX section below specifies the requirements for the navigation control file
3478
and the <span class="Element">spine</span> <span class="Attribute">toc</span>
3483
<del>Content is considered reachable if it is referenced directly or indirectly through
3484
hyperlinks or navigation structure (NCX). Referencing content through <span class=
3485
"Element">img</span> or <span class="Element">object</span> elements does not make an
3486
item reachable. All content reachable in the publication <span class="RFC">must</span>
3487
be referenced with <span class="Element">itemref</span> elements.</del>
3491
<del>Each <span class="Element">item</span> <span class="RFC">must</span> only be
3492
referenced by a single element (<span class="Element">itemref</span>). Content
3493
referenced by an <span class="Element">itemref</span> element that omits the
3494
<span class="RFC">optional</span> <span class="Attribute">linear</span> attribute (or
3495
provides the <span class="Attribute">linear</span> attribute with a value of
3496
<span class="AttributeValue">yes</span>) is called primary content. Content referenced
3497
by an <span class="Element">itemref</span> element that includes the optional
3498
<span class="Attribute">linear</span> attribute with a value of <span class=
3499
"AttributeValue">no</span> is referred to as auxiliary content.</del>
3503
<del>Reading Systems <span class="RFC">must</span> display all primary (and optionally
3504
auxiliary) content items in a way that allows linear (forward and backward) navigation
3505
through all the items in the order in which they are listed in the <span class=
3506
"Element">spine</span>. The decision on whether to include auxiliary content in the
3507
linear navigation order <span class="RFC">should</span> be based on the Reading System
3508
design and device capabilities. This specification neither encourages nor discourages
3509
such inclusion. Reading Systems <span class="RFC">must</span> display in some fashion
3510
all auxiliary content items if such items can be reached through hyperlinks, even if
3511
the auxiliary content items are not included in the linear navigation order.</del>
3515
<del>For example:</del>
3518
<pre class="Example">
3520
<spine toc="ncx">
3521
<itemref idref="intro" />
3522
<itemref idref="chapter1" />
3523
<itemref idref="chapter1_answerkey" linear="no" />
3524
<itemref idref="chapter2" />
3525
<itemref idref="chapter2_answerkey" linear="no" />
3526
<itemref idref="conclusion" />
3527
<itemref idref="about_this_book" linear="no" />
3532
<del>Note that this design (the addition of the <span class="Attribute">linear</span>
3533
attribute) is backward compatible with OEBPS 1.2, assuming that the OEBPS 1.2 Reading
3534
System ignores unknown attributes.</del>
3538
<ins>Following <span class="Element">manifest</span>, there <span class=
3539
"RFC">must</span> be one and only one <span class="Element">spine</span> element, which
3540
contains one or more <span class="Element">itemref</span> elements. Each <span class=
3541
"Element">itemref</span> references an OPS Content Document designated in the
3542
<span class="Element">manifest</span>. The order of the <span class=
3543
"Element">itemref</span> elements organizes the associated OPS Content Documents into
3544
the linear reading order of the publication.</ins>
3548
<ins>Each <span class="Element">itemref</span> in <span class="Element">spine</span>
3549
<span class="RFC">must not</span> reference media types other than OPS Content
3550
Documents (or documents whose fallback chain includes an OPS Content Document). An OPS
3551
Content Document <span class="RFC">must</span> be of one of the following media types:
3552
<span class="MIMEType">application/xhtml+xml</span>, <span class=
3553
"MIMEType">application/x-dtbook+xml</span>, the deprecated <span class=
3554
"MIMEType">text/x-oeb1-document</span>, and Out-Of-Line XML Island (with <span class=
3555
"RFC">required</span> <span class="Attribute">fallback</span>.) When a document with a
3556
media type not from this list (or a document whose fallback chain doesn't include a
3557
document with a media type from this list) is referenced in <span class=
3558
"Element">spine</span>, Reading Systems <span class="RFC">must not</span> include it as
3559
part of the <span class="Element">spine</span>.</ins>
3563
<ins>As items appearing in the <span class="Element">spine</span> must either be OPS
3564
Content Documents or items with a fallback chain that includes an OPS Content, it is
3565
possible to have a fallback chain for a <span class="Element">spine</span> item that
3566
"falls over" another OPS Core Media type. For example, a <span class=
3567
"Element">spine</span> <span class="Element">itemref</span> could reference a PDF
3568
document, that falls back to a PNG image, that in turn falls back to a OPS XHTML
3569
Content Document. It is valid for this item to appear in the <span class=
3570
"Element">spine</span> because the fallback chain includes (in this case terminates
3571
with) an OPS Content Document.</ins>
3575
<ins>In addition, a specific <span class="Element">spine</span> item (from the
3576
perspective of its <span class="Attribute">id</span> attribute value in <span class=
3577
"Element">manifest</span>) must not appear more than once in <span class=
3578
"Element">spine</span>.</ins>
3582
<ins>All OPS Content Documents that are part of the publication (i.e. are listed in the
3583
manifest) which are potentially reachable by any reference mechanism allowed in this
3584
specification <span class="RFC">must</span> be included in the <span class=
3585
"Element">spine</span>. Such reference mechanisms include, as a partial list, hypertext
3586
links within OPS Content Documents, and references by the NCX, Tours and Guide.</ins>
3590
<ins>Should a Reading System encounter, by such reference, an OPS Content Document not
3591
listed in <span class="Element">spine</span> as required in this specification, the
3592
Reading System <span class="RFC">should</span> add it to <span class=
3593
"Element">spine</span> (the placement at the discretion of the Reading System) and
3594
assign the value of the <span class="Attribute">linear</span> attribute to <span class=
3595
"AttributeValue">no</span> (see next.)</ins>
3599
<ins>For each <span class="Element">itemref</span>, the publication author <span class=
3600
"RFC">may</span> specify the optional <span class="Attribute">linear</span> attribute
3601
to designate whether the associated OPS Content Document is primary (<span class=
3602
"Attribute">linear="yes"</span>, which is the default when <span class=
3603
"Attribute">linear</span> is not present) or auxiliary (<span class=
3604
"Attribute">linear="no"</span>.) It is important that the publication author include
3605
some kind of internal reference, such as a hypertext link, to any OPS Content Document
3606
that is declared to be auxiliary; it is <span class="RFC">recommended</span> that
3607
references be added to NCX for all auxiliary content. At least one <span class=
3608
"Element">itemref</span> in <span class="Element">spine</span> <span class=
3609
"RFC">must</span> be declared primary.</ins>
3613
<ins>Specifying whether an OPS Content Document is primary or auxiliary is useful for
3614
Reading Systems which opt to present auxiliary content differently than primary
3615
content. For example, a Reading System might opt to render auxiliary content in a popup
3616
window apart from the main window which presents the primary content. (For an example
3617
of the types of content that may be considered auxiliary, refer to the example below
3618
and the subsequent discussion.)</ins>
3622
<ins>Reading Systems are <span class="RFC">not required</span> to differentiate between
3623
primary and auxiliary content, and for the requirements and recommendations given in
3624
this section <span class="RFC">may</span> consider all OPS Content Documents in
3625
<span class="Element">spine</span> to be primary, regardless of the value of the
3626
<span class="Attribute">linear</span> attribute.</ins>
3630
<ins>The <span class="Attribute">linear</span> attribute also maintains compatibility
3631
with OEBPS 1.x, where not all reachable OEBPS content documents were required to be
3632
listed in the <span class="Element">spine</span>. For upgrading an OEBPS Publication to
3633
OPS, every unlisted, reachable content document in the OEBPS 1.x Publication
3634
<span class="RFC">should</span> be assigned <span class=
3635
"Attribute">linear="no"</span>.</ins>
3639
<ins>Reading Systems are to use the ordered <span class="Element">itemref</span>
3640
information in <span class="Element">spine</span> to present the publication during
3641
reading. Reading Systems <span class="RFC">must</span> recognize the first primary OPS
3642
Content Document in <span class="Element">spine</span> to be the beginning of the main
3643
reading order of the publication. Successive primary OPS Content Documents form the
3644
remainder of the main reading order in the same order given in <span class=
3645
"Element">spine</span>. Reading Systems <span class="RFC">may</span> use "next-page"
3646
style functionality when moving from one primary OPS Content Document to the next
3647
primary one in <span class="Element">spine</span>.</ins>
3651
<ins>The <span class="Element">spine</span> element <span class="RFC">must</span>
3652
include the <span class="Attribute">toc</span> attribute, whose value is the the
3653
<span class="Attribute">id</span> attribute value of the <span class=
3654
"RFC">required</span> NCX document declared in <span class="Element">manifest</span>
3655
(see Section 2.4.1.)</ins>
3659
<ins>Example illustrating <span class="Element">spine</span> and the optional
3660
<span class="Attribute">linear</span> attribute:</ins>
3663
<pre class="Example">
3664
<ins><manifest>
3667
media-type="application/xhtml+xml" />
3670
media-type="application/xhtml+xml" />
3671
<item id="c1-answerkey"
3672
href="chap1-answerkey.html"
3673
media-type="application/xhtml+xml" />
3676
media-type="application/x-dtbook+xml" />
3677
<item id="c2-answerkey"
3678
href="chap2-answerkey.html"
3679
media-type="application/xhtml+xml" />
3682
media-type="application/xhtml+xml" />
3683
<item id="c3-answerkey"
3684
href="chap3-answerkey.html"
3685
media-type="application/xhtml+xml" />
3688
media-type="application/xhtml+xml" />
3691
media-type="image/jpeg" />
3694
media-type="image/jpeg" />
3697
media-type="image/jpeg" />
3700
media-type="application/x-dtbncx+xml" />
3702
<spine toc="ncx">
3703
<itemref idref="intro" />
3704
<itemref idref="c1" />
3705
<itemref idref="c1-answerkey" linear="no" />
3706
<itemref idref="c2" />
3707
<itemref idref="c2-answerkey" linear="no" />
3708
<itemref idref="c3" />
3709
<itemref idref="c3-answerkey" linear="no" />
3710
<itemref idref="note" linear="no" />
3711
</spine></ins>
3714
<ins>In the above example, the publication author set <span class=
3715
"Attribute">linear="no"</span> on four of the eight OPS Content Documents listed in
3716
<span class="Element">spine</span>, designating these content documents to be
3717
auxiliary. Three of the four are "answer keys," and the fourth is a note of some sort;
3718
all four are auxiliary to the main flow of the book and may be viewed separately from
3719
the main flow.</ins>
3723
<ins>Reading Systems which recognize and render auxiliary content separate from primary
3724
content will set the main reading order to be the four primary OPS Content Documents:
3725
<span class="AttributeValue">intro</span>, <span class="AttributeValue">c1</span>,
3726
<span class="AttributeValue">c2</span> and <span class="AttributeValue">c3</span>. The
3727
auxiliary content documents will be rendered by such Reading Systems, upon activation
3728
(such as through a hypertext link or entry in NCX), in some manner distinct from the
3729
main reading order. It is important that the publication author provide the necessary
3730
references to the auxiliary content documents, otherwise this content might not be
3731
reachable in some auxiliary-aware Reading Systems.</ins>
3735
<ins>Reading Systems which opt to ignore <span class="Attribute">linear="no"</span> and
3736
set all <span class="Element">itemref</span> to be primary, as allowed in this
3737
specification, will assign all eight OPS Content Documents to the main reading order in
3738
the order given. This is especially useful for Reading Systems which provide print
3739
output, where it is important that all the information in the OPS Content Documents be
3740
printed in an author-determined linear order.</ins>
3744
<ins>A Reading System <span class="RFC">may</span>, at its discretion, provide both
3745
rendering options to the user.</ins>
3748
<div class="Section">
3749
<h3 class="SubsubsectionTitle">
3750
<a class="SectionTitle"
3753
name="Section2.4.1">2.4.1: Declarative Table of Contents — the NCX</a>
3757
In order to enable ease of navigation and provide greater accessibility, the OPF
3758
Package Document supports a "Navigation Center eXtended," the NCX. This is a concept
3759
and implementation that has been standardized by the DAISY Consortium.
3763
This specification uses the NCX defined in the DAISY/NISO Standard, formally the
3764
<span class="FormalName">ANSI/NISO Z39.86-2005, Specifications for the Digital
3765
Talking Book</span>. The NCX is a portion (Section 8) of this comprehensive
3766
multimedia standard. The DAISY Consortium maintains the NCX DTD. No modifications to
3767
the DTD are necessary for use with OPF. In the future the DAISY/NISO Advisory
3768
Committee will consider modularizing the NCX and changing terminology to be more in
3769
line with ebooks, multimedia publications and other electronic document usage.
3773
Some <span class="RFC">optional</span> elements and metadata items are not needed to
3774
implement the NCX for this specification. The sections below have been changed to
3775
normatively reference the DAISY/NISO standard for the NCX rather than duplicating it
3776
here. All "exceptions" are described in <a href="#Section2.4.2"
3777
title="NCX Exceptions in Usage for eBooks">Section 2.4.2</a>, below.
3780
<div class="Section">
3781
<h4 class="SubsubsubsectionTitle">
3782
<a class="SectionTitle"
3785
name="Section2.4.1.1">2.4.1.1: Introduction</a>
3789
The Navigation Control file for XML applications (NCX) exposes the hierarchical
3790
structure of a Publication to allow the user to navigate through it. The NCX is
3791
similar to a table of contents in that it enables the reader to jump directly to
3792
any of the major structural elements of the document, i.e. part, chapter, or
3793
section, but it will often contain more elements of the document than the publisher
3794
chooses to include in the original print table of contents. It can be visualized as
3795
a collapsible tree familiar to PC users. Its development was motivated by the need
3796
to provide quick access to the main structural elements of a document without the
3797
need to parse the entire documents. Other elements such as pages, footnotes,
3798
figures, tables, etc. can be included in separate, nonhierarchical lists and can be
3799
accessed by the user as well.
3803
It is important to emphasize that these navigation features are intended as a
3804
convenience for users who want them, and not a burden to those who do not. The
3805
alternative <span class="Element">guide</span> to the book may be provided for
3806
those users not requiring the navigation features of the NCX.
3810
<div class="Section">
3811
<h4 class="SubsubsubsectionTitle">
3812
<a class="SectionTitle"
3815
name="Section2.4.1.2">2.4.1.2: Key NCX Requirements</a>
3819
Reading Systems <span class="RFC">must</span> support NCX.
3823
<del>Publications containing only XHTML OPS Content Documents <span class=
3824
"RFC">should</span> include an NCX (this "<span class="RFC">should</span>" could
3825
transition to a "<span class="RFC">must</span>" in future versions of this
3826
specification).</del>
3830
<ins>OPS</ins> Publications <del>containing DTBook or Out-of-Line XML Island OPS
3831
Content Documents</del> <span class="RFC">must</span> include an NCX.
3835
Like all other Publication components, the NCX <span class="RFC">must</span> be
3836
included as an <span class="Element">item</span> in the <span class=
3837
"Element">manifest</span> (with <span class="Attribute">media-type</span> of
3838
<span class="MIMEType">application/x-dtbncx+xml</span>). The NCX-referencing
3839
<span class="Element">item</span> <span class="RFC">must not</span> contain any
3840
fallback information (<span class="Attribute">required-namespace</span>,
3841
<span class="Attribute">fallback</span> or <span class=
3842
"Attribute">fallback-style</span> attributes).
3846
If a Publication includes an NCX, the <span class="Element">item</span> that
3847
describes the NCX <span class="RFC">must</span> be referenced by the <span class=
3848
"Element">spine</span> <span class="Attribute">toc</span> attribute.
3852
The NCX file <span class="RFC">must</span> be a valid XML document conforming to
3853
<a href="http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"
3855
title="The NCX Document Type Definition."><span class=
3856
"File">ncx-2005-1.dtd</span></a> and comply with the additional normative
3857
requirements defined in <a href=
3858
"http://www.niso.org/standards/resources/Z39-86-2005.html"
3861
"The DTB specification.">http://www.niso.org/standards/resources/Z39-86-2005.html</a>.
3862
The <span class="Attribute">version</span> and <span class=
3863
"Element">xmlns</span> attributes on the <span class="Element">ncx</span>
3864
element <span class="RFC">must</span> be explicitly specified in the document
3865
instance, using values drawn from the above-named DTD.
3870
<div class="Section">
3871
<h3 class="SubsubsectionTitle">
3872
<a class="SectionTitle"
3875
name="Section2.4.2">2.4.2: NCX Exceptions in Usage for Publications</a>
3879
The NCX as defined in the ANSI/NISO Z39.86-2005 Standard Section 8 is ideal for OPS
3880
applications, however, some exceptions are noted herein. In the standard, the links
3881
from the NCX to the Publication point to SMIL <ins>(<a href=
3882
"http://www.w3.org/TR/2005/REC-SMIL2-20050107/"
3885
"The SMIL specification.">http://www.w3.org/TR/2005/REC-SMIL2-20050107/</a>)</ins>
3886
documents. For OPS Publications, the links will point to an XML elements in the
3887
source OPS Content Document. This difference causes the following exceptions to be
3888
noted from Section 8 in that standard:
3893
<span class="Element">smilCustomTest</span> is not used in the OPF application of
3898
<span class="Element">audio</span> is not used in the OPS application of the NCX;
3902
<span class="Attribute">clipBegin</span> (<span class=
3903
"Attribute">%SMILtimeVal</span>, <span class="Attribute">REQUIRED</span>): is used
3904
for identifying the start of an audio segment, and hence not used in the OPF
3905
application of the NCX;
3909
<span class="Attribute">clipEnd</span> (<span class=
3910
"Attribute">%SMILtimeVal</span>, <span class="Attribute">REQUIRED</span>): is used
3911
for identifying the end of an audio segment, and hence not used in the OPF
3912
application of the NCX;
3916
<span class="Attribute">content</span> Description: Pointer into SMIL file to
3917
beginning of the item referenced by the <span class="Element">navPoint</span> or
3918
<span class="Element">navTarget</span>. Note: In the OPF application of the NCX the
3919
pointer is to an XML element and not a SMIL location.
3922
<li>DTBs Spanning Multiple Media Units are not relevant in the Publication context
3923
because OPS Publications are significantly smaller than multimedia files.
3926
<li>Examples show links to SMIL files, but in the OPF application of NCX the links
3927
will be to XML elements. Also, the examples show <span class="Element">audio</span>
3928
references with <span class="Attribute">clipBegin</span> and <span class="Attribute">
3929
clipEnd</span>, which are not used in the OPF application of the NCX.
3933
<ins>The required NCX metadata items "dtb:totalPageCount" and "dtb:maxPageNumber"
3934
may not be relevant when content is not related to a rendition with "paper pages".
3935
In this case, their values <span class="RFC">may</span> be specified as zero and
3936
the Reading System <span class="RFC">may</span> ignore them.</ins>
3940
<ins><span class="Attribute">playOrder</span> attributes remain required. Although
3941
<span class="Attribute">playOrder</span> attributes are not used to sequence SMIL
3942
content, they <span class="RFC">should</span> contain valid values that reflect the
3943
linear document reading order. This could, for example, be used when one is
3944
navigating a <span class="Element">pageList</span> to find a corresponding location
3945
in the <span class="Element">navMap</span>.</ins>
3950
<div class="Section">
3951
<h3 class="SubsubsectionTitle">
3952
<a class="SectionTitle"
3955
name="Section2.4.3">2.4.3: XML Islands in the Spine</a>
3959
<a href="http://www.idpf.org/ops/ops2.0/download/OPS2.0.html#Section2.6"
3961
title="XML Islands">XML Islands</a> <span class="RFC">may</span> be referenced
3962
from the spine. In the event that a Reading System cannot display the XML Island
3963
correctly, then the standard fallback methodology defined in the <a href=
3964
"http://www.idpf.org/ops/ops2.0/download/"
3966
title="Open Publication Structre">Open Publication Structure</a> <span class=
3967
"RFC">must</span> be used.
3971
In short, the Reading System <span class="RFC">must</span> display the chosen
3972
<span class="Attribute">fallback</span> for an XML Island in the event that the
3973
island itself cannot be displayed.
3978
<div class="Section">
3979
<h2 class="SubsectionTitle">
3980
<a class="SectionTitle"
3983
name="Section2.5">2.5: Tours [Deprecated]</a>
3987
Much as a tour-guide might assemble points of interest into a set of sightseers' tours,
3988
a content provider could assemble selected parts of a publication into a set of tours
3989
to enable convenient navigation.
3993
An OPS Package Document <span class="RFC">may</span>, but need not, contain one
3994
<span class="Element">tours</span> element, which in turn contains one or more
3995
<span class="Element">tour</span> elements. Each <span class="Element">tour</span>
3996
<span class="RFC">must</span> have a <span class="Attribute">title</span> attribute,
3997
intended for presentation to the user. Reading Systems <span class="RFC">may</span> use
3998
<span class="Element">tours</span> to provide various access sequences to parts of the
3999
publication, such as selective views for various reading purposes, reader expertise
4000
levels, etc. Because Reading Systems are <span class="RFC">not required</span> to
4001
implement tour support, content providers <span class="RFC">should</span> also provide
4002
other means of accessing content referenced from <span class="Element">tours</span>.
4006
Each <span class="Element">tour</span> element contains one or more <span class=
4007
"Element">site</span> elements, each of which <span class="RFC">must</span> have an
4008
<span class="Attribute">href</span> attribute and a <span class=
4009
"Attribute">title</span> attribute. The <span class="Attribute">href</span> attribute
4010
<span class="RFC">must</span> refer to an OPS Content Document included in the
4011
<span class="Element">manifest</span>, and <span class="RFC">may</span> include a
4012
fragment identifier as defined in section 4.1 of RFC 2396 (see <a href=
4013
"http://www.ietf.org/rfc/rfc2396.txt"
4015
title="The URI RFC.">http://www.ietf.org/rfc/rfc2396.txt</a>). Each <span class=
4016
"Element">site</span> element specifies a starting point from which the reader can
4017
explore freely. Reading Systems <span class="RFC">may</span> use the bounds of the
4018
referenced element to determine the scope of the site. If a fragment identifier is
4019
not used, the scope is considered to be the entire document. This specification does
4020
<span class="RFC">not require</span> Reading Systems to mark or otherwise identify
4021
the entire scope of a referenced element. The order of <span class=
4022
"Element">site</span> elements is presumed to be significant, and <span class=
4023
"RFC">should</span> be used by Reading Systems to aid navigation.
4030
<pre class="Example">
4032
<tour id="tour1" title="Chicken Recipes">
4033
<site title="Chicken Fingers"
4034
href="appetizers.html#r3" />
4035
<site title="Chicken a la King"
4036
href="entrees.html#r5" />
4038
<tour id="tour2" title="Vegan Recipes">
4039
<site title="Hummus" href ="appetizer.html#r6" />
4040
<site title="Lentil Casserole" href="lentils.html" />
4046
<div class="Section">
4047
<h2 class="SubsectionTitle">
4048
<a class="SectionTitle"
4051
name="Section2.6">2.6: Guide</a>
4055
Within the package there <span class="RFC">may</span> be one <span class=
4056
"Element">guide</span> element, containing one or more <span class=
4057
"Element">reference</span> elements. The <span class="Element">guide</span> element
4058
identifies fundamental structural components of the publication, to enable Reading
4059
Systems to provide convenient access to them.
4066
<pre class="Example">
4068
<reference type="toc" title="Table of Contents"
4069
href="toc.html" />
4070
<reference type="loi" title="List Of Illustrations"
4071
href="toc.html#figures" />
4072
<reference type="other.intro" title="Introduction"
4073
href="intro.html" />
4077
The structural components of the books are listed in <span class=
4078
"Element">reference</span> elements contained within the <span class=
4079
"Element">guide</span> element. These components could refer to the table of contents,
4080
list of illustrations, foreword, bibliography, and many other standard parts of the
4081
book. Reading Systems are <span class="RFC">not required</span> to use the <span class=
4082
"Element">guide</span> element in any way.
4086
Each reference <span class="RFC">must</span> have an <span class=
4087
"Attribute">href</span> attribute referring to an OPS Content Document included in the
4088
<span class="Element">manifest</span>, and which <span class="RFC">may</span> include a
4089
fragment identifier as defined in section 4.1 of RFC 2396 (see h<a href=
4090
"ttp://www.ietf.org/rfc/rfc2396.txt"
4092
title="The URI RFC.">ttp://www.ietf.org/rfc/rfc2396.txt</a>). Reading Systems
4093
<span class="RFC">may</span> use the bounds of the referenced element to determine
4094
the scope of the reference. If a fragment identifier is not used, the scope is
4095
considered to be the entire document. This specification does <span class="RFC">not
4096
require</span> Reading Systems to mark or otherwise identify the entire scope of a
4101
The <span class="RFC">required</span> <span class="Attribute">type</span> attribute
4102
describes the publication component referenced by the <span class=
4103
"Attribute">href</span> attribute. The values for the <span class=
4104
"Attribute">type</span> attributes <span class="RFC">must</span> be selected from the
4105
list defined below when applicable. Other types <span class="RFC">may</span> be used
4106
when none of the predefined <span class="Element">type</span>s are applicable; their
4107
names <span class="RFC">must</span> begin with the string <span class=
4108
"AttributeValue">other.</span>. The value for the <span class="Attribute">type</span>
4109
attribute is case-sensitive.
4113
The following list of <span class="Attribute">type</span> values is derived from the
4114
13th edition of the Chicago Manual of Style:
4117
<table summary="Guide Refernece Types">
4119
<td class="MarcName">
4122
<td class="MarcValue">
4123
the book cover(s), jacket information, etc.
4128
<td class="MarcName">
4131
<td class="MarcValue">
4132
page with possibly title, author, publisher, and other metadata
4137
<td class="MarcName">
4140
<td class="MarcValue">
4146
<td class="MarcName">
4149
<td class="MarcValue">
4150
back-of-book style index
4155
<td class="MarcName">
4158
<td class="MarcValue">
4163
<td class="MarcName">
4166
<td class="MarcValue">
4171
<td class="MarcName">
4174
<td class="MarcValue">
4179
<td class="MarcName">
4182
<td class="MarcValue">
4187
<td class="MarcName">
4190
<td class="MarcValue">
4195
<td class="MarcName">
4198
<td class="MarcValue">
4203
<td class="MarcName">
4206
<td class="MarcValue">
4211
<td class="MarcName">
4214
<td class="MarcValue">
4219
<td class="MarcName">
4222
<td class="MarcValue">
4223
list of illustrations
4228
<td class="MarcName">
4231
<td class="MarcValue">
4237
<td class="MarcName">
4240
<td class="MarcValue">
4245
<td class="MarcName">
4248
<td class="MarcValue">
4253
<td class="MarcName">
4256
<td class="MarcValue">
4257
First "real" page of content (e.g. "Chapter 1")
4265
<div class="BackMatter">
4266
<h1 class="AppendixTitle">
4270
<div class="Section">
4271
<h2 class="SectionTitle">
4272
<a class="SectionTitle"
4273
href="#AppendixTOCA"
4275
name="AppendixA">Appendix A: The OPF Package Schema</a>
4282
<pre class="Example">
4283
<?xml version="1.0"?>
4284
<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.idpf.org/2007/opf"
4285
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4289
Relax NG Schema for the Open Packaging
4290
Format (OPF) version 2.0
4300
Peter Sorotokin <psorotok@adobe.com>
4304
<ref name="OPF20.package-element"/>
4307
<define name="OPF20.optional-id-attribute">
4309
<attribute name="id">
4310
<data type="ID"/>
4315
<define name="OPF20.optional-xml-lang-attribute">
4317
<attribute name="lang" ns="http://www.w3.org/XML/1998/namespace">
4323
<define name="OPF20.optional-file-as-attribute">
4325
<attribute name="file-as" ns="http://www.idpf.org/2007/opf">
4331
<define name="OPF20.optional-role-attribute">
4333
<attribute name="role" ns="http://www.idpf.org/2007/opf">
4339
<define name="OPF20.optional-scheme-attribute">
4341
<attribute name="scheme" ns="http://www.idpf.org/2007/opf">
4347
<define name="OPF20.optional-event-attribute">
4349
<attribute name="event" ns="http://www.idpf.org/2007/opf">
4355
<define name="OPF20.optional-xsi-type">
4357
<attribute name="type" ns="http://www.w3.org/2001/XMLSchema-instance">
4363
<define name="OPF20.package-element">
4364
<element name="package">
4365
<attribute name="version">
4366
<value>2.0</value>
4368
<attribute name="unique-identifier">
4369
<data type="IDREF"/>
4371
<ref name="OPF20.optional-id-attribute"/>
4372
<ref name="OPF20.package-content"/>
4376
<define name="OPF20.package-content">
4377
<ref name="OPF20.metadata-element"/>
4378
<ref name="OPF20.manifest-element"/>
4379
<ref name="OPF20.spine-element"/>
4381
<ref name="OPF20.tours-element"/>
4384
<ref name="OPF20.guide-element"/>
4388
<define name="OPF20.metadata-element">
4389
<element name="metadata">
4390
<ref name="OPF20.optional-id-attribute"/>
4391
<ref name="OPF20.metadata-content"/>
4395
<define name="OPF20.metadata-content">
4398
<ref name="OPF20.dc-metadata-element"/>
4400
<ref name="OPF20.x-metadata-element"/>
4405
<ref name="DC.title-element"/>
4408
<ref name="DC.language-element"/>
4411
<ref name="DC.identifier-element"/>
4414
<ref name="DC.optional-metadata-element"/>
4417
<ref name="OPF20.meta-element"/>
4420
<ref name="OPF20.any-other-element"/>
4426
<define name="OPF20.dc-metadata-element">
4427
<element name="dc-metadata">
4428
<ref name="OPF20.optional-id-attribute"/>
4429
<ref name="OPF20.dc-metadata-content"/>
4433
<define name="OPF20.dc-metadata-content">
4436
<ref name="DC.title-element"/>
4439
<ref name="DC.language-element"/>
4442
<ref name="DC.identifier-element"/>
4445
<ref name="DC.optional-metadata-element"/>
4450
<define name="DC.identifier-element" ns="http://purl.org/dc/elements/1.1/">
4451
<element name="identifier">
4452
<ins><optional></ins>
4453
<attribute name="id">
4454
<data type="ID"/>
4456
<ins></optional></ins>
4457
<ref name="OPF20.optional-xsi-type"/>
4458
<ref name="OPF20.optional-scheme-attribute"/>
4459
<ref name="DC.metadata-common-content"/>
4463
<define name="DC.title-element" ns="http://purl.org/dc/elements/1.1/">
4464
<element name="title">
4465
<ref name="OPF20.optional-id-attribute"/>
4466
<ref name="OPF20.optional-xml-lang-attribute"/>
4467
<ref name="DC.metadata-common-content"/>
4471
<define name="DC.language-element" ns="http://purl.org/dc/elements/1.1/">
4472
<element name="language">
4473
<ref name="OPF20.optional-id-attribute"/>
4474
<ref name="OPF20.optional-xsi-type"/>
4475
<ref name="DC.metadata-common-content"/>
4479
<define name="DC.optional-metadata-element" ns="http://purl.org/dc/elements/1.1/">
4481
<element name="contributor">
4482
<ref name="OPF20.optional-id-attribute"/>
4483
<ref name="OPF20.optional-xml-lang-attribute"/>
4484
<ref name="OPF20.optional-file-as-attribute"/>
4485
<ref name="OPF20.optional-role-attribute"/>
4486
<ref name="DC.metadata-common-content"/>
4488
<element name="coverage">
4489
<ref name="OPF20.optional-id-attribute"/>
4490
<ref name="OPF20.optional-xml-lang-attribute"/>
4491
<ref name="DC.metadata-common-content"/>
4493
<element name="creator">
4494
<ref name="OPF20.optional-id-attribute"/>
4495
<ref name="OPF20.optional-xml-lang-attribute"/>
4496
<ref name="OPF20.optional-file-as-attribute"/>
4497
<ref name="OPF20.optional-role-attribute"/>
4498
<ref name="DC.metadata-common-content"/>
4500
<element name="date">
4501
<ref name="OPF20.optional-id-attribute"/>
4502
<ref name="OPF20.optional-xsi-type"/>
4503
<ref name="OPF20.optional-event-attribute"/>
4504
<ref name="DC.metadata-common-content"/>
4506
<element name="description">
4507
<ref name="OPF20.optional-id-attribute"/>
4508
<ref name="OPF20.optional-xml-lang-attribute"/>
4509
<ref name="DC.metadata-common-content"/>
4511
<element name="format">
4512
<ref name="OPF20.optional-id-attribute"/>
4513
<ref name="OPF20.optional-xsi-type"/>
4514
<ref name="DC.metadata-common-content"/>
4516
<element name="publisher">
4517
<ref name="OPF20.optional-id-attribute"/>
4518
<ref name="OPF20.optional-xml-lang-attribute"/>
4519
<ref name="DC.metadata-common-content"/>
4521
<element name="relation">
4522
<ref name="OPF20.optional-id-attribute"/>
4523
<ref name="OPF20.optional-xml-lang-attribute"/>
4524
<ref name="DC.metadata-common-content"/>
4526
<element name="rights">
4527
<ref name="OPF20.optional-id-attribute"/>
4528
<ref name="OPF20.optional-xml-lang-attribute"/>
4529
<ref name="DC.metadata-common-content"/>
4531
<element name="source">
4532
<ref name="OPF20.optional-id-attribute"/>
4533
<ref name="OPF20.optional-xml-lang-attribute"/>
4534
<ref name="DC.metadata-common-content"/>
4536
<element name="subject">
4537
<ref name="OPF20.optional-id-attribute"/>
4538
<ref name="OPF20.optional-xml-lang-attribute"/>
4539
<ref name="DC.metadata-common-content"/>
4541
<element name="type">
4542
<ref name="OPF20.optional-id-attribute"/>
4543
<ref name="OPF20.optional-xsi-type"/>
4544
<ref name="DC.metadata-common-content"/>
4549
<define name="DC.metadata-common-content">
4553
<define name="OPF20.x-metadata-element">
4554
<element name="x-metadata">
4555
<ref name="OPF20.optional-id-attribute"/>
4556
<ref name="OPF20.x-metadata-content"/>
4560
<define name="OPF20.x-metadata-content">
4563
<ref name="OPF20.meta-element"/>
4566
<ref name="OPF20.any-other-element"/>
4571
<define name="OPF20.meta-element">
4572
<element name="meta">
4573
<ref name="OPF20.optional-id-attribute"/>
4574
<ref name="OPF20.optional-xml-lang-attribute"/>
4575
<attribute name="name">
4578
<attribute name="content">
4582
<attribute name="<del>schema</del><ins>scheme</ins>">
4586
<ref name="OPF20.meta-content"/>
4590
<define name="OPF20.meta-content">
4594
<define name="OPF20.manifest-element">
4595
<element name="manifest">
4596
<ref name="OPF20.optional-id-attribute"/>
4597
<ref name="OPF20.manifest-content"/>
4601
<define name="OPF20.manifest-content">
4603
<ref name="OPF20.item-element"/>
4607
<define name="OPF20.item-element">
4608
<element name="item">
4609
<attribute name="id">
4610
<data type="ID"/>
4612
<attribute name="href">
4615
<attribute name="media-type">
4619
<attribute name="fallback">
4620
<data type="IDREF"/>
4624
<attribute name="fallback-style">
4625
<data type="IDREF"/>
4629
<attribute name="required-namespace">
4633
<attribute name="required-modules">
4638
<ref name="OPF20.item-content"/>
4642
<define name="OPF20.item-content">
4646
<define name="OPF20.spine-element">
4647
<element name="spine">
4648
<ref name="OPF20.optional-id-attribute"/>
4649
<del><optional></del>
4650
<attribute name="toc">
4651
<data type="IDREF"/>
4653
<del></optional></del>
4654
<ref name="OPF20.spine-content"/>
4658
<define name="OPF20.spine-content">
4660
<ref name="OPF20.itemref-element"/>
4664
<define name="OPF20.itemref-element">
4665
<element name="itemref">
4666
<ref name="OPF20.optional-id-attribute"/>
4667
<attribute name="idref">
4668
<data type="IDREF"/>
4671
<attribute name="linear">
4673
<value>yes</value>
4674
<value>no</value>
4678
<ref name="OPF20.itemref-content"/>
4682
<define name="OPF20.itemref-content">
4686
<define name="OPF20.tours-element">
4687
<element name="tours">
4688
<ref name="OPF20.optional-id-attribute"/>
4689
<ref name="OPF20.tours-content"/>
4693
<define name="OPF20.tours-content">
4695
<ref name="OPF20.tour-element"/>
4699
<define name="OPF20.tour-element">
4700
<element name="tour">
4701
<ref name="OPF20.optional-id-attribute"/>
4702
<attribute name="title">
4705
<ref name="OPF20.tour-content"/>
4709
<define name="OPF20.tour-content">
4711
<ref name="OPF20.site-element"/>
4715
<define name="OPF20.site-element">
4716
<element name="site">
4717
<ref name="OPF20.optional-id-attribute"/>
4718
<attribute name="title">
4721
<attribute name="href">
4724
<ref name="OPF20.site-content"/>
4728
<define name="OPF20.site-content">
4732
<define name="OPF20.guide-element">
4733
<element name="guide">
4734
<ref name="OPF20.optional-id-attribute"/>
4735
<ref name="OPF20.guide-content"/>
4739
<define name="OPF20.guide-content">
4741
<ref name="OPF20.reference-element"/>
4745
<define name="OPF20.reference-element">
4746
<element name="reference">
4747
<ref name="OPF20.optional-id-attribute"/>
4748
<attribute name="type">
4751
<ins><optional></ins>
4752
<attribute name="title">
4755
<ins></optional></ins>
4756
<attribute name="href">
4759
<ref name="OPF20.reference-content"/>
4763
<define name="OPF20.reference-content">
4767
<define name="OPF20.any-other-element">
4771
<nsName ns="http://www.idpf.org/2007/opf"/>
4772
<nsName ns="http://purl.org/dc/elements/1.1/"/>
4781
<ref name="OPF20.any-other-element"/>
4791
<div class="Section">
4792
<h2 class="SectionTitle">
4793
<a class="SectionTitle"
4794
href="#AppendixTOCB"
4796
name="AppendixB">Appendix B: Contributors</a>
4800
This specification has been developed through a cooperative effort, bringing together
4801
publishers, Reading System vendors, software developers, and experts in the relevant
4806
Version 2.0 of this specification was prepared by the International Digital Publishing
4807
Forum (IDPF) Open Publication Publication Structure (OEBPS) Working Group. Members of the
4808
working group at the time of publication of revision 2.0 were:
4811
<ul class="AuthorList">
4812
<li>Angel Ancin, iRex Technologies
4815
<li>Rick Bowes, Thomson Learning
4818
<li>Peter Brantley, Digital Library Federation
4821
<li>Clint Brauer, SONY
4824
<li>Ken Brooks, Thomson Learning
4827
<li>Janice Carter, Benetech
4830
<li>Richard Cohn, Adobe Systems, Inc.
4833
<li>Garth Conboy, Publication Technologies, Inc. (Working Group co-Chair)
4836
<li>Neil De Young, Hachette Book Group
4839
<li>Linh Do, Random House
4842
<li>Brady Duga, Publication Technologies, Inc.
4845
<li>Geoff Freed, WGBH
4848
<li>Markus Gylling, <del>Daisy</del><ins>DAISY</ins> Consortium
4851
<li>Jonathan Hevenstone, Publishing Dimensions (Working Group Vice Chair)
4854
<li>Rick Johnson, VitalSource Technologies
4857
<li>George Kerscher, <del>Daisy</del><ins>DAISY</ins> Consortium
4860
<li>Steve Kotrch, Simon & Schuster
4863
<li>Bill McCoy, Adobe Systems, Inc.
4866
<li>Jon Noring, Digital Pulp Publishing
4869
<li>Siobhan Padgett, Hachette Book Group
4872
<li>Mina Park, Holtzbrinck Publishers
4875
<li>John Rivlin, Publication Technologies, Inc. (Working Group co-Chair)
4878
<li>Tyler Ruse, CodeMantra
4881
<li>Mike Smith, Harlequin
4884
<li>Peter Sorotokin, Adobe Systems, Inc.
4887
<li>Jennifer Sutton, Benetech
4890
<li>Ben Trafford, Invited Expert
4893
<li>Gary Varnell, Osoft
4896
<li>Eli Willner, Green Point Technology Services
4899
<li>Ric Wright, Adobe Systems, Inc.
4904
The prior version of the OPS specification, on which this effort is based, was OEBPS 1.2.
4905
OEBPS 1.2 was developed by the Open Publication Forum Publication Structure Working
4906
Group. Active members that that working group during development of OEBPS 1.2 were:
4909
<ul class="AuthorList">
4910
<li>Jeff Alexander, Franklin Electronic Publishers
4913
<li>Garth Conboy, Gemstar Publication Group Limited (Version 1.2 Co-Editor)
4916
<li>Eva Conkright, Random House
4919
<li>Brady Duga, Gemstar Publication Group Limited (Version 1.2 Co-Editor)
4922
<li>Jerry Dunietz, Microsoft Corporation (Working Group Vice Chair)
4925
<li>David Goldstein, Versaware Inc.
4928
<li>Gene Golovchinsky, FX Palo Alto Laboratory, Inc. (Development Sub-Group Co-Chair)
4931
<li>Donald Goyette, McGraw-Hill
4934
<li>Rebecca Guenther, Library of Congress
4937
<li>Markku Hakkinen, isSound Corporation
4940
<li>Barbara Hammond, Nokia
4943
<li>Benjamin Jung, deepX
4946
<li>George Kerscher, <del>Daisy</del><ins>DAISY</ins> Consortium
4949
<li>Christopher R, Maden, crism consulting
4952
<li>Bob Mathews, Adobe
4955
<li>Michael Moodie, National Library Service for the Blind and Physically Handicapped,
4959
<li>Jon Noring, Windspun Inc. (Maintenance Sub-Group Chair)
4962
<li>David Pawson, Royal National Institute for the Blind
4965
<li>Chris Powell, University of Michigan Library
4968
<li>James Pritchett, Recording for the Blind and Dyslexic
4971
<li>Allen Renear, Brown University Scholarly Technology Group (Working Group Chair)
4974
<li>Dorothea Salo, OverDrive, Inc. (Working Group Scribe)
4977
<li>Ilan Sender, Microsoft Corporation
4980
<li>Sheela Sethuraman, CAST
4983
<li>Roger Sperberg, e-bks, LLC
4986
<li>Patrick Stickler, Nokia
4989
<li>Lisa Rupe, Questia Media Inc.
4992
<li>Mikhail Vaysbukh, Data Conversion Laboratory
4995
<li>Garret Wilson, GlobalMentor, Inc. (Development Sub-Group Co-Chair)
4998
<li>Harrison Yee, Apex
5003
<div class="Section">
5004
<h2 class="SectionTitle">
5005
<a class="SectionTitle"
5006
href="#AppendixTOCC"
5008
name="AppendixC">Appendix C: Acknowledgements</a>
5012
The working group wishes to specifically acknowledge the contributions of the following
5013
individuals. <span class="Emphasis">Peter Sorotokin</span> for authoring the OPS and OPF
5014
RelaxNG schemas, creation of the NVDL definition of OPS, and general technical acumen.
5015
<span class="Emphasis">Ben Trafford</span> for the concept and drafting of XML Islands,
5016
as well as overall technical participation, and the XML templates used to produce the
5017
specifications. <span class="Emphasis">George Kerscher</span> for drafting the OPF NCX
5018
section, providing consistent accessibility direction and broad technical input.
5019
<span class="Emphasis">Brady Duga</span> and <span class="Emphasis">Jon Noring</span> for
5020
directional contributions, specification editing and providing continuity with the
5021
historic OEBPS 1.2 effort. <span class="Emphasis">Garth Conboy</span> for working group
5022
leadership and motivation, specification drafting and technical contributions.
5026
<div class="Section">
5027
<h2 class="SectionTitle">
5028
<a class="SectionTitle"
5029
href="#AppendixTOCD"
5031
name="AppendixD"><ins>Appendix D: Supporting Information & Errata</ins></a>
5035
<ins>For additional information about all IDPF specifications including sample files,
5036
specification implementations and other information, please visit our public forums at
5037
<a href="http://www.idpf.org/forums"
5039
title="IDPF Forums">http://www.idpf.org/forums</a>. If errors in the specifications
5040
are identified following publication, please post these errors to the forums. The
5041
responsible Working Group will review the errors and post pending corrections to the
5042
specifications if required or necessary. Corrections will be incorporated into
5043
subsequent versions of the specifications.</ins>