Skip to content

Evidence methods guide

EPUB Package, Spine, and Link Review: Check the Reading Graph Before Delivery

Review EPUB container paths, package manifest items, href resolution, media types, fallbacks, spine order, navigation, and linked resources before delivery.

An EPUB is a package of related resources, not only a ZIP of files. The package document lists publication resources in a manifest and declares an ordered spine for default reading order. Links can reach resources that need a manifest entry, a fallback, or an explicit external boundary. Start with the container and package path, then resolve every manifest href, spine idref, navigation target, content link, media type, and fallback chain. This guide is publication-format guidance, not a validator, reading system, accessibility certification, privacy decision, or permission claim.

Updated

On this page

Locate the container and package document first

Record a neutral EPUB ID, digest, ZIP entry inventory, mimetype entry state, container path, package document path, package unique identifier, and parser version. The World Wide Web Consortium, (opens in a new tab) specification requires an EPUB container and package document. Do not find one OPF file by filename and assume it is the declared package.

The two cited EPUB source records carry their verified publication dates, 13 January 2026 for the specification record and 13 March 2025 for the overview record. The 22 October 2026 checked day is retrieval evidence, not a publication claim.

Locate the container and package document first (table)
Container evidenceRecordStop if
mimetype entryPath, content, and storage constraintsEntry is compressed or rewritten
container.xmlRootfile path and media typePackage path is guessed
Package documentPath, version, and namespaceParser uses a different OPF
MetadataIdentifiers and bounded valuesPrivate metadata is copied
ManifestItem IDs, hrefs, media types, propertiesAn item ID is duplicated
SpineItemrefs, order, linear stateSpine is absent or empty

Keep package-relative paths separate from ZIP entry names and normalized URLs. A path can resolve inside the package while still pointing to the wrong case, fragment, or media type.

Resolve manifest hrefs and media types exactly

For every manifest item, resolve href against the package document base, normalize the path under the container root, and compare the result to the ZIP entry set. Record fragment identifiers, percent decoding, case handling, media type, properties, and whether the resource is publication or linked. The cited specification describes the manifest as the list of publication resources, while some linked resources are defined in metadata rather than the manifest World Wide Web Consortium, (opens in a new tab).

Resolve manifest hrefs and media types exactly (table)
Manifest fieldRecordHold when
Item IDUnique ID and referencesTwo items share an ID
hrefRaw, resolved, and normalized pathPath escapes the container
media-typeDeclared MIME typeType comes only from extension
propertiesVocabulary values such as navNavigation item is not unique
Foreign content documentManifest fallback chain and terminal EPUB content documentSpine resource has no required fallback chain
Foreign resourceIntrinsic host-format fallback or manifest fallbackRequired fallback path is missing
Exempt resourceExempt category and rendering contextAn unnecessary fallback rule is imposed
Linked resourcePackage link and non-publication statusA package-only link is treated as needing a fallback
ZIP entryExact entry name and digestResolved path has no entry

Synthetic package ledger

Resolve manifest hrefs and media types exactly code example, JSON
{"package":"fixture/OEBPS/package.opf","manifest":[{"id":"nav","href":"nav.xhtml","media_type":"application/xhtml+xml","properties":["nav"]},{"id":"chapter-1","href":"text/chapter-1.xhtml","media_type":"application/xhtml+xml"}],"spine":["nav","chapter-1"],"resolved":["fixture/OEBPS/nav.xhtml","fixture/OEBPS/text/chapter-1.xhtml"],"state":"metadata-only"}

Check spine order, navigation, and linked content

The World Wide Web Consortium, (opens in a new tab) spine defines the ordered list of manifest item references for default reading order. Record each itemref idref, linear value, properties, and target class. Use the specification’s terms: a foreign content document used in the spine needs a manifest fallback chain ending in an EPUB content document; a foreign resource used inside content may use an intrinsic host-format fallback or a manifest fallback; an exempt resource does not require a fallback; and a linked resource is not a publication resource and does not require a fallback. Check the navigation document independently, and keep external URLs as an explicit boundary.

Check spine order, navigation, and linked content (table)
Reading graphSupportsOpen question
Spine itemrefOrder and linear hintDoes idref resolve to the intended item?
Navigation itemNavigation document identityAre landmarks and links in the package?
Content hyperlinkA linked target resourceIs target listed in spine or fallback chain?
Nonlinear itemAuxiliary content accessIs there a reachable link or nav entry?
Foreign content documentSpine resource plus manifest fallback chainDoes the chain reach an EPUB content document?
Foreign resourceContent resource plus intrinsic or manifest fallbackIs the required fallback mechanism explicit?
Exempt resourceExempt category and host contextIs it incorrectly required to provide a fallback?
Linked resourcePackage link and non-publication boundaryIs it incorrectly treated as a publication resource?
External URLOut-of-container destinationIs external access acceptable and documented?

Compare package graph to a reading-system result

Use a synthetic package to compare declared manifest items, ZIP entries, resolved content links, spine order, navigation links, and reader warnings. Capture reader and checker versions and keep warnings separate from errors. A publication that opens in one reading system can still have unresolved links, wrong media types, or a fallback that another reader cannot render.

Compare package graph to a reading-system result (table)
ComparisonRecordHold when
Manifest to ZIPMissing, extra, and duplicate entriesResource is present only through a guessed path
Spine to manifestidref resolution and orderItemref points to no item
Links to graphInternal, fragment, external, and missing targetsA linked content document is outside required graph
Media type to bytesDeclared type and bounded signature checkReader fallback is implicit
Navigation to spineTarget and access pathNonlinear content has no access route
Reader resultWarnings, errors, and ignored featuresOpen status is treated as conformance

Stop before calling an EPUB package complete

Stop conditions

  • Stop if the rootfile, package document, manifest, navigation document, or spine is not identified.
  • Stop if an href resolves outside the container, differs by case, or cannot be matched to an entry.
  • Stop if itemref idrefs, media types, properties, or a required foreign-content fallback chain is unresolved. Do not require fallbacks for exempt or linked resources without checking their category.
  • Stop if content links reach an EPUB resource that is absent from the required reading graph.
  • Stop if an external URL, reader warning, or ignored feature is treated as a package success.
  • Stop before opening real content documents when they contain private text, links, or attachments.

Pair this worksheet with the data provenance log for package and conversion history and the data card template for collection context. A resolved EPUB graph does not prove editorial quality, ownership, privacy clearance, or permission.

For a supported non-health collection, after the owner has authority to describe the scope and a controlled metadata packet, the qualified document-data appraisal request path may be a preparation step. It does not validate EPUB files, render content, certify accessibility, create a quote, match a buyer, or grant a license.

Sources

  1. World Wide Web Consortium: EPUB 3 Overview (opens in a new tab)
  2. World Wide Web Consortium: EPUB 3.3 (opens in a new tab)

Use the document-data appraisal path after the EPUB packet is organized.

It does not validate EPUB files, render content, certify accessibility, create a quote, match a buyer, or grant a license.