My favorites | Sign in
Project Home Downloads Wiki Issues Source
Updated Mar 22, 2013 by

Using EpubCheck in your development

The following pages contain useful information about how you can use epubcheck in your development:

Developing EpubCheck

If you want to contribute to the project, this information might be useful to setup project environment on your system.


Start contributing

The project repository is using Maven. To build and test it you need Maven (2.3 or above) to be installed on your system.

After checking out the sources with SVN, you can easily import the repository into Eclipse using "File" > "Import …" > "Maven" > "Existing Maven Projects" > then browse for the directory containing the pom.xml file > "Finish".

Test suite (JUnit)

Note that you should provide unit tests (we're using JUnit) for every patch you do. Also, every patch must leave the JUnit test suite passing 100%! You can run the tests either from Eclipse or on the commandline from within trunk/:

mvn clean test

Building epubcheck

Run the following command from within trunk/ to build epubcheck from sources:

mvn install

Commit your patches

If you want your patches to be included in the next release, please contact us for SVN commit rights.

Comment by, Mar 31, 2010

I got a warning message. I have checked the links and the links are perfect. Please guide me how to resolve it.

WARNING: 9788702096194.epub/OPS/xhtml/forod.html(10): hyperlink to resource outside spine 'OPS/xhtml/toc.html'

Comment by, May 21, 2010

It's probably your playorder is off or duplicated.

Comment by, Sep 4, 2010

If I read correctly preserveAspectRatio="none" is a permissible value but epubcheck reports an error: # ERROR: FileName?.epub/titlepage.xhtml(13): bad value for attribute "preserveAspectRatio"

Comment by, Sep 4, 2010

There appears to be an error in epubcheck's date validation. It reports that date value '2006-03-01T00:00:00' is in error which seems to contradict W3C

Comment by, Oct 2, 2010

I'm experiencing the same problem with the date validation. For example, I get the following error:

ERROR: aliceadventure.epub/19033/content.opf(14): date value '2010-02-16T12:34:12.754941+00:00' is not valid, YYYY[-MM[-DD]] expected

the date is fine as far as I can see and it's also failing lots of other EPUB's which are happily opening in ADE.


Comment by, Oct 2, 2010

I imported the source code instead of using the jar and the date validation error disappeared, so I guess it just needed building from source rather than using the jar which was supplied.

Comment by, Oct 2, 2010

Anyone know why ADE doesn't seem to complain about invalid epub's? I can open all the test documents without any problem with it, yet in my app. I can't because i'm using EpubCheck? which fails them.



Comment by, Oct 2, 2010

Sorry for another message but how strict do we need to be on validation? I mean, I've had lots of messages like: first playOrder value is not 1 but I can still open the epub in ADE. It's coming back as a fail which means that my app. won't allow those epub's to be read - possibly being a bit strict. I'd appreciate another opinion on this.



Comment by, Dec 30, 2010

doc to epub is possible in Epub Process. and how can i split html file in multipul files.. it's posible?

Comment by, May 4, 2011

I ran ePub check and these are the errors: ERROR: /Users/elenacastro/Desktop/Dolor I-V - Rick Florino.epub/index_split_001.html(1763): attribute "name" not allowed here; expected attribute "accesskey", "charset", "class", "coords", "dir", "href", "hreflang", "id", "rel", "rev", "shape", "style", "tabindex", "target", "title", "type" or "xml:lang" ERROR: /Users/elenacastro/Desktop/Dolor I-V - Rick Florino.epub/titlepage.xhtml(14): value of attribute "preserveAspectRatio" is invalid; must be a string matching the regular expression "\s(none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax)\s+(meet|slice)?\s" Can you help me decifer what this means?

Comment by, Oct 21, 2011

@encas... Sorry for the late response, but here are the probable causes of your errors: 1. You wrote something like <a name="foo"> which, while valid HTML, is not valid XHTML. This should be replaced by <a id="foo">. That tripped me up a few times, but see the spec for details: 2. This is an error in the code; it has been fixed in r266, so the next release should not raise this error.

Comment by, Apr 18, 2012

Hello, epubcheck developers. Your epubcheck program can't check toc.ncx's <navMap> list count and whole pages count. This is very big problem. Our customer complain to me why your reader can't show whole pages even though it wasn't registed at toc.ncx <navMap> list based on your epubcheck utility. I think it is error. But your epubcheck can' find those kind of error.

Comment by, Jun 30, 2012

Suggested check to be added: note images that exceed the 2-million pixel limit of the Apple iBookstore as a warning, so we can see which images violate this size limitation.

Comment by, Jul 31, 2012

 Issue 109  patch is missing in the newest version. Code base changed little bit but this validation is useful while ACS server rejects such epubs. I have applied solution based on older one, should I provide a patch ?

Comment by, May 23, 2013

The use of MathML character entities for "not equal" (i.e. &ne; and &NotEqual?;) is considered as an error by ePubCheck. Both of these entities are properly declared in MathML though, respectively in iso-tech.ent + mmlalias.ent files. It should not be an error. ERROR: ....../EPUB/html5/demoSNE.html(89,97): Entity "ne" was referenced, but not declared. ERROR: ....../EPUB/html5/demoSNE.html(89,97): Entity "NotEqual?" was referenced, but not declared.

Comment by project member, May 27, 2013

@lzaysser: Please report this as an issue ( ) and attach an example!

Comment by, Jul 16, 2013

Greetings. Can someone please tell me what these errors mean and how to fix them?

Type File Line Position Message WARNING toc.ncx - - meta@dtb:uid content '' should conform to unique-identifier in content.opf: '' ERROR text/part1.xhtml 9 39 attribute "name" not allowed here; expected attribute "accesskey", "charset", "class", "coords", "dir", "href", "hreflang", "lang", "rel", "rev", "shape", "style", "tabindex", "target", "title", "type" or "xml:lang"

Thank you!

Powered by Google Project Hosting