Epub-specs: Fallback or not fallback in the manifest?

Created on 12 Aug 2016  路  2Comments  路  Source: w3c/epub-specs

Consider these four statements:

  1. "Publication Resources can be Core (Media Type) Resources and Foreign Resources." See: http://www.idpf.org/epub/31/spec/epub-spec-20160801.html#sec-cmt-intro)
  2. "All Publication Resources associated with the Package must be listed in the Package Document (as defined in manifest)." See: http://www.idpf.org/epub/31/spec/epub-packages.html#confreq-rendition-manifest
  3. "Foreign Resources may be included in a Rendition without a fallback provided they are not referenced from spine itemref elements [...] When a Foreign Resource is included in the spine or directly rendered in its native format in an EPUB Content Document, a Core Media Type fallback must be included." See: http://www.idpf.org/epub/31/spec/epub-spec-20160801.html#sec-foreign-restrictions
  4. "The fallback attribute takes an IDREF [XML] that identifies the fallback for a non-Core Media Type. All Foreign Resources must provide a fallback, as defined in Manifest Fallbacks." See: http://www.idpf.org/epub/31/spec/epub-packages.html#sec-item-elem

There seem to be a contradiction. Indeed, if I have a data file that is used by a script to display some graphics, it is a foreign resource per the very first definition. It must therefore be listed in the manifest per the second definition. However, it explicitly says in the third that this is a case where no fallback is necessary. And then comes definition four that requires a fallback. :-(

I guess the solution is to do a MUST->MAY in the fourth definition, with some reference to the fact that a foreign resource without a fallback should not be in the spine.

EPUB32 Spec-Packages

Most helpful comment

Proposed Solution:

Implement the prose changes in the previous comment.

All 2 comments

4 is also technically inaccurate in that the fallback attribute is not only for non-core media types. You can have a fallback for a scripted content document or one that includes mathml.

I'd suggest rewording along these lines:

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.

We only normatively define requirements in one place (or try hard not to let duplication happen for this reason), so this pushes the formal definition back where it belongs in 3.

Proposed Solution:

Implement the prose changes in the previous comment.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danielweck picture danielweck  路  4Comments

mattgarrish picture mattgarrish  路  8Comments

murata2makoto picture murata2makoto  路  3Comments

mattgarrish picture mattgarrish  路  6Comments

mattgarrish picture mattgarrish  路  10Comments