Skip to content

Publication Manifest to EPUB Mapping

Matt Garrish edited this page Dec 9, 2019 · 35 revisions

This document provides mappings between the Publication Manifest format and the EPUB 3 Package Document.

It does not include mappings for legacy or deprecated features of EPUB 3.

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 meta[@property=rdf:type] The type of publication. EPUB does not have an equivalent in the specification, but can be expressed as an rdf:type property.
conformsTo dc:type The profile the publication conforms to. EPUB uses reserved keywords instead of URLs for profiles, so these properties are not perfectly compatible.

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] -> SMIL Duration of a resource. EPUB only allows durations to be associated with SMIL files.
LinkedResource/alternate item[@fallback] An alternate format representation of a resource.
-- item[@media-overlay] How media synchronization compares to EPUB cannot be determined until the 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
n/a 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 link[@rel=privacy-policy] Privacy policy for the publication. EPUB does not have an equivalent in the specification, but could be expressed using a link once registered.

4. Metadata

4.1 General Metadata

Publication Manifest EPUB 3 Package Document Explanation
abridged meta[@property=schema:abridged] Whether the publication is abridged. EPUB does not have an equivalent in the specification, but can be expressed as schema:abridged property.
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 meta[@property=schema:url] Address of the publication. EPUB does not have an equivalent in the specification, but can be expressed as schema:url property.
dc:* 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.

n/a meta[@scheme] The scheme attribute was created for EPUB to identify where code values (e.g., subjects, creators) are defined. Whether and how this would be represented in a publication manifest needs investigation.

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.
accessibilityAPI meta[@property= schema:accessibilityFeature] The accessibilityAPI property is optional metadata not typically recommended anymore. It can be expressed in Publication Manifest using the corresponding schema.org property, but is not a part of the specification.
accessibilityControl meta[@property= schema:accessibilityControl] The accessibilityControl property is optional metadata not typically recommended anymore. It can be expressed in Publication Manifest using the corresponding schema.org property, but is not a part of the specification.

5. Extensibility

Publication Manifest EPUB 3 Package Document Explanation
@context/{"prefix": "url"} package[@prefix] Ability to define prefixes to import terms from additional vocabularies. EPUB uses a single attribute with whitespace-separated prefix/url definitions, whereas in a publication manifest each prefix is separately defined in the context.
LinkedResource/rel= describedby link[rel=record] Linked metadata records. The "record" relation used by EPUB is not registered with IANA.