EPUB Check 整合性確認ツール

EPUB Check とは

EPUBCheckとは、EPUBドキュメントのファイル構成や、文法の整合性を確認するためのツールです。OCFコンテナの構造や、OPF及びOCFのタグの整合性、ファイルの参照関係のエラーが検出可能なツールです。最初のバージョンはAdobeによって作られました。現在は、以下のURLで、オープンソースプロジェクトとして公開されています。


また、AppleのiBookStoreでは、コンテンツがEPUB Checkの試験に通ることを出稿の必要条件としています。

EPUB Check への機能拡張

今回のEPUB日本語拡張プロジェクトでは、EPUB Check に対し、次の2点の機能拡張を実施しました。
  1. CSS文法チェック機能の追加
  2. 出力メッセージの国際化および日本語メッセージの追加

CSS文法チェック機能の追加

現在公開されているEPUB CheckにはCSSのチェック機能はありません。その為、iBooksStoreを含め、CSSの文法違反をしているEPUBドキュメントが市場に多く出回っています。そういった現状を少しでも改善できれば、との思いでCSSのチェック機能を追加しました。

CSS Validatorは、W3Cの以下のサイトで公開されているものを組み込みました。


CSS文法チェック機能追加の問題点

CSS文法チェックの機能は組み込むことができましたが、以下のような問題点が残されています。
  1. CSS3の仕様が固まっていない
  2. EPUB3で利用できないプロパティが使われていても、文法的に正しければエラーとして検出されない
これらの問題については、公開後の仕様制定状況を見ながら、将来的に対応していきたいと思います。

出力メッセージの国際化

CSS Validatorはもともと国際化対応されていたため、CSSのエラーについては日本語での出力が可能ですが、EPUB Check本体については、あまり国際化対応については考えられていませんでした。この部分に対して、複数言語に対応可能な標準的な国際化の処理を加えました。

epubcheckの実行方法

Javaのランタイムをインストール後、コマンドラインから実行します。
java -jar dist\epubcheck-1.1-fat.jar xxx.epub -e -v

コマンドラインオプション

コマンドラインのオプションについては複数の指定方法があります。以下の順序で評価され設定されます。(上書きされます)

  1. プログラム内部に持つデフォルト値
  2. プロパティファイルによる指定
  3. コマンドライン引数による指定

デフォルトでcss validatorの出力はja(日本語)になっていますが、これをenに変更する場合は以下のように設定します。
Key=Valueで設定しますがコマンドラインからの入力の場合、Keyと=とValueの間にスペースを入れてはいけません。

java -jar ***.jar xxx.epub css.lang=en

参考:[[http://jigsaw.w3.org/css-validator/manual.html.ja#api]]

-v バージョン表示
-version バージョン表示
-h ヘルプ表示
-help ヘルプ表示
-e EpubCheckerのコマンドライン引数を暗黙的な物の含め全て表示
-effectiveProperties EpubCheckerのコマンドライン引数を暗黙的な物の含め全て表示
propertiesFile=[filePath] プロパティファイルを読み込む。コマンドライン引数よりも優先順位は低い
validateCss=[true/false] cssをvalidateするかどうか(デフォルトfalse)
css.profile=[css1/css2/css21/css3/svg/svgbasic/svgtiny/atsc-tv/mobile/tv] cssのプロファイルを指定
css.medium=[all/aural/braille/embossed/handheld/print/projection/screen/tty/tv/presentation] cssのmediumを指定
css.output=[text/xhtml/html (same result as xhtml)/soap12] cssバリデーションの出力結果形式を指定
css.lang=[de/en/es/fr/ja/ko/nl/zh-cn/pl/it] cssバリデーションの出力言語を指定
css.warning=[-1 (no warning)/0/1/2(all the warnings] cssバリデーションの出力レベルを指定
ć
Kazuyuki Kato,
2011/03/23 3:51
ċ
epubcheck-1.2-fat.jar
(4740k)
Kazuyuki Kato,
2011/03/30 2:56
ċ
epubcheck-src-1.2.zip
(2390k)
Kazuyuki Kato,
2011/03/30 2:56
Comments