Originally Posted by kovidgoyal
Umm no, the major problem with epubcheck is that all it checks for is the conformance of epub with various DTDs. In the real world, conformance with DTD's is by far the least important of all checks you could possibly perform. The only reason that epubcheck exists at all is that it is trivial to code.
And yet, the existence of epubcheck convinces endless scads of people that their epubs are going to work as they intended, just because they pass epubcheck. I would have been so much happier if trivial had been prepended to epubcheck. But then no one would use it and then how are we to give people a warm and fuzzy feeling that their epubs are A OK and going to work forever.
Actually I'm planning on writing an epub checking library in C++. I'd extend epubcheck, but it's in Java and I can't link to it in Sigil (no, JNI and GCJ/CNI don't count). And I agree, it's very
limited in it's current form. All of your arguments stand, although I do think that epubcheck still provides a useful service.
I'm interested in your (and other people's) thoughts on this: what should it check for etc. This project is a couple of months away until I get Sigil to a somewhat more stable state and implement the redesign + a few other major features. But I will start work on this eventually.
I plan on providing separate CLI and GUI applications (very simple things) that will use the library so that people who don't want to use Sigil can still benefit from this project.
Of course, since the lib will be in C++, it could also be easily linked to by applications written in, say, Python.