{"id":5147,"date":"2011-03-04T15:14:43","date_gmt":"2011-03-04T07:59:22","guid":{"rendered":""},"modified":"2011-03-04T18:54:00","modified_gmt":"2011-03-04T12:54:00","slug":"epub-validation","status":"publish","type":"post","link":"https:\/\/kk.org\/screenpublishing\/epub-validation\/","title":{"rendered":"EPUB Validation Tools"},"content":{"rendered":"<p><img loading=\"lazy\" alt=\"threepress-epub-valid.jpg\" src=\"https:\/\/kk.org\/screenpublishing\/threepress-epub-valid.jpg\" width=\"199\" height=\"139\" class=\"mt-image-right\" style=\"float: right; margin: 0 0 20px 20px;\" \/>There are several conversion tools that will turn other file-types into an EPUB, but they won&#8217;t necessarily give you a <em>valid<\/em> file, that is, a file that strictly follows the <a href=\"http:\/\/idpf.org\/epub\">IDPF specification<\/a>. This can mean trouble when porting your EPUB to different readers. And even if you build EPUB files by hand, it&#8217;s easy to make small mistakes that might hinder readability. <\/p>\n<p><a href=\"http:\/\/code.google.com\/p\/epubcheck\/\">EpubCheck<\/a> evaluates your file&#8217;s container structure and markup, and it also checks for internal reference consistency. It&#8217;s an open source project which you can run on your own machine. If you&#8217;re not validating EPUBs in bulk for commercial distribution, <a href=\"http:\/\/threepress.org\/document\/epub-validate\/\">Threepress Consulting<\/a> graciously hosts a version of the tool, so you can just upload your file there for validation. <\/p>\n<p>Although the EpubCheck project wiki includes an <a href=\"http:\/\/code.google.com\/p\/epubcheck\/wiki\/Errors\">explanation of common errors<\/a>, it can be difficult to identify exactly what&#8217;s causing an error. <a href=\"http:\/\/code.google.com\/p\/flightcrew\/\">FlightCrew<\/a> is another open source validation tool, and one of its key features is that its error reports are very specific and clear. But FlightCrew doesn&#8217;t completely replace EpubCheck because there are certain errors it doesn&#8217;t detect (although it also detects some errors that EpubCheck won&#8217;t find). See the <a href=\"http:\/\/sigildev.blogspot.com\/2010\/10\/introducing-flightcrew-epub-validator.html\">author&#8217;s introduction<\/a> for an explanation of the differences.<\/p>\n<p>So, for now anyway, we&#8217;re using a two-step validation process. Please let us know if there are other validation tools we should know about.<\/p>\n<p><strong>Related resources:<\/strong><\/p>\n<p>Joshua Tallent&#8217;s TOC2011 presentation &#8220;<a href=\"http:\/\/www.toccon.com\/toc2011\/public\/schedule\/detail\/16126\">ePub Finishing Touches: Fixing Errors, Adding Metadata, and Tweaking Formatting<\/a>&#8221; [no talk, but his slides are linked from that page]<\/p>\n<p><a href=\"http:\/\/www.mobileread.com\/forums\/forumdisplay.php?f=179\">MobileRead ePub Forum<\/a> &#8212; lots of discussion of error troubleshooting<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are several conversion tools that will turn other file-types into an EPUB, but they won&#8217;t necessarily give you a valid file, that is, a file that strictly follows the IDPF specification. This can mean trouble when porting your EPUB &hellip; <a href=\"https:\/\/kk.org\/screenpublishing\/epub-validation\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"0","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/posts\/5147"}],"collection":[{"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/comments?post=5147"}],"version-history":[{"count":0,"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/posts\/5147\/revisions"}],"wp:attachment":[{"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/media?parent=5147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/categories?post=5147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kk.org\/screenpublishing\/wp-json\/wp\/v2\/tags?post=5147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}