EPUB 3 - Spine, Intentionally Invalid (repeated itemref)
An intentionally invalid spine that references chapter one twice, in first and second position. Intentionally invalid and clearly labelled - it exposes pagination and progress code that assumes spine positions map one-to-one onto documents.
- mimetype
- container.xml
- content.opf
- nav.xhtml
- style.css
- chapter1.xhtml
- chapter2.xhtml
- chapter3.xhtml
Specifications
- Seed
- 20260807
- Epub Version
- 3.0
- Spine Items
- 4
- Repeated Idref
- ch1
- Defect
- the same manifest item is referenced twice in the spine
Testing contract
Expected to fail- Scenario
- Page through the book and watch the reading-progress indicator.
- Expected result
- A validator reports the duplicated itemref; the reader shows chapter one twice or de-duplicates it, and progress never exceeds one hundred per cent or runs backwards.
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 - Spine, Intentionally Invalid (repeated itemref)” 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-itemref.epub out.pdf # Calibre
unzip -l duplicate-itemref.epub # EPUB is a ZIPRelated files
- epubEPUB — Intentionally Invalid (bad OCF mimetype)An intentionally invalid EPUB: identical to the valid twin except its OCF mimetype entry is compressed and mislabelled as application/zip — a real EPUB spec violation. For testing how readers and validators handle a malformed container. Clearly labelled; harmless content.

- epubEPUB 3 - Embedded Font, Intentionally Invalid (obfuscation not declared)An intentionally invalid EPUB whose embedded font is IDPF-obfuscated while META-INF/encryption.xml is missing, so nothing in the container says the bytes were scrambled. Intentionally invalid and clearly labelled - this is the real-world failure where a book silently renders in a substitute face.

- epubEPUB 3 - Fixed Layout, Intentionally Invalid (no viewport meta)An intentionally invalid fixed-layout EPUB: rendition:layout says pre-paginated but no content document declares a viewport meta, so the canvas size is undefined. Intentionally invalid and clearly labelled - for testing validators and the fallback a reader picks when it has no dimensions to scale to.

- epubEPUB 3 - Intentionally Invalid (container declares no rootfile)An intentionally invalid EPUB whose META-INF/container.xml contains an empty rootfiles element, so nothing points at the package document - even though OEBPS/content.opf is present and correct. Intentionally invalid and clearly labelled; it separates readers that guess from readers that give up cleanly.

- epubEPUB 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.

- epubEPUB 3 - Intentionally Invalid (manifest item has no file)An intentionally invalid EPUB that declares chapter3.xhtml in the manifest, the spine and the contents, while the file itself is not in the ZIP. Intentionally invalid and clearly labelled - for testing the difference between a missing resource and an unreadable book.

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