IngramSpark uses EpubCheck during ePub content validation to validate EPUB files. EpubCheck can detect many types of errors within an ePub that could prevent us from being able to process your content.
Open Container Format (OCF), Open Package Format (OPF), Open Publication Structure (OPS) mark-up, and internal reference consistency are checked through our content validation process when an EPUB file is uploaded through your IngramSpark account.
There are many online resources that can provide additional help and information regarding EPUBs:
RESOURCE SUMMARY |
URL |
International Digital Publishing Forum Homepage |
|
General information about EPUB formats |
|
Technical overview of EPUB 3.1 |
|
Technical review of each step of the EPUB validation process |
|
Any other links/documents we can refer to? |
|
Below is a reference table with information designed to help you navigate the errors you might see and the steps that can be taken to correct them.
GENERAL DOCUMENT AND HEADER ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The lang and xml:lang attributes must have the same value |
When using both language attributes on the same element, their values must match |
There must not be more than one meta element with a charset attribute per document |
A document only has one character encoding, so specifying the value twice is redundant and will possibly conflict |
The sizes attribute must not be specified on link elements that do not have a rel attribute that specifies the icon keyword |
The sizes attribute is only allowed to be used to specify the dimensions of an icon referenced by the link element |
For each Document, there must be no more than a one-time element with a pub date attribute that does not have an ancestor article element |
A document can only have a single publication date. If other time elements contain publication dates, they must each be inside a unique article |
For each article element, there must be no more than a one-time element child with a pub date attribute |
Each article can only have a single publication date |
MAP ELEMENT ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
Duplicate map name 'X' |
Two or more map elements have the same name attribute value, but each must be unique |
The id attribute on the map element must have the same value as the name attribute |
Just one of those quirky things that must be true (do we want to leave this statement in?) |
FORM ELEMENT ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
A select element whose multiple attributes are not specified must not have more than one descendant option element with its selected attribute set |
If you can pick only one option, it doesn’t make sense to specify that two or more are set by default. |
AUDIO/VIDEO ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The track element label attribute value must not be the empty string |
The label is used to announce the track type to the readers, so it cannot be empty |
There must not be more than one track child of a media element with the default attribute specified |
The default attribute is used to indicate which track to use when no reader preference is available. Specifying more than one default defeats the purpose of the attribute |
REFERENCING ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The X attribute must refer to an element in the same document (the ID 'Y' does not exist) |
Some elements must reference other elements in the document. The for attribute on a label element, for example, must reference the id of the form element it labels |
The X attribute must refer to elements in the same document (target ID missing) |
This error occurs when an attribute can reference more than one other element. There are a number of ARIA attributes that can reference multiple elements (aria-described by, aria-labeled by, aria-controls, etc.). Check that each reference can be resolved |
The X attribute does not refer to an allowed target element (expecting: Y) |
The attribute references another element, but it is the wrong kind of element. To use label again, it would be incorrect for it to point to anything but a form element |
The following errors impose additional restrictions on element and attribute usage that could not be enforced through the structural schema validation stage |
|
The X element must have a Y attribute |
This error occurs if the bdo element does not include a dir attribute |
The X element must not appear inside Y elements |
This error occurs if you attempt to embed one element inside another where it would make no sense or would cause rendering issues, such as an audio/video tag inside another audio or video, an address inside an address, etc. |
The X element must have an ancestor Y element |
This error occurs when an element is found outside of its expected ancestor. This error specifically occurs when an area tag is found outside of a map and when an image map is not wrapped inside of a tag |
EPUB; TYPE PROPERTY ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
Undefined property: X |
If a property in the epub: type does not have a prefix, it must be defined in the EPUB Structural Semantics Vocabulary |
Undeclared prefix: X |
You have used a prefix that has not been declared in the prefix attribute on the root HTML element |
SSML ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The ssml:ph attribute must not be specified on a descendant of an element that also carries this attribute |
When you use the ssml:ph attribute, the pronunciation is used in place of the text content of the element it is attached to. If you include an ssml:ph on a descendant element, it will never be announced |
CSS ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The scoped style element must occur before any other flow content other than other style elements and inter-element whitespace |
When adding CSS style definitions scoped to the current element, the style element must be the first child. This can be problematic when scoping styles for figures, as it is invalid to include the style element before a figcaption at the start of the figure |
ALT STYLE SHEET ERRORS |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
Conflicting attributes found: X |
You’ve specified both horizontal and vertical or night and day
|
ENTITY ERRORS |
|
The following errors occur when you include malformed entities |
|
ERROR MESSAGE |
RESOLUTION DETAIL |
The entity &xyz; was referenced, but not declared |
You need to change the referenced named entity to a numeric one |
The entity name must immediately follow the '&' in the entity reference |
You have an & in your document that needs to be changed to & to be valid |
The reference to entity X must end with the ';' delimiter |
You’re missing a semicolon at the end of an entity |
Need More?
Here is some additional information from our EPUB creation guide that may also help you
Why EPUB?
Each of our e‐book retail and library partners has unique file requirements. A valid EPUB, created with our outlined specifications, enables us to satisfy the requirements of each partner, getting your e‐book where it belongs—on every device.
The majority of e‐retailers will not sell PDF files in their e‐book stores. The EPUB format is the official standard of the IDPF (International Digital Publishing Forum) and is designed for reflowable content, meaning an EPUB reader can optimize text for a particular display device.
In your account, the ebook will appear as either fixed layout (FLEPUB) or reflowable (EPUB).
Fixed layout EPUBs are not reflowable and will only be available on Apple, Kobo, and Libreka. Barnes and Noble will accept fixed layout EPUBs for children's books only.
If you need the ebook changed from Reflowable to a Fixed Format or vice versa you will submit a new file to make that change. IngramSpark is not able to do this for you.
If the ebook is not appearing on Apple's iBookstore the problem could be the cover image is too large. The cover image is also inside the ebook, so both images need to be checked.
Apple requires the cover image to be less than 4 million pixels and all internal images to be less than 5.6 million pixels. You can calculate image size in pixels by viewing the file properties and multiplying the Height times the Width.(Total pixels = length in pixels X width in pixels). This is an Apple requirement. Cover images having more than 4 million pixels are not addressed by the IDPF (International Digital Publishing Forum) epub validating tool: validator.idpf.org. (If you use this epub validation tool, the file must be 10MB or less.) It may be possible to pass IDPF validation, but still, get rejected by IngramSpark or Apple.
Also, make sure there isn't a blank space in the file name. This can cause an error with Apple and cause the title to not be listed on their site.
E-Book File Creation: Important Specifications:
COVER (High-res JPG)
- The file must contain the front cover only. Full spread print book jackets that include spine and back cover will be rejected.
- Must be a JPG file format
- Size must be
- 2560 pixels on the longest side
- Minimum 1600 pixels on shortest side (350 dpi)
- All front covers must use RGB color
- The content of the cover image must not infringe on another publisher’s or artist’s copyright on the same cover.
INTERIOR (EPUB)
- Size: 100MB or less. Please note, while IngramSpark and retail sites can accept 100MB files, the IDPF Validator cannot check files over 10MB due to the amount of time it would take.
- Format: EPUB 3.0 required. We cannot accept enhanced EPUB 3 files at this time.
- No single image inside an EPUB can be greater than 3.2 million pixels. (Total pixels = length in pixels X width in pixels).
- Include an internal cover image. This should be formatted the same size and as part of your interior. (For use within the book content.)
- Be sure the metadata entered in IngramSpark matches the information on your cover. For example, if the cover art and the book asset are for a book titled Paradiso, but the metadata is for Purgatorio, then the items do not match.
- There should not be any reference to page numbers in the book. This includes the Table of Contents. Your e‐book will never look just like your print book. E‐readers are limited in the way they display content and your book will appear different from device to device.
A Note on Using a Third-Party EPUB Provider
We encourage you to verify that the files created by a third-party will be suitable for a production or manufacturing environment and not for personal use only.
One way to tell if your file is valid before uploading to IngramSpark is by running your file through IDPF’s free EPUB Validator validator.idpf.org this tool only accepts files up to 10 MB. Also, note there are e‐retailer specific requirements IDPF does not check. For instance, images are required to have no more than 3.2 million pixels, which is built into the IngramSpark quality check but not addressed by IDPF. Therefore, it may be possible to pass IDPF validation, but still get rejected by IngramSpark.
You can also use this epub validator: https://www.pagina.gmbh/produkte/epub-checker/ .
HELP US HELP YOU!
If this article didn't answer your question, please share in the comments section below the problem you experienced or the help you were needing.
Thank you!
Comments
0 comments
Please sign in to leave a comment.