Skip to content
Novus Examples
epub3.4 KB

EPUB 3 - Intentionally Invalid (duplicate manifest id)

An intentionally invalid EPUB where two manifest items carry the same id, so the spine's references become ambiguous and one chapter can be reached twice while another cannot be reached at all. Intentionally invalid and clearly labelled - an XML ID uniqueness violation, not a container defect.

Archive contents — 8 entriesepub
  • mimetype
  • container.xml
  • content.opf
  • nav.xhtml
  • style.css
  • chapter1.xhtml
  • chapter2.xhtml
  • chapter3.xhtml

Specifications

Seed
20260807
Epub Version
3.0
Duplicated Id
ch2
Affected Hrefs
chapter2.xhtml and chapter3.xhtml
Defect
two manifest items share the id ch2, so the spine's idrefs are ambiguous

Testing contract

Expected to fail
Scenario
Parse the package document and resolve each spine idref to a manifest item.
Expected result
An XML validator reports the duplicate ID; a reader resolves each idref to the first matching item, so chapter two appears twice and chapter three never enters the reading order.

What is a .epub file?

EPUB is the open e-book standard, a ZIP archive containing XHTML content documents, CSS, images, and a package manifest describing reading order and metadata. It supports reflowable text that adapts to screen size and is supported by most e-readers except Kindle natively. It is the dominant format for distributable e-books.

How to use this file

Use an example EPUB to test e-book parsing, ZIP-package and manifest handling, reading-order and metadata extraction, and rendering in e-reader applications.

How to use this file for testing

“EPUB 3 - Intentionally Invalid (duplicate manifest id)” is a deterministic Novus Examples fixture for Error handling, Conversion testing. Deliberately corrupt and invalid files, clearly labelled, for testing how your tool fails.

Documented properties for this file: seed 20260807. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

E-book fixtures are structured archives documented down to their spine and manifest. Test readers and converters, and where a valid↔intentionally-invalid pair exists, assert graceful handling of the malformed container.

Code examples

ebook-convert duplicate-manifest-id.epub out.pdf   # Calibre
unzip -l duplicate-manifest-id.epub                # EPUB is a ZIP

Generated by generation/ebooks_p7.py. Free for any use, no attribution required — license.