对于大多数内容类型而言,EPUB 3 依赖于 XML 序列化,因此支持自动验证。EpubCheck 工具是测试 EPUB 文档的有效性和一致性的规范方法。EpubCheck 是一种开源的(Berkeley Software 发放许可)Java™ 库。有一个开发人员预览版可以与 EPUB 3 一起使用,本文中使用的也是这个版本。请参阅 参考资料 部分,获得最新版本的链接。
强烈建议您为所有 EPUB 内容文档使用 .xhtml 扩展名。如果未使用该扩展名,浏览器无法将 HTML 内容解释为 application/xhtml+xml
。在使用本文演示的 CSS 名称空间等众多特性时,必须使用 XML 处理模式。
典型情况下,您需要通过命令行与 EpubCheck 进行交互,如下所示。
$ java -jar epubcheck-3.0b3.jar sample.epub
Epubcheck Version 3.0b3
No errors or warnings detected.
如果您得到了 java.lang.NoClassDefFoundError: com/thaiopensource/validate/SchemaReader
错误响应,请确保 EpubCheck 发布版附带的库/目录与 EpubCheck JAR 文件处于同一个目录之中。
EpubCheck 3 可以单独验证 EPUB 包的一个子组件,如 清单 1 所示。本文示例中使用的这种极为有用的特性可以:
清单 1. 对单一文件类型运行 EpubCheck 3。
$ java -jar ~/src/epubcheck-3.0b3.jar sample-toc.xhtml -mode nav
Epubcheck Version 3.0b3
WARNING: sample-toc.xhtml: File is validated as a single file of type nav and version 3!
Only a subset of the available tests is run!
No errors or warnings detected.
转自:http://www.ibm.com/developerworks/cn/xml/x-richlayoutepub/
ps:可以将结果输出到文件中,命令为
java -jar epubcheck-3.0b3.jar sample.epub -out d:\\test.xml