続2: エッ!EPUB作れ?

顛末記の続編がありました.せっかくepubcheckでOKになったと思ったのですが、「ちゃんとEPUB3で作ってくれ」とクレームがつきました.確かにepubcheckでは、
 
xhtm2epub_epubcheck:
     [java] Epubcheck Version 3.0b5
     [java]
     [java] Validating against EPUB version 2.0
     [java] No errors or warnings detected.
 
ということで、EPUB2でバリデーションしていました.スタイルシートを書くためいろいろ仕様書を見ているうちに、どこかで間違えて.opfのversion="2.0"にしてしまったのが原因です.EPUB3にするためには、これを"3.0"に変えてページナビゲーション用の目次をXHTMLで作るように変更しなければなりません.でも「EPUB3にまともに対応しているreaderなんてない」そうなので.ncxファイルも残しておいてやることにします.
 
なんとかこのコードを付け加えてEPUB3としてバリデーションしてみると、(文書構造のエラーを取ったあとですが)こんどはXHTMLのエラーが山ほど出てしまいました.どうやらXHTMLとしてはvalidでもHTML5としてはだめなようです.そのままAdobe Digital Editionで表示も出来るのですが、外部に配布するのにエラーがついていてはあまりにもみっともないだろうということで、元のHTMLを直すことにしました.まさかコンテンツまで直すはめになるとは思いませんでしたがしかたがありません.直した箇所は以下のようなものです.
 
1.<a>タグの子要素に<acronym>は使えない.<abbr>を使う.
2.<dl>の下に<dd>だけ書くのはダメ.空でもいいので<dt/>を入れる.
3.table/tbody/tr/tdに@alignなんて書けない.tdのコンテンツにstyleで記述した.
4.tableの下に<col>は書けない.colgroup/colと書かないとダメ.
 
これらはみんなHTML5になって変わったものです.HTML5になってもブラウザは少々のエラーがあろうと表示してしまうでしょうが、EPUBを作るほうからするとそうはいきません.
最終的に全部エラーを取って、
 
xhtm2epub_epubcheck:
     [java] Epubcheck Version 3.0b5
     [java]
     [java] Validating against EPUB version 3.0
     [java] No errors or warnings detected.
 
となりました.iPadでも表示できたようです.これでやっとfixできました.やれやれです.