EPUB3 Specification
EPUB Publication
*Rendition(s)
*Package Document (package)
ATTRIBUTES:
*unique-identifier
The primary identifier for an EPUB Publication, as identified by the unique-identifier attribute. The Unique Identifier can be shared by one or more Renditions of the same EPUB Publication. Significant revision, abridgement, etc. of the content requires a new Unique Identifier.
dir
ltr
Left to Right
rtl
Right to Left
href
absolute / relative url
id
media-type
application/xml
properties
A space-separated list of property values
refines
Identifies the expression or resource augmented by the element.
xml:lang
Specifies the language used in the contents and attribute values of the carrying element and its descendants, as defined in section 2.12 Language Identification of [XML].
en
CONTENT (in this order):
1) metadata
2) manifest
3) spine
4) collection
*metadata
General information about the EPUB Publication allowing titles, authors, identifiers, and other info to be easily accessed.
ATTRIBUTES:
NONE
CONTENT Model (in any order):
*dc:identifier
<dc:identifier id="pub-id">
urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809
</dc:identifier>
*dc:title
*dc:language
OPTIONAL ELEMENTS:
contributor
The [DC11] contributor element is used to represent the name of a person, organization, etc. that played a secondary role in the creation of the content of an EPUB Publication.
coverage
creator
The [DC11] creator element represents the name of a person, organization, etc. responsible for the creation of the content of the Rendition. The role property can be attached to the element to indicate the function the creator played in the creation of the content.
description
date
The date element MUST only be used to define the publication date of the EPUB Publication. The publication date is not the same as the last modified date (the last time the Rendition was changed). It is RECOMMENDED that the date string conform to [ISO8601], particularly the subset expressed in W3C Date and Time Formats [DateTime], as such strings are both human and machine readable.
Only one date element is allowed.
format
publisher
relation
rights
source
subject
The [DC11] subject element identifies the subject of the EPUB Publication. The value of the element SHOULD be the human-readable heading or label, but MAY be the code value if the subject taxonomy does not provide a separate descriptive label.
Authors MAY identify the system or scheme the element's value is drawn from using the authority property.
When a scheme is identified, a subject code MUST be attached using the term property.
type
The [DC11] type element is used to indicate that the given EPUB Publication is of a specialized type (e.g., annotations or a dictionary packaged in EPUB format). An informative registry of specialized EPUB Publication types for use with this element is maintained in the [TypesRegistry], but Authors MAY use any text string as a value.
*meta
<meta
property="dcterms:modified"
>...</meta>
The meta element provides a generic mechanism for including metadata properties from any vocabulary. It is typically used to include rendering metadata defined in EPUB specifications, but MAY be used for any metadata purposes.
ATTRIBUTES:
dir
id
*property
Reserved Options
title-type
term
source-of
role
identifier-type
group-position
file-as
display-seq
collection-type
belongs-to-collection
authority
alternate-script
media:active-class
media:duration
media:narrator
media:playback-active-class
Any non-reserved option
refines
scheme
xml:lang
link
Used to attach complete
bibliographic records, etc
as part of the metadata.
Linked resources are not Publication Resources and MUST NOT be listed in the manifest. A linked resource MAY be embedded in a Publication Resource that is listed in the manifest, however, in which case it MUST be a Core Media Type Resource [EPUB32] (e.g., an EPUB Content Document could contain a metadata record serialized as [RDFA-CORE] or [JSON-LD]).
Core Media Type Resource
image/gif
image/jpeg
image/png
image/svg+xml
audio/mpeg
audio/mp4
text/css
Videos
Fonts
Other
ATTRIBUTES:
*href
id
*media-type
properties
OPTIONS:
onix
The ONIX for Books standard provides a free-to-use format for passing descriptive metadata about books between publishers, data aggregators, book retailers and other interested parties in the publishing industry. Metadata concerning one or more book titles can be stored in a suitably formatted XML file known as an 'ONIX message' ready for dissemination. Whereas other data standards exist for storing the contents of a book - the text, layout and graphics - the ONIX for Books standard holds information about the book, similar to, but more extensive than, the information one would typically find on the cover or title page of a printed book or in a library catalog. The ONIX for Books standard provides a way to communicate information about a book's author, publisher, price, publication date, physical dimensions, synopsis and many other details besides. The standard is quite extensive and most publishers currently provide only a few dozen of the many hundreds of pieces of information that the standard is designed to carry.
xmp
The Extensible Metadata Platform (XMP) is an ISO standard, originally created by Adobe Systems Inc., for the creation, processing and interchange of standardized and custom metadata for digital documents and data sets.
XMP standardizes a data model, a serialization format and core properties for the definition and processing of extensible metadata. It also provides guidelines for embedding XMP information into popular image, video and document file formats, such as JPEG and PDF, without breaking their readability by applications that do not support XMP. Therefore, the non-XMP metadata have to be reconciled with the XMP properties. Although metadata can alternatively be stored in a sidecar file, embedding metadata avoids problems that occur when metadata is stored separately.
refines
*rel
OPTIONS:
acquire
alternate
record
voicing
Namespace:
xmlns:dc="http://purl.org/dc/elements/1.1/";
*manifest
Identifies and describes the set of resources that collectively compose the given Rendition
Manifest Fallback Chains
Are: A mechanism that defines an ordered list of top-level resources as content equivalents. A reading system can then choose between the resources based on which it is capable of rendering.
ATTRIBUTES:
id
CONTENT:
*item
ATTRIBUTES
*fallback
The fallback attribute takes an IDREF [XML] that identifies a fallback for the Publication Resource referenced from the item element. Fallbacks MAY be provided for Core Media Type Resources (e.g., to provide a static alternative to a Scripted Content Document). Fallback requirements for Foreign Resources are defined in Manifest Fallbacks.
*href
*id
media-overlay
*media-type
properties
OPTIONS:
cover-image
*mathml
*nav
*remote-resources
*scripted
*svg
Represents a Publication Resource
Each item element in the manifest identifies a Publication Resource by the IRI [RFC3987] provided in its href attribute. The IRI MAY be absolute or relative. In the case of relative IRIs, Reading Systems MUST use the IRI of the Package Document as the base when resolving these to absolute IRIs. The resulting absolute IRI MUST be unique within the manifest scope.
*spine
Provides an external declarative means to explicitly specify navigation through a collection of documents
IS: An ordered sequence of ID references to top-level resources in the manifest from which all other resources in the set can be reached or utilized. The spine defines the default reading order of the given Rendition.
ATTRIBUTES:
id
page-progression-direction
The page-progression-direction attribute sets the global direction in which the content flows.
ltr
rtl
default
CONTENT:
*itemref
ATTRIBUTES
*idref
id
linear
The linear attribute indicates whether the referenced item contains content that contributes to the primary reading order and has to be read sequentially ("yes") or auxiliary content that enhances or augments the primary content and can be accessed out of sequence ("no"). Examples of auxiliary content include: notes, descriptions and answer keys. An itemref that omits the linear attribute is assumed to have the value "yes".
yes
no
properties
CONTENT:
EMPTY!
Each itemref element MUST reference the ID [XML] of a unique item in the manifest via the IDREF [XML] in its idref attribute (i.e., two or more itemref elements cannot reference the same item). Each referenced manifest item MUST be either a) an EPUB Content Document or b) another type of Publication Resource which, regardless of whether it is a Core Media Type Resource or a Foreign Resource, MUST include an EPUB Content Document in its fallback chain.
collection
Allows grouping of logically-related Publication Resources. Enables the development of specialized content identification, processing and rendering features, such as the ability to define embedded preview content, or assemble an index or dictionary from its constituent XHTML Content Documents.
ATTRIBUTES
*role
dir
id
xml:lang
CONTENT (In this order):
1) metadata [0 or 1]
2) collection [1...N], or
collection [0+] link [1+]
metadata
*collection
collection link
*Navigation Document (nav)
General Info
Replaces the EPUB2 NCX Document
Natively supports embedded grammars (e.g. MathML, SVG, etc)
MUST Conform to:
An XHTML Document (using the HTML nav element) to define human/machine readable navigation information.
It MUST conform to the content conformance constraints specific to EPUB Navigation Documents defined in EPUB Navigation Document Definition.
CONTENT MODEL:
*ol
CONTENT:
*li
CONTENT:
*span or a
An a element MAY be followed by an ol ordered list representing a subsidiary content level below that heading (e.g., all the subsection headings of a section).
A span element MUST be followed by an ol ordered list; it cannot be used in "leaf" li elements.
*ol
ATTRIBUTES
The ol child of the nav element represents the primary level of content navigation.
HTML Heading Content
e.g. h1, h2, ....
ATTRIBUTES
*epub:type
1 of these REQUIRED
landmarks
Identifies the nav element that contains a list of points of interest.
page-list
Identifies the nav element that contains a list of pages for a print or other statically-paginated source for the EPUB Publication.
toc
Identifies the nav element that contains the table of contents. The toc nav is the only navigation aid that has to be included in the EPUB Navigation Document.
hidden
There are three types of EPUB nav elements. Specify which one is being used through the epub:type attribute
OTHER types are OK also.
*Content Documents (a.k.a Publication Resources)
General
XHTML or SVG documents that describe the readable content and reference associated media resources (e.g. images, audio and video clips)
Also supports embedded fonts
Content presentation should adapt to the user preferences
Designed to maximize accessibility for the visually impaired, and Reading Systems typically perform text line layout and pagination on the fly, adapting to the size of the display area, the user's preferred font size, and other environmental factors
An EPUB Content Document MUST NOT be referenced by more than one Media Overlay Document.
Multimedia
video
audio
Text-To-Speech
Pronunciation Lexicons
The inclusion of generic pronunciation lexicons using the W3C PLS format [PRONUNCIATION-LEXICON] enables Authors to provide pronunciation rules that apply to the entire EPUB Publication.
Inline SSML Phonemes
The incorporation of SSML phonemes functionality [SSML] directly into a EPUB Content Document enables fine-grained pronunciation control, taking precedence over default pronunciation rules and/or referenced pronunciation lexicons (as provided by the PLS format mentioned above). Refer to SSML Attributes [ContentDocs32] for more information.
Media Overlay Documents (smil)
When pre-recorded narration is available for a Rendition of an EPUB Publication, Media Overlays provide the ability to synchronize that audio with the text of a Content Document (see also Aural Renditions and Media Overlays).
Style Information
Visual rendering information for the currently-playing EPUB Content Document element MAY be expressed in the CSS Style Sheet using author-defined classes. These author-defined class names SHOULD be declared in the Package Document metadata using the metadata properties active-class and playback-active-class. The class names are then discoverable by Reading Systems.
The active-class and playback-active-class properties MUST NOT be used in conjunction with a refines attribute [Packages32], as they are always considered to apply to the entire Rendition.
Including in the Manifest
If an EPUB Content Document is wholly or partially referenced by a Media Overlay, then its manifest item element [Packages32] MUST include a media-overlay attribute. The attribute MUST reference the ID [XML] of the manifest item for the corresponding Media Overlay Document.
The media-overlay attribute MUST NOT be attached to manifest item elements that do not reference EPUB Content Documents.
Manifest items for Media Overlay Documents MUST have the media type application/smil+xml.
CONSTRAINTS
It MUST meet the conformance constraints for XML documents defined in XML Conformance [EPUB32].
It MUST be valid to the Media Overlays schema as defined in Appendix A, Media Overlays Schema and conform to all content conformance constraints expressed in Media Overlay Document Definition.
It MUST be authored to reflect the structure of the EPUB Content Document with which it is associated, as stated in Structure.
It MAY refer to more than one EPUB Content Document, but an EPUB Content Document MUST NOT be referenced by more than one Media Overlay Document.
It MUST adhere to the requirements for Embedded Media.
It SHOULD use semantic markup where appropriate, as described in Semantic Inflection.
It MUST be packaged with the EPUB Publication as shown in Packaging.
The Media Overlay Document filename SHOULD use the file extension .smil.
NAMESPACE
smil
ATTRIBUTES
*version
This attribute MUST have the value "3.0".
id
epub:prefix
CONTENT (In this order):
1) head [0 or 1]
2) body [exactly 1]
head
NO ATTRIBUTES
CONTENT
metadata
NO ATTRIBUTES
CONTENT
0 or more elements from any namespace
*body
ATTRIBUTES
epub:type
id
epub:textref
CONTENT
seq
ATTRIBUTES
epub:type
id
*epub:textref
CONTENT
seq
par
IMPORTANT: At least one par or seq is required
The seq element contains media objects which are to be rendered sequentially.
par
The par element contains media objects which are to be rendered in parallel.
ATTRIBUTES
epub:type
id
CONTENT
*text
ATTRIBUTES
*src
id
NO CONTENT
The text element references an element in the EPUB Content Document. A text element typically refers to a textual element, but can also refer to other EPUB Content Document media elements (see Embedded Media).
audio
The audio element is OPTIONAL only if its sibling text element refers to audio or video media (see Embedded Media), or to textual content intended for rendering via Text-to-Speech (TTS).
ATTRIBUTES
id
*src
clipBegin
A clock value that specifies the offset into the physical media corresponding to the start point of an audio clip. MUST be a [SMIL3] clock value.
clipEnd
A clock value that specifies the offset into the physical media corresponding to the end point of an audio clip. MUST be a [SMIL3] clock value.
NO CONTENT
IMPORTANT: At least one par or seq is required
CONFORMANCE
It MUST be an [HTML] document that conforms to the XHTML syntax.
It MUST meet the conformance constraints for XML documents defined in XML Conformance [EPUB32].
For all document constructs used that are defined by [HTML], it MUST conform to the conformance criteria defined for those constructs in that specification, unless explicitly overridden in HTML Deviations and Constraints.
It MAY include extensions to the [HTML] grammar as defined in HTML Extensions, and MUST conform to all content conformance constraints defined therein.
The XHTML Content Document filename SHOULD use the file extension .xhtml
ATTRIBUTES
epub:type
Reserved Options (EPUB-SSV):
backmatter
bodymatter
cover
frontmatter
chapter
division
part
volume
abstract
afterword
conclusion
epigraph
epilogue
foreword
introduction
preamble
preface
prologue
landmarks
loa
loi
lot
lov
toc
toc-brief
appendix
colophon
credits
keywords
biblioentry
bibliography
antonym-group
condensed-entry
def
dictentry
dictionary
etymology
example
gram-info
idiom
part-of-speech
part-of-speech-list
part-of-speech-group
phonetic-transcription
phrase-list
phrase-group
sense-list
sense-group
synonym-group
tran
tran-info
glossary
glossdef
glossterm
index
index-editor-note
index-entry
index-entry-list
index-group
index-headnotes
index-legend
index-locator
index-locator-list
index-locator-range
index-term
index-term-categories
index-term-category
index-xref-preferred
index-xref-related
acknowledgments
contributors
copyright-page
dedication
errata
halftitlepage
imprimatur
imprint
other-credits
revision-history
seriespage
titlepage
case-study
notice
pullquote
tip
covertitle
fulltitle
ordinal
subtitle
title
learning-objective
learning-objectives
learning-outcome
learning-outcomes
learning-resource
learning-resources
learning-standard
learning-standards
answer
answers
assessments
feedback
fill-in-the-blank-problem
general-problem
match-problem
multiple-choice-problem
practice
practices
qna
question
true-false-problem
balloon
panel
panel-group
sound-area
text-area
endnote
endnotes
footnote
footnotes
backlink
biblioref
glossref
noteref
concluding-sentence
credit
keyword
topic-sentence
page-list
pagebreak
table
table-row
table-cell
list
list-item
figure
aside
prefix
prism
msv
ssml
ph
alphabet
HTML Deviations & Constraints
Embedded MathML
Embedded SVG
Form Submission
Reading System support for the submission of [HTML] forms is OPTIONAL. A Reading System might, for example, prevent form submissions by limiting access to networking.
SVG Content Documents
CONFORMANCE
It MUST meet the conformance constraints for XML documents defined in XML Conformance [EPUB32].
It MUST be an SVG document fragment [SVG], and conform to all content conformance constraints expressed in Restrictions on SVG.
Restrictions
foreignObject
title
The SVG Content Document filename SHOULD use the file extension .svg
It MAY include references to Foreign Resources provided a fallback to a Core Media Type Resource is included.
CSS Documents
CONFORMANCE
direction
unicode-bidi
It MAY include the prefixed properties defined in CSS Style Sheets — Prefixed Properties.
It MUST be encoded in UTF-8 or UTF-16 [Unicode].
Writing Modes
-epub-text-orientation:
upright
mixed
sideways-right
sideways
mixed
-epub-writing-mode
horizontal-tb
vertical-rl
vertical-lr
-epub-text-combine
-epub-text-combine-horizontal
none
all
Text Level 3
-epub-hyphens
none
manual
auto
all
-epub-line-break
auto
loose
normal
strict
-epub-text-align-last
auto
start
end
left
right
center
justify
-epub-word-break
normal
keep-all
break-all
text-transforms
-epub-fullwidth
Text Decoration Level 3
-epub-text-emphasis-color
<color>
-epub-text-emphasis-position
&&
over | under
right | left
-epub-text-emphasis-style
|
none
||
dot | circle | double-circle | triangle | sesame
filled | open
<string>
-epub-text-underline-position
|
auto
||
under
left | right
-epub-text-underline-position
alphabetic
Fixed Layout Documents
CONFORMANCE
It MUST specify its initial containing block [CSS2] as defined in Initial Containing Block Dimensions.
When rendering Fixed-Layout Documents, the default intent is that the Content Display Area SHOULD occupy as much of the available Viewport area as possible.
Reading Systems SHOULD NOT inject additional content such as border, margins, headers or footers into the Viewport.
For XHTML Fixed-Layout Documents, the initial containing block [CSS2] dimensions MUST be expressed in a viewport meta tag using the syntax defined in [CSS-Device-Adapt-1]. In this version of this specification, only the width and height expressions MUST be recognized by Reading Systems.
For SVG Fixed-Layout Documents, the ICB dimensions MUST be expressed using the viewBox attribute [SVG].
Pronunciation Lexicon (PLS) Documents
CONFORMANCE
PLS Documents MAY be associated with XHTML Content Documents. Each XHTML Content Document MAY contain zero or more PLS document associations.
PLS documents MUST be associated with the XHTML Content Document to which they apply using the [HTML] link element with its rel attribute set to "pronunciation" and its type attribute set to the media type "application/pls+xml".
The link element hreflang attribute SHOULD be specified on each link, and its value MUST match the language for which the pronunciation lexicon is relevant [PRONUNCIATION-LEXICON] when specified.
PLS documents MUST meet the content conformance criteria defined in PLS Documents — Content Conformance.
PLS documents MUST be represented and located as defined in EPUB Package — Conformance [Packages32].
Document Properties
It MUST meet the conformance constraints for XML documents defined in XML Conformance [EPUB32].
It MUST be valid to the RELAX NG schema for PLS documents available at the URI https://www.w3.org/TR/2008/REC-pronunciation-lexicon-20081014/ [PRONUNCIATION-LEXICON].
The PLS document filename SHOULD use the file extension .pls.
epubReadingSystem (Javascript Object)
CONFORMANCE
Reading Systems MUST expose the epubReadingSystem object on the navigator object of all loaded Scripted Content Documents, including any nested container-constrained scripting contexts.
Reading Systems MUST ensure that the epubReadingSystem object is available no later than when the DOMContentLoaded event is triggered [HTML].
The following properties MUST be made available for retrieving information about the Reading System.
name
version
LayoutStyle
PROPERTIES
name
Returns a String value representing the name of the Reading System (e.g., "iBooks", "Kindle").
version
Returns a String value representing the version of the Reading System (e.g., "1.0", "2.1.1").
LayoutStyle
Use of the layoutStyle property is deprecated. Refer to its definition in [ContentDocs301] for usage information.
METHODS
hasFeature
PARAMS
version
RECOGNIZED FEAUTRES
dom-manipulation
layout-changes
touch-events
mouse-events
keyboard-events
spine-scripting
Additional features MAY be added by Reading System developers, but future versions of this specification might append to this list in ways that could conflict or be incompatible with any such custom additions.
CSS
PLS (Pronunciation Lexicons)
Media Overlay Documents
Other CONFORMANCE
Use the file extension .opf
Is an XML Document & MUST conform to the XML Conformance definition.
Generic Info
Defines a standard way to represent metadata globally applicable to a collection of pages
Fixed Layouts
EPUB3 metadata allows for fixed-layout XHTML Content Documents as well as the inherent capabilities for fixed-layouts in SVG.
Allows authors to specify desired orientation, when to create synthetic spreads, and how to position pages within those spreads.
last-modified
Together with the package identifier provides a means of distinguishing different versions of an EPUB Publication.
Each rendition of an EPUB Publication defines at least one logical ordering of all its top-level content (the spine), as well as a declarative table of contents (the EPUB Navigation Document).
Consists of multiple resources that can be completely navigated and consumed by a person or program in some specific order.
Single container (file) format based on zip with an XML document that identifies the location of the Package Document for each Rendition in the ZIP archive... The XML is located at a pre-defined location in the archive.
EPUB Reading System
Process the Package Document as defined in the conformance section and honor all presentation logic expressed through the Package Documentation
Process the EPUB Navigation Document as described in the conformance section.
Process fixed layout metadata, as expressed in Fixed-Layout Properties.
Process rendering metadata
Ignore proprietary metadata properties that pertain to layout expressions if they conflict behaviorally with the property semantics defined in Fixed-Layout Properties
Use any resources not listed in the Package Document in the processing of the Package.
EPUB Open Container Format (OCF)
CONFORMANCE
An OCF Abstract Container MUST meet the conformance constraints defined in OCF Abstract Container.
ZIP File Requirements
All OCF Abstract Containers MUST include a directory called META-INF in their Root Directory.
This directory contains the files specified in META-INF Reserved Files. Files other than the ones listed in that section MAY be included in the META-INF directory; OCF Processors MUST NOT fail when encountering such files.
An OCF ZIP Container MUST meet the conformance constraints defined in OCF ZIP Container.
File Name Restrictions Apply
Abstract Container File System
META-INF (Folder)
container.xml
signatures.xml
encryption.xml
metadata.xml
rights.xml
manifest.xml
mimetype
<Other Files>
<Other Directories>
<Other Files>
ZIP Container
mimetype
Resource Obfuscation
application/epub+zip