Lightning Source 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 Lightning Source account.
There are many online resources that can provide additional help and information regarding EPUBs:
RESOURCE SUMMARY | URL |
International Digital Publishing Forum Homepage | http://idpf.org/ |
General information about EPUB formats | http://idpf.org/epub |
Technical overview of EPUB 3.1 | https://www.w3.org/Submission/2017/SUBM-epub31-20170125/ |
Technical review of each step of the EPUB validation process | https://github.com/IDPF/epubcheck/wiki/Process |
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 size attribute must not be specified on link elements that do not have a rel attribute that specifies the icon keyword. | The size 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. |
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 | |
ERROR MESSAGE | RESOLUTION DETAIL |
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. |
SS 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. |
0 Comments