達人出版会日記

ITエンジニア向けの技術系電子書籍の制作と販売を行う達人出版会のブログです。

電子書籍交換フォーマットによるサンプル文書データを作ってみました

先日、電子書籍交換フォーマット標準化プロジェクトから、「電子書籍交換フォーマット仕様書 β2版」が公開されました。

まだ案ということでもありますが、実際のタグ(というか要素名)やファイル、ディレクトリ構成などについても言及されていたため、この情報を使って電子書籍のデータを作れそうでした。ので、実際に作ってみました。

まあでも、実は仕様書で言及されている各データファイルのスキーマを定義しているDTDファイルeif.dtdが公開されてないのと、要素の親子関係が網羅的には記述されていない(一部は補足されている)ので、正直仕様書の情報だけではデータは作れないんですよね……。そこで、いろいろ推測を重ねてえいやっと作ってみたところがあります(一部はコメントでぶつぶつ書いてます)。

実際に作ってみて思ったことを。

  • 本文データファイルについて、中途半端にHTMLっぽくするくらいなら、いっそXHTML1.1のサブセットとかにした方が良さそうな気がする。追加した独自タグ(要素)はnamespaceを分けるとか(簡単のためprefix名も「eif」に固定する、とかでもいいと思う)。でも属性だけ拡張してる要素もあるので、そういうのは扱いが面倒になるのかも。
    • とりあえず本文データファイルの拡張子は「.html」にしてくれると、ブラウザで簡易な確認ができるので便利。
    • 本文データファイルのxmlnsに指定するのは何になるんだろう?
    • 本文データファイルでpre要素とかは使えるんだろうか?(というか使って見てるけど)
  • global_settingのhanging_char要素とhanging_punctuation要素の使い方がよく分からない
  • permission要素の使い方はもうちょっと説明が欲しい
  • 表紙とか目次とかはどう記述するのか、どう使われるのかがもうちょっと説明がほしい
  • 一ファイルにまとめる仕様(EPUBで言うところのOCFというかzip)も欲しい気がする。zipならzipでいいけど。

もっとも、具体的な仕様については、きっとドットブック(TTX)とXMDFを使ってる人ならすぐ分かるところもあるんでしょうけど、あいにくちゃんと使ったことがないので今ひとつピンと来ないところではあります。

それはさておき、当社は基本的には閲覧用フォーマットとしてはEPUBとPDFを、執筆用フォーマットとしてはReVIEWフォーマットを利用しており、直接電子書籍交換フォーマットを使ってデータを管理する予定は今のところなかったりします。が、このような形でフォーマットがオープンになり、ロイヤリティフリーで利用できるようになるのは大変素晴らしいことだと考えています。電子書籍交換フォーマット標準化プロジェクトについてはできる限りの応援をしたいところです。

それともう一つ、サンプルで使った青空文庫について。やっぱりこういう時に自由に使える文書があることはとても便利で、そしてそれが内容的にも優れたものであることはとても素晴らしいことだと思います。青空文庫の維持運営に関わっているみなさまに、あらためて感謝。