EPUB Multiple-Rendition Publications 1.0
Proposed Specification 2 December 2014
This version:
http://www.idpf.org/epub/renditions/multiple/epub-multiple-renditions-20141202.html
Latest version:
http://www.idpf.org/epub/renditions/multiple/
Previous version:
http://www.idpf.org/epub/renditions/multiple/epub-multiple-renditions-20141114.html
Please refer to the errata for this document, which may include some normative corrections.
Copyright © 2012-14 International Digital Publishing Forum™
All rights reserved. This work is protected under Title 17 of the United States Code. Reproduction and dissemination of this work with changes is prohibited except with the written permission of the International Digital Publishing Forum (IDPF).
EPUB is a registered trademark of the International Digital Publishing Forum.
Editors
Lester, Jim (Barnes & Noble)
Kanai, Takeshi (Sony)
Garrish, Matt (Invited Expert)
Authors
Conboy, Garth (Google)
Duga, Brady (Google)
Gardeur, Hadrien (Feedbooks)
Kanai, Takeshi (Sony)
Kroupa, Brady (Barnes & Noble)
Lester, Jim (Barnes & Noble)
MURATA, Makoto (JEPA)
O’Connor, Theresa (Apple)
Status of this Document
This document is in proposed recommendation status and is made available for final IDPF membership review.
Table of Contents
1.2 Relationship to Other Specifications
1.2.1 Relationship to OCF 3.0.1
1.2.2 Relationship to Publications 3.0.1
2.2 Vocabulary Association Mechanisms
3.3 Reading System Conformance
3.4 Rendition Selection Attributes
3.4.1 The rendition:media attribute
3.4.2 The rendition:layout attribute
3.4.3 The rendition:language attribute
3.4.4 The rendition:accessMode attribute
3.4.5 The rendition:label attribute
4.3 Reading System Conformance
4.4 EPUB Rendition Mapping Document Definition
4.4.1 XHTML Content Document: Restrictions
4.4.2 The nav Element: Modifications and Restrictions
4.4.4 Container Identification
Appendix A. Mapping Document Schema
Appendix B. Acknowledgements and Contributors
This section is informative
This specification, EPUB Multiple-Rendition Publications, defines the creation and rendering of EPUB® Publications consisting of more than one Rendition.
The need to include more than one Rendition of an EPUB Publication has grown as Reading Systems have evolved and become more sophisticated. While some measure of content adaptation has always been possible at the style sheet level, it is both limited in what it can accomplish and limited to content rendering. Existing fallback mechanisms within the EPUB Package Document are equally simple in nature, only ensuring that resources can be rendered.
Adaptation is not just about optimizing styling and positioning content for screen considerations, such as dimensions and color or Reading System orientation, but often involves changing the content itself. The resources and markup required to render a fixed-layout Rendition of an EPUB Publication may overlap with a reflowable version of the same, but the two are never exactly the same. Adaptation also involves adapting the prose of a work. In an increasingly interconnected world, including multiple translations of a work rather than bundling them all separately as single-language EPUB Publications is often a necessity. And adaptation is also about the ability to move from the same spot in one Rendition to the equivalent spot in another as changes in the reading environment occur.
This specification does not define methods for modifying content on the fly, but defines how a Reading System selects from multiple Author-provided Renditions of the content to best match the current device characteristics and User preferences. As changes occur to device orientation or the User's preferred reading modality, for example, the Reading System will be able to check for a better Rendition and seamless present it to the User using the functionality defined herein.
The specification addresses each of the major requirements in the discovery of, selection of, and mapping between, multiple Renditions of an EPUB Publication. In particular:
Each major section in this specification deals with one these requirements, detailing the functionality added to address its handling. Taken together, the features enable the creation of advanced multiple-Rendition EPUB Publications that Reading Systems can adapt to changing User needs.
The method for including multiple Renditions within an OCF Container [OCF301] defined in this specification is not a requirement for the production of compliant EPUB Publications. Multiple Renditions may be included in a Container without adhering to this specification, as the ability to create multiple-Rendition Containers pre-dates the creation of this specification.
It is strongly recommended that all future needs for multiple Renditions in a Container follow this specification. Existing implementations that utilize other methods for selecting from multiple Renditions are also encouraged to consider migrating to use this specification to improve the overall interoperability of multiple-Rendition Publications..
Some of the Rendition selection attributes defined in this specification share common names with Package Document elements and properties [Publications301] as they are designed to reflect the information for selection purposes.
Despite this commonality, this specification does not enforce equivalence between the Rendition selection properties expressed on a rootfile element and the metadata expressed in the corresponding Package Document, as direct equivalence is not always possible.
For example, a multilingual EPUB Publication will define more than one dc:language element -- one for each language -- but for Rendition selection only the primary language is defined. Likewise, the language defined in the Package Document could include a specific region code, but for selection purposes the Author might identify only the language code.
The reason for common metadata in both locations is to simplify the selection process: including attributes avoids the requirement to parse each referenced Package Document and allows for expressions of primacy that aren't possible at the package level. It also avoids collisions and ambiguities between metadata being used for different purposes (selection v. rendering).
The selection properties defined in the container.xml file have no rendering behaviors attached to them, either. For example, indicating that a Rendition is fixed layout in the rendition:layout attribute does not trigger fixed layout rendering behaviors within the specified Rendition.
A Reading System renders a Rendition according to the metadata expressed in the Package Document only.
Refer to the EPUB Specifications for definitions of EPUB-specific terminology used in this document.
Container Document
The container.xml file located in the child META-INF directory of the OCF Container root directory. Each Rendition in the Container is identified by a rootfile element.
Rendition Mapping Document
A specialization of the XHTML Content Document, containing machine-readable mappings between equivalent content in different Renditions, conforming to the constraints expressed in Rendition Mapping.
The keywords must, must not, required, shall, shall not, should, should not, recommended, may, and optional in this document are to be interpreted as described in [RFC2119].
All sections of this specification are normative except where identified by the informative status label "This section is informative". The application of informative status to sections and appendices applies to all child content and subsections they may contain.
All examples in this specification are informative.
To ensure consistency of metadata at the Publication and Rendition levels, this specification defines the content model of the root metadata element in the [OCF301] META-INF/metadata.xml file to be the same as the Package Document metadata element [Publications301], with the following differences in syntax and semantics:
In order to enable the full expression of metadata in the metadata.xml file, the following modifications are made to the Package Document definitions:
This version of this specification does not define a model for the inheritance of metadata from the Publication level to the Rendition level, as EPUB processing only requires that the default Rendition be recognized by Reading Systems, not the metadata.xml file.
NOTE
Authors are strongly encouraged to include a complete set of Publication metadata in the default Rendition to ensure cross-compatibility, even when making use of this file.
Titles, languages and other metadata is often not applicable from one Rendition to another, further complicating the sharing of metadata. No assumption can be made that metadata in the metadata.xml file is applicable to any given Rendition, whether the metadata is expressed in the Rendition or not.
NOTE
As the metadata.xml file has not had a defined content model previously, this specification does not restrict the inclusion of other metadata in the file in any situation. Publications that are not valid to the schema in Appendix C are not valid Multiple-Rendition Publications as defined by this specification, but might still be valid EPUB 3.0.1 Publications.
Authors using the metadata.xml file in ways not conformant with this specification are strongly encouraged to migrate to the new model to ensure consistent processing.
This specification inherits the mechanisms for associating vocabularies defined in 4.2 Vocabulary Association Mechanisms [Publications301] as they relate to the Package Document metadata, with only the following modification: the prefix attribute may be attached only to the root metadata element.
Reserved prefixes for metadata attribute expressions are adopted without change.
This section is informative
For reliable processing of EPUB Publications, each needs to be uniquely identifiable from any other. Uniqueness between EPUB Publications is not enough, however, as more than one version of an EPUB Publication could exist. As a result, it is also necessary to be able to identify and order each release of an EPUB Publication
In order to distinguish both these characteristics, the concept of a Release Identifier [Publications301] was introduced in EPUB 3. This identifier is a combination of the Unique Identifier and the last modified date, but can be unique to each Rendition because it is expressed in the Package Document metadata (e.g., the last modification dates for Renditions could be different if minor corrections only were necessary to some of them).
The Release Identifier defined in a Package Document only effectively identifies the EPUB Publication as a whole when there is only one Rendition in the Container. With multiple-Rendition Publications, a new Release Identifier that covers all the Renditions of the EPUB Publication is necessary, otherwise comparisons are complicated by trying to figure out which Rendition(s) have changed and how to compare them from one release to the next.
This section details how to define such a global Release Identifiers for an EPUB Publication.
The Release Identifier for a multiple-rendition EPUB Publication is expressed in the metadata.xml file the same way as it is in the Package Document for Renditions:
The identifier must conform to the requirements for identifiers defined in 3.4.3 The DCMES identifier Element [Publications301].
The value of the dcterms:modified property must conform to the pattern and rules defined in 4.1.2 Release Identifier [Publications301]. Only one dcterms:modified property without a refines attribute is allowed in the metadata.xml file.
The following example shows a Release Identifier expressed in the metadata.xml file:
<metadata xmlns="http://www.idpf.org/2013/metadata"
xmlns:dc="http://purl.org/dc/elements/1.1/"
unique-identifier="pub-id">
<dc:identifier
id="pub-id">urn:uuid:A1B0D67E-2E81-4DF5-9E67-A64CBE366809</dc:identifier>
<meta
property="dcterms:modified">2011-01-01T12:00:00Z</meta>
</metadata>
This section is informative
Although each EPUB Publication represents a single work, it is possible to optimize the rendering of that work in any number of different ways. An issue of a magazine, for example, could include a fixed layout version (print replica) for rendering on tablet-sized screens and a reflowable version for smaller cellphone screens where the fixed layout would be scaled to illegibility (or automatically reflowed in unwanted ways if fixed layouts are not supported).
The OCF Container allows multiple Renditions of the same EPUB Publication to be included, but does not specify how Reading Systems must determine the unique properties of the multiple Renditions listed in the Container Document, or select between them.
This section redresses this problem by defining both a set of rendition selection attributes that can be attached to rootfile elements in the Container Document and a processing model that allows Authors to specify which Rendition is the best representation depending on various conditions. Reading Systems can then select the appropriate representation from the list of Renditions to match the current configuration and User preferences.
A Container Document must meet all of the following criteria:
› It must be valid to the definition and requirements for the container.xml file specified in Container – META-INF/container.xml [OCF301].
› It may include any of the selection attributes as defined in Rendition Selection Attributes.
An EPUB Reading System must meet all of the following criteria for Rendition selection:
› It should determine the Rendition to present to a User as defined in 3.5 Processing Model.
The rendition:media attribute identifies the media features of a Reading System the given Rendition is best suitable for rendering on.
Attribute Name
media
Namespace
http://www.idpf.org/2013/rendition
Usage
may be specified on Container Document rootfile elements.
Value
A CSS 3 media query [MediaQueries], where the media type, if specified, must only be the value "all".
As per [MediaQueries], the media query in this attribute must evaluate to true in order for the given Rendition to be selected for rendering. Media queries that evaluate to “not all” per 3.1 Error Handling [MediaQueries] should be treated as false for the purposes of Rendition selection (i.e., the given Rendition is not a valid match).
The following example shows two Renditions of The Sandman bundled in the same container, one optimized for screens 1920 pixels or wider. The Default Rendition will be used for screen sizes smaller than 1920 pixels by default.
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition">
<rootfiles>
<rootfile
full-path="Sandman.opf"
media-type="application/oebps-package+xml"/>
<rootfile full-path="Sandman-large.opf"
media-type="application/oebps-package+xml"
rendition:media="min-width:
1920px"/>
</rootfiles>
</container>
The rendition:layout attribute indicates whether the given Rendition is reflowable or pre-paginated.
Attribute Name
layout
Namespace
http://www.idpf.org/2013/rendition
Usage
may be specified on Container Document rootfile elements.
Value
The value of the attribute must be reflowable or pre-paginated.
When specified on a rootfile element, the value of this attribute must match the global rendition:layout setting for the referenced Rendition.
If a User preference is defined, the attribute evaluates to true if the preference matches the specified value, otherwise it evaluates to false. If no User preference is defined, the Reading System should ignore the attribute when selecting from the available Renditions.
The following example shows two Renditions of a magazine bundled in the same container. Note that it is not necessary to state that the Default Rendition is reflowable, since Renditions are reflowable by default.
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition">
<rootfiles>
<rootfile
full-path="EPUB/reflow/magazine.opf"
media-type="application/oebps-package+xml"/>
<rootfile full-path="EPUB/fxl/magazine.opf"
media-type="application/oebps-package+xml"
rendition:layout="pre-paginated"/>
</rootfiles>
</container>
The rendition:language attribute indicates that the given Rendition is optimized for the specified language.
Attribute Name
language
Namespace
http://www.idpf.org/2013/rendition
Usage
may be specified on Container Document rootfile elements.
Value
must contain a valid language code conforming to [RFC5646].
The rendition:language attribute more precisely identifies the primary language of a Rendition than does the inclusion of dc:language elements in the Rendition’s Package Document, as the presence of dc:language elements only indicates that the specified languages are prominently used in the prose.
If a User preference is defined, the attribute evaluates to true if the preference matches the specified value, otherwise it evaluates to false. Several matching schemes are defined in Section 3 of [RFC4647]. Reading systems can use the most appropriate matching scheme. If no User preference is defined, the Reading System should ignore the attribute when selecting from the available Renditions.
The following example shows a multilingual EPUB Publication, with English, French and Spanish Renditions of the content.
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition">
<rootfiles>
<rootfile
full-path="EPUB/en/package.opf"
media-type="application/oebps-package+xml"
rendition:language="en"/>
<rootfile
full-path="EPUB/fr/package.opf"
media-type="application/oebps-package+xml"
rendition:language="fr"/>
<rootfile
full-path="EPUB/es/package.opf"
media-type="application/oebps-package+xml"
rendition:language="es"/>
</rootfiles>
</container>
The rendition:accessMode attribute identifies the way in which intellectual content is communicated in a Rendition, and is based on the [ISO24751-3] "Access Mode" property.
Attribute Name
accessMode
Namespace
http://www.idpf.org/2013/rendition
Usage
may be specified on Container Document rootfile elements.
Value
must be one or more of the values: auditory, tactile, textual or visual
This property defines the primary access mode(s) for a given Rendition. For example, although a textual work may include images, audio and video, its primary means of conveying information is the text. Likewise, a visual work might include alt text and/or descriptions, but these adaptations are not listed as a textual mode for the Rendition for the purpose of selection.
The way in which information is encoded also needs to be considered when designating an access mode. If a work has text components, or is completely textual in nature, but that content is burned into an image format, the access mode is visual (e.g., character dialogue in a JPEG page of a comic or a scan of a document).
A rendition may include more than one primary access mode. For example, the textual version may also embed the auditory version using media overlays. In such cases, the attribute should list each primary access mode available.
If a User preference is defined, the attribute evaluates to true if that preference matches any of the access modes defined in it, otherwise it evaluates to false. If no User preference is defined, the Reading System should ignore the attribute when selecting from the available Renditions.
The rendition:label attribute can be use to inform Users about the nature of the content, particularly where such information is not available, or not yet standardized, for selection. For example, a tactile rendition could indicate the braille code and grade in its label, or a textual rendition could be marked as optimized for text-to-speech rendering, not general use.
The following example shows an EPUB Publication with an image-based Rendition and a text-based serialization available.
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition">
<rootfiles>
<rootfile
full-path="EPUB/comic/package.opf"
media-type="application/oebps-package+xml"
rendition:accessMode="visual"/>
<rootfile full-path="EPUB/novel/package.opf"
media-type="application/oebps-package+xml"
rendition:accessMode="textual"/>
</rootfiles>
</container>
The rendition:label attribute allows each rootfile to be annotated with a human-readable description of its selection criteria.
Attribute Name
label
Namespace
http://www.idpf.org/2013/rendition
Usage
may be specified on Container Document rootfile elements.
Value
Text.
The rendition:label attribute provides a name for the given rendition (e.g., for manual rendition selection).
The language of the rendition:label attribute may be expressed in an xml:lang attribute.
The following example shows the rendition:label attribute being used to provide a human-readable name for the Rendition.
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition" xml:lang="en">
<rootfiles>
…
<rootfile
full-path="EPUB/package.opf"
media-type="application/oebps-package+xml"
rendition:media="color, min-width: 1024"
rendition:layout="pre-paginated"
rendition:label="Color-optimized print replica"/>
</rootfiles>
</container>
The rendition:label attribute is not a selection attribute for the purposes of evaluating which Rendition to render.
This section describes the method by which Reading Systems locate the optimal Rendition to present to a User.
Rendition selection should occur on initial rendering, and Reading Systems should re-evaluate the selection in response to changes in the User environment (e.g., change in device orientation or viewport size).
When a change condition is triggered, the Reading System should evaluate the rootfile elements in the Container Document as follows, starting with the last rootfile entry:
If the Default Rendition is reached, select the given Rendition and exit the process.
NOTE
This processing model does not require that the selection process occur on a User's device, or that all Renditions be provided in the Container. Rendition selection could occur on the server side of a cloud-based delivery system, for example, and only a single best-match Rendition sent to the device.
NOTE
Since EPUB 2 Reading Systems, and EPUB 3 Reading Systems that do not support multiple-Rendition selection, will render the Default Rendition, Authors need to consider which Rendition will have the greatest compatibility across Reading Systems and ensure it is listed first.
A Reading System may provide the User the option to manually select any of the Renditions in the Container. It should use the rendition:label attribute attribute value to present the option, when available.
As EPUB did not previously define a Rendition selection model, custom selection models might be encountered in some EPUB Publications. When recognized, these selection models should be utilized. If both rendition selection attributes conformant to this specification and custom attributes are defined, the latter should be ignored.
This section is informative
The Rendition Mapping Document identifies related content locations across the Renditions in a multiple-Rendition EPUB Publication, allowing Reading Systems to switch between Renditions while keeping the User’s place.
The Rendition Mapping Document is represented as XHTML, and uses nav elements with unordered lists to group the mappings. There is no display component to the Rendition Mapping Document: it is designed to enable automated switching. The lack of a rendering context means that the XHTML content model for this document is very restrictive, allowing only a single nav element in the body, to ease both authoring and processing.
To enable the mapping of content locations between Renditions, the Rendition Mapping Document’s nav element consists of a series of one or more unordered lists, each of which represents a common point across all the Renditions (e.g., a chapter, a page or a component within a page). The list items in each unordered list represent the set of equivalent link destinations across the available Renditions for that content (e.g., one link might point to a document representing one page of a fixed layout Rendition, while the equivalent link to a reflowable Rendition might point to the corresponding page break indicator within the XHTML Content Document containing the page).
Knowing the position of the User in the current Rendition, when a change in context occurs, or is triggered by the User, the Reading System can inspect the sibling list items to determine the EPUB Content Document to load that best meets the new conditions.
A conformant EPUB Rendition Mapping Document must meet all of the following criteria:
Document Properties
› It must conform to all content conformance constraints for XHTML Content Documents as defined in XHTML Content Documents — Content Conformance [ContentDocs301].
› It must conform to all content conformance constraints specific for EPUB Rendition Mapping Documents expressed in EPUB Rendition Mapping Document Definition.
Publication
› It must not be listed in the Package Document manifest of any of the EPUB Publication’s Renditions.
A conformant EPUB Reading System must meet all of the following criteria for processing EPUB Rendition Mapping Documents:
› When a change in Renditions occurs, the Reading Systems must locate the current position in the Rendition Mapping Document and load the matching position in the new Rendition.
The Rendition Mapping Document is a compliant EPUB XHTML Content Document, but with the following restrictions on the [HTML5] content model:
This specification restricts the content model of nav elements and their descendants in the Rendition Mapping Document as follows::
Each ul element in the Rendition Mapping Document resource-map nav element identifies a common content location across the available Renditions. The number of these synchronization points, and level of granularity provided, is at the discretion of Authors.
Each list item within the unordered list must identify the portion of the given Rendition that is equivalent to the other child li elements in a child a element. The href attribute of the a element must specify which Rendition it is referring to either by using an Intra-Publication CFI, or by providing the relative path to the Publication Document for the Rendition, as the value of an epub:rendition attribute.
If an li element is meant to refer to a geometric region of a Fixed Layout Document, then a Media Fragment URI should be used.
Examples
The following example shows a Rendition Mapping Document for a magazine with 3 Renditions: text, portrait and landscape. ‘article 1’ is on pages 5 and 6 of the fixed layout Renditions and the landscape Rendition uses spreads (non-synthetic).
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<nav epub:type="resource-map">
<ul>
<!-- First Page of the Article 1 -->
<li>
<a href= "../../text/default.opf#epubcfi(/6/8[article1.html]!/4/2:20" />
</li>
<li>
<a href="../../images/page5.png"
epub:rendition="../../portrait/portrait.opf" />
</li>
</ul>
<ul>
<!-- Second Page of the Article 1 -->
<li>
<a href= "../../text/default.opf#epubcfi(/6/8[article1.html]!/4/22:40" />
</li>
<li>
<a href="../../images/page6.png"
epub:rendition="../../portrait/portrait.opf" />
</li>
</ul>
<ul>
<!-- Article 1 -->
<li>
<a href= "../../text/default.opf#epubcfi(/6/8[article1.html]!" />
</li>
<li>
<a href="../../images/page5-6.png"
epub:rendition="../../landscape/landscape.opf" />
</li>
</ul>
</nav>
</body>
</html>
The following example shows a multilingual EPUB Publication with each language in a separate Rendition.
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<nav epub:type="resource-map">
<ul>
<!-- Chapter 1 -->
<li><a href = "../../en/en.opf#epubcfi(/6/2)" /></li>
<li><a href = "../../fr/fr.opf#epubcfi(/6/4)" /></li>
<li><a href = "../../de/de.opf#epubcfi(/6/2)" /></li>
<li><a href = "../../es/es.opf#epubcfi(/6/6)" /></li>
<li><a href = "../../it/it.opf#epubcfi(/6/2)" /></li>
</ul>
<ul>
<!-- Chapter 2 -->
<li><a href = "../../en/en.opf#epubcfi(/6/4)" /></li>
<li><a href = "../../fr/fr.opf#epubcfi(/6/6)" /></li>
<li><a href = "../../de/de.opf#epubcfi(/6/4)" /></li>
<li><a href = "../../es/es.opf#epubcfi(/6/8)" /></li>
<li><a href = "../../it/it.opf#epubcfi(/6/6)" /></li>
</ul>
<ul>
<!-- Chapter 3 -->
<li><a href = "../../en/en.opf#epubcfi(/6/6)" /></li>
<li><a href = "../../fr/fr.opf#epubcfi(/6/8)" /></li>
<li><a href = "../../de/de.opf#epubcfi(/6/6)" /></li>
<li><a href = "../../es/es.opf#epubcfi(/6/10)" /></li>
<li><a href = "../../it/it.opf#epubcfi(/6/8)" /></li>
</ul>
<!-- … could be even more fine grained for better results … -->
</nav>
</body>
</html>
The Rendition Mapping Document’s location is identified in the Container Document using an [OCF301] link element child of the root container element, where:
The following example shows the container.xml file for a multilingual EPUB Publication. The location of the Rendition Mapping Document is included in the link element.
<container version="1.0"
xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:rendition="http://www.idpf.org/2013/rendition">
<rootfiles>
<rootfile
full-path="en/en.opf"
rendition:language="en"
media-type="application/oebps-package+xml"
/>
<rootfile full-path="de/de.opf"
rendition:language="de"
media-type="application/oebps-package+xml" />
</rootfiles>
<link href="renditionMapping.html"
rel="mapping"
media-type="application/xhtml+xml"
/>
</container>
This section is informative
This section provides an informative model by which the Rendition Mapping Document could be processed by a Reading System. It does not address how or when a Reading System should switch Renditions.
The desired outcome of the Rendition Mapping Document’s mapping capabilities is to display content in the new Rendition that is equivalent to their location in the current Rendition, so that a user maintains their place during reading. To accomplish this goal, a compliant Reading System might follow these steps to reset the current Rendition when a change condition is triggered:
Note that what happens during navigation is largely a user experience issue, so a Reading System may choose to consider additional information than above to try to achieve a better outcome.
The schema for Mapping Documents is available at http://www.idpf.org/epub/renditions/multiple/schema/epub-rendition-mapping.rnc.
Validation using this schema requires a processor that supports [RelaxNG] and [XSD-DATATYPES].
This section is informative
EPUB has been developed by the International Digital Publishing Forum in a cooperative effort, bringing together publishers, vendors, software developers, and experts in the relevant standards.
The EPUB Multiple-Rendition Publications 1.0 specification was prepared by the International Digital Publishing Forum's Advanced/Hybrid Layouts working group, operating under a charter approved by the membership in November 2012, under the leadership of:
Active members of the working group included:
IDPF Members
Invited Experts/Observers
[ContentDocs301] EPUB Content Documents 3.0.1
[DCMES] Dublin Core Metadata Element Set, Version 1.1.
[DCTERMS] DCMI Metadata Terms.
[HTML5] HTML5: A vocabulary and associated APIs for HTML and XHTML.
[MediaQueries] Media Queries . Florian Rivoal. 19 June 2012.
[OCF301] Open Container Format 3.0.1.
[Publications301] EPUB Publications 3.0.1.
[RelaxNG] ISO/IEC 19757-2: Regular-grammar-based validation — RELAX NG. Second Edition. 2008-12-15.
[RFC2046] Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types (RFC 2046). N. Freed, N. Borenstein. November 1996.
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC 2119). March 1997.
[RFC3986] Uniform Resource Identifier (URI): Generic Syntax (RFC 3986). Berners-Lee, et al. January 2005.
[RFC3987] Internationalized Resource Identifiers (IRIs) (RFC 3987). M Duerst, et al. January 2005.
[RFC 4647] Matching of Language Tags (RFC 4647). A. Phillips, M. Davis. September 2006.
[RFC5646] Tags for Identifying Languages (RFC 5646). A. Phillips, M. Davis. September 2009.
[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition). T. Bray, et al. 26 November 2008.
[XSD-DATATYPES] XML Schema Part 2: Datatypes Second Edition . Paul V. Biron et al. 28 October 2004.