Skip to content

Publication Manifest to EPUB Mapping

Matt Garrish edited this page Nov 20, 2019 · 35 revisions

EPUB Mapping

This document provides mappings from the Publication Manifest format to EPUB's Package Document.

1. Structure

Publication Manifest EPUB 3 Package Document Explanation
readingOrder spine Default progression through the content. EPUB uses references to the manifest, while the Package Document uses a list of resources.
resources manifest Identifies the resources of the publication. The EPUB manifest is the complete set of resources, while Pub Manifest uses a union of readingOrder and resources.
n/a metadata The publication manifest does not use a special grouping for metadata -- all terms other than the readingOrder and resources are the equivalent of the EPUB metadata.
links metadata/link Linked resources. EPUB does not separate linked resources from the other publication metadata.
(none
) collection Collections are like mini-package documents within the package document. Accommodating them would require a manifest-like set of objects, presumably under a collections property. There seems to be limited to no uptake of collections in EPUB, however, despite a few specifications that use them (e.g., previews, indexes and dictionaries).

2. Publication Information

2.1 Language and Direction

Publication Manifest EPUB 3 Package Document Explanation
@context/language package[@xml:lang] Global manifest/package language declaration.
@context/direction package[@dir] Global manifest/package direction declaration.
term/language metadata/meta[@xml:lang] Local language overrides.
term/direction metadata/meta[@dir] Local direction overrides.

2.2 Identifiers

Publication Manifest EPUB 3 Package Document Explanation
id package[@unique-identifier] - dc:identifier Unique identifier for the publication.
dateModified + id release identifier The release identifier technically doesn't exist as a property of the EPUB package document, but is a combination of the unique identifier and last modified date. A similar identifier can be constructed for a publication manifest if the corresponding properties are required by a profile.
n/a package/@version The version number is static across major versions of EPUB so it isn't necessary to replicate or store in the manifest.

2.3 Conformance

Publication Manifest EPUB 3 Package Document Explanation
type (none) The type of publication. EPUB does not have an equivalent in the specification, but can be expressed as meta[@property=rdf:type].
conformsTo dc:type The profile the publication conforms to. EPUB uses reserved keywords instead of URLs for profiles.

3. Resources

3.1 Declarations

Publication Manifest EPUB 3 Package Document Explanation
LinkedResource/type (none) This is schema.org-specific metadata and is not (cannot) be represented in EPUB.
LinkedResource/url item[@href] and link[@href] Location of the resource. No differences.
LinkedResource/encodingFormat item[@media-type] and link[@media-type] Media type of the resource. No differences.
LinkedResource/name (none) The ability to provide an accessible name for resources is lacking in EPUB.
LinkedResource/description (none) The ability to provide an accessible description of resources is lacking in EPUB.
LinkedResource/rel item[@properties], link[@properties] and link[@rel] The properties attribute is used in EPUB to identify characteristics of a resource but it is not an exact fit with link relations. The link element in EPUB includes a rel attribute, which is more directly equivalent, but link cannot be used for publication resources.
LinkedResource/integrity META-INF/signatures.xml Signing of resources is done in the signatures.xml file in EPUB, not in the package document.
LinkedResource/duration meta[@property= media:duration][@refines=idref] Duration of a resource. EPUB uses meta tags to associated a duration with a resource, whereas Pub Manifest can express the duration directly with the resource.
LinkedResource/alternate item[@fallback] An alternate format representation of a resource.
LinkedResource/alternate item[@media-overlay] Comparison of media synchronization to be reviewed when Synchronized Media document is completed.
n/a item[@id] and link[@id] Resources in the publication manifest are not referenced by identifier, so an identifier attribute is not included. The manifest could be extended for compatibility purposes, if needed.

3.2 Importance

Publication Manifest EPUB 3 Package Document Explanation
(none) Linear Content The publication manifest does not require non-linear content in the reading order, so does not distinguish it.

3.3 Relations

Publication Manifest EPUB 3 Package Document Explanation
LinkedResource/rel= accessibility-report link[@rel=a11y:certifierReport] Accessibility report for the publication. EPUB use is defined in the Accessibility specification.
LinkedResource/rel= contents item[@properties=nav] Identifies the document containing the table of contents. EPUB requires all navigation aids in the navigation document, so does not uniquely identify the resources within it.
LinkedResource/rel= cover item[@properties= cover-image] EPUB only identifies cover images. Pub Manifest allows any resource to be identified as the cover.
LinkedResource/rel= pageList item[@properties=nav] Identifies the document containing the page list. EPUB requires all navigation aids in the navigation document, so does not uniquely identify the resources within it.
LinkedResource/rel= preview dc:type=preview A preview for the publication. EPUB use is defined in the Previews specification. EPUB defines entire publications as previews and also embeds previews using collections.
LinkedResource/rel= privacy-policy (none) Privacy policy for the publication. EPUB does not have an equivalent in the specification, but could be expressed as link[rel=privacy-policy] once registered.

4. Metadata

4.1 General Metadata

Publication Manifest EPUB 3 Package Document Explanation
abridged (none) Whether the publication is abridged. EPUB does not have an equivalent in the specification, but can be expressed as meta[@property=schema:abridged].
creators (artist, author, etc.) dc:creator, dc:contributor + meta[@role] Creators of the publication. EPUB "refines" the DC elements to add roles.
datePublished dc:date Date the publication was published.
dateModified dcterms:modified Last modification date of the publication.
duration meta[@property= media:duration] Total duration of the publication.
inLanguage dc:language Language of the publication.
name dc:title Title of the publication.
readingProgression spine[@page-progression-direction] The content flow direction. EPUB's use is more specifically tied to the expected rendering (e.g., page loading for fixed layouts).
url (none) Address of the publication. EPUB does not have an equivalent in the specification, but can be expressed as meta[@property=schema:url].
-- Dublin Core Optional Elements

The following elements are not explicitly defined in the Publication Manifest specification: coverage, description, subject, format, relation, rights, source and subject.

All of these can be included in a manifest, however, as the dc prefix is part of the initial context.

4.2 Metadata Association

EPUB 3 uses meta[@refines] and link[@refines] to tie together multiple related metadata statements, where the refines attribute references the ID of another element in the package document. This mechanism was introduced because it was not possible to nest metadata elements and remains backwards compatible with EPUB 2. The attribute is unnecessary in a publication manifest as metadata is not forced to be flattened. It would be possible to combine/flatten structures during translation. |

4.3 Rendition Metadata

The publication manifest specification can support EPUB's fixed layout metadata, as the properties are already in a specially-prefixed vocabulary, but no use case exists yet for them.

The same is true for the general properties defined in that vocabulary.

4.4 Accessibility Metadata

Publication Manifest EPUB 3 Package Document Explanation
accessibilityFeature meta[@property= schema:accessibilityFeature] Accessibility features of the publication. EPUB use is defined in the Accessibility specification.
accessibilityHazard meta[@property= schema:accessibilityHazard] Potential hazards from the content. EPUB use is defined in the Accessibility specification.
accessibilitySummary meta[@property= schema:accessibilitySummary] Human-readable summary of the accessibility. EPUB use is defined in the Accessibility specification.
accessMode meta[@property= schema:accessMode] Access modes of the content. EPUB use is defined in the Accessibility specification.
accessModeSufficient meta[@property= schema:accessibilityFeature] Sufficient set(s) of access modes that allow consumption of the content. EPUB use is defined in the Accessibility specification.

5. Extensibility

Publication Manifest EPUB 3 Package Document Explanation
@context/{"prefix":} package[@prefix] Ability to define prefixes to import terms from additional vocabularies
LinkedResource/rel= describedby link[rel=record] Linked metadata records. The "record" relation used by EPUB is not registered with IANA.
Clone this wiki locally