先日来、日本でもiPadの予約が開始されましたが、幸運にも一足早く手にすることができました。
既に多くの方がレビューされているので細かなレビューはしないつもりですが、噂にたがわずとてもすばらしいアイテムです。おそらくこれまでiPhoneを使っていたり、メディアデータを積極的に電子化していた人にとっては現時点で最高のデバイスではないかと思います。
そんなiPadの数ある機能の中でも、特に注目されているのがiBooks。残念ながら日本ではしばらくサービスの提供が無さそうではありますが、本格的な電子書籍プラットフォームとして着目されている方も多いと思います。
ご存知のように、iBooksではアプリケーション内でiBookstoreというサイトにアクセスし、アプリケーション内で書籍を買うことができます。
このiBookstore内で使われているファイルフォーマットが、これまでこのBlogでも度々取り上げてきたEPUBです。
EPUBファイルについてはこの記事やこのタグを参照していただきたいのですが、基本的には、本の中身のデータと、メタデータとを一緒にZIP圧縮したファイルになっています。ということは、暗号化されている内容はともかくとして、どのようなファイル構造になっているかはこのZIPファイルを伸長すればわかるはず…
ということで、この度、以前から読まなきゃなーと思っていたChris Andersonの”Free”をiBookstoreで購入してみたので、その構造がどのようになっているか、EPUBで使われている各メタファイルの内容はどうなっているかを覗いてみたいと思います。なお、以下環境はすべてMacOSX 10.6です。
まず、iBooksに登録された本のうち、購入したもの、もしくは自分で登録したものは、オーディオブックと同じiTunesのBooksにまとめられます。iBookstore内の本はサンプルが取得出来るのですが、サンプルについてはBooksには入ってきません。
iBookstoreで購入した本のファイルは、音楽データと同じく、iTunesのライブラリの中に保存されます。例えば、今回の場合は ~/Music/iTunes/iTunes Media の下に Chris Anderson/Unknown Album/Free.epub のような感じで保存されていました。
さて、実態はZIPファイルである”Free.epub”を伸長してみると、次のようなファイル構成になっています。
naokisatoname:Free naoki$unzip Free.epub naokisatoname:Free naoki$ls -l * -rw-r--r-- 1 naoki staff 1644795 5 8 22:55 Free.epub ---------- 1 naoki staff 75928 5 8 22:30 iTunesArtwork ---------- 1 naoki staff 3769 5 8 22:55 iTunesMetadata.plist ---------- 1 naoki staff 20 3 25 21:10 mimetype META-INF: total 88 ---------- 1 naoki staff 242 3 25 21:10 container.xml ---------- 1 naoki staff 16834 3 31 16:07 encryption.xml ---------- 1 naoki staff 12611 3 31 16:07 signatures.xml ---------- 1 naoki staff 1800 5 8 22:30 sinf.xml OEBPS: total 1536 drwxr-xr-x 24 naoki staff 816 5 12 22:13 Images ---------- 1 naoki staff 2696 3 25 21:10 footnote1.html ---------- 1 naoki staff 748 3 25 21:10 footnote2.html ---------- 1 naoki staff 6977 3 25 21:10 free.opf ---------- 1 naoki staff 6193 3 25 21:10 free_ack01.html ---------- 1 naoki staff 930 3 25 21:10 free_adc01.html ---------- 1 naoki staff 1284 3 25 21:10 free_ata01.html ---------- 1 naoki staff 9187 3 25 21:10 free_bm01.html ---------- 1 naoki staff 5631 3 25 21:10 free_bm02.html ---------- 1 naoki staff 9665 3 25 21:10 free_bm03.html ---------- 1 naoki staff 6690 3 25 21:10 free_bm04.html ---------- 1 naoki staff 1240 3 25 21:10 free_bm05.html ---------- 1 naoki staff 17315 3 25 21:10 free_ch01.html ---------- 1 naoki staff 34932 3 25 21:10 free_ch02.html ---------- 1 naoki staff 46627 3 25 21:10 free_ch03.html ---------- 1 naoki staff 42426 3 25 21:10 free_ch04.html ---------- 1 naoki staff 42840 3 25 21:10 free_ch05.html ---------- 1 naoki staff 16078 3 25 21:10 free_ch06.html ---------- 1 naoki staff 39279 3 25 21:10 free_ch07.html ---------- 1 naoki staff 36256 3 25 21:10 free_ch08.html ---------- 1 naoki staff 68123 3 25 21:10 free_ch09.html ---------- 1 naoki staff 17279 3 25 21:10 free_ch10.html ---------- 1 naoki staff 21562 3 25 21:10 free_ch11.html ---------- 1 naoki staff 24337 3 25 21:10 free_ch12.html ---------- 1 naoki staff 20721 3 25 21:10 free_ch13.html ---------- 1 naoki staff 21209 3 25 21:10 free_ch14.html ---------- 1 naoki staff 14739 3 25 21:10 free_ch15.html ---------- 1 naoki staff 52401 3 25 21:10 free_ch16.html ---------- 1 naoki staff 1516 3 25 21:10 free_cop01.html ---------- 1 naoki staff 802 3 25 21:10 free_cov.html ---------- 1 naoki staff 839 3 25 21:10 free_cre01.html ---------- 1 naoki staff 610 3 25 21:10 free_ded01.html ---------- 1 naoki staff 3314 3 25 21:10 free_fm01.html ---------- 1 naoki staff 11611 3 25 21:10 free_fm02.html ---------- 1 naoki staff 58619 3 25 21:10 free_ind01.html ---------- 1 naoki staff 745 3 25 21:10 free_pt01.html ---------- 1 naoki staff 750 3 25 21:10 free_pt02.html ---------- 1 naoki staff 801 3 25 21:10 free_pt03.html ---------- 1 naoki staff 6427 3 25 21:10 free_toc.html ---------- 1 naoki staff 703 3 25 21:10 free_tp01.html ---------- 1 naoki staff 2634 3 25 21:10 page-template.xpgt ---------- 1 naoki staff 27403 3 25 21:10 pdlmsr.css ---------- 1 naoki staff 5158 3 25 21:10 toc.ncx
すなわち、”Free.epub”の直下に”mimetype”、”iTunesArtwork”、”iTunesMetadata.plist”の各ファイルと、メタデータが詰まった”META-INF”、本の実態である”OEBPS”というフォルダが存在しています。また、上のlsの結果からもわかるように、ファイルのパーミッションはすべて000になっていて、そのままでは触れなくなっています。
EPUBの仕様の1つで、ファイル構成の決まりごとを指定しているOCF 1.0によると、EPUB的に重要なファイルは “mimetype”、”META-INF”以下の各ファイルと、”OEBPS”以下の”free.opf”、”toc.ncx”になります。ちなみに、”iTunesArtwork”と”iTunesMetadata.plist”は多分iTunesで使用されるファイルで、(例えばこのツールとかを使って)自分で用意したEPUBでも、iTunesのBooksに登録すると自動的に追加されるようです。また、本の本体である”OEBPS”以下のHTMLや画像は当然暗号化されていて、読むことはできません。
それでは、個々のファイルの内容を見ていきます。まずは “mimetype” 。
application/epub+zip
この内容は、ご存じの方はご存知でしょう。詳細はこの記事やこちらの仕様書を御覧下さい。
“META-INF”フォルダには、必須である”container.xml”ファイルの他、デジタル署名を定義する”signatures.xml”、暗号化を設定している”encryption.xml”、そして仕様書にはないファイル”sinf.xml”の4ファイルが存在しています。
“container.xml”は、EPUBの中核とも言えるopfファイルの場所を指定するもの。内容はこの記事のものとほぼ同じです。
<?xml version="1.0"?> <container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> <rootfiles> <rootfile full-path="OEBPS/free.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container>
”signatures.xml”は、このEPUBの署名を指定するファイルです。実際には3行くらいのファイルになっていました。
<?xml version="1.0" encoding="UTF-8"?> <c:signatures xmlns:c="urn:oasis:names:tc:opendocument:xmlns:container"> <d:Signature xmlns:d="http://www.w3.org/2000/09/xmldsig#"> <d:SignedInfo> <d:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <d:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"/> <d:Reference URI="mimetype"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>jK41hNNg9yHE3Qyjik8tizbadMc= </d:DigestValue> </d:Reference> <d:Reference URI="META-INF/container.xml"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>w5rli5cHwlrYWIoiFKZvhms5ToE= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/footnote1.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>k96ZhhpOPNuD0eWghNn3W4WYHZM= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/footnote2.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>YEIvYP4ik5k/GT2K9QDJGbaVcmo= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free.opf"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>RitfaSZN6O/PHCE4RW/Ps88v74Q= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ack01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>j/2j9UJXkIEOJEI5gydaeyfZYhI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_adc01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>SeKCSTARBrktg4ZqLWiQB1XXElY= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ata01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>sssl0YFMDjdP/NhCxF8Mfj/grhE= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_bm01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>B7wmBgmyvFyHHLh315C7l30PvBc= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_bm02.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>QjhgLcuxuiq58X8B2+M6LEuaNNA= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_bm03.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>0UkIZ1TRrqKaqGw9ygxQdggvaBg= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_bm04.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>8Q5EMJ7a82v2/rC4FRYY7BtF1rg= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_bm05.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>EPxTr2efXgLuHvFZdGuELb9NK9s= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>sVXkCMwVTxaf08dZMmgUWCSqU9E= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch02.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>K7E3rGbONev8F5y7cB4STBx9mpA= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch03.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>6mWuw7wwvgP0ltlzfZhYJIxd7oQ= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch04.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>2Cre1HuhK3mcUqhRGvp/5WJ4Hvg= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch05.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>kpTRwEYs53z3TSEteyAjmwM+WdE= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch06.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>ueYKwoKchJa+gTBhQB0JflICGKI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch07.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>NXHM2FIvxjePv67110U1VQuwdVg= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch08.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>iSMdJoRHbjmZVlIJv26QiKqKCKg= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch09.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>O2eENGllrAr1DBxaeHQs4lss65g= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch10.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>8bZ5aC4KsQXWJ4EutYfnkWBNUZI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch11.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>cNX8Uajh9VJ1fZOdtEOod2Yh7kc= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch12.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>eS/ZZIylb/Roz7D3YbHtufXvNSY= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch13.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>mCkO1YX6lpCi9XKO5yL6127Klow= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch14.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>2SOa//QWuxD56HJmS3lbiyAvdy0= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch15.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>iXrKH7ojCrIdD/mmINZba5Wb+yc= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ch16.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>qcIXNPT9aPi5obOMHTCS8AW13z4= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_cop01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>JBPMxbVH4VEq5yc3d2/2qj0MZO8= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_cov.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>EIHlbzKfO9tyB5ULhUm1K3dyGd8= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_cre01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>kH/2po2VE8uyRjKJi7D68DsE/eI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ded01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>RE4C14wiYxlws/melHyBSt0ki58= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_fm01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>9rfCnsg7jsPhxdfrNts5RPz0sX8= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_fm02.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>ZUle+WrY8VQdvaE4MN7bvbuzsTE= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_ind01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>190evlVqFccE1ZpjvmdIAZ/BcP0= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_pt01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>Ly3PPGwsFLew0r/jTdb54QFIUyw= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_pt02.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>n6yqObKofr8EteEMl1hPStdysbA= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_pt03.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>nlNs+sEOGOHAOuPswr9zWWBrgr8= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_toc.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>+9mmispJK7AtdKIy3ffimB+0tDo= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/free_tp01.html"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>AiPngjtfjwkAu2YEwfcEqiNk96c= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/104.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>J6r6HLPO4uH2DL0x+78lIMntW4g= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/113.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>je3L48bOShO2YnbgbNV9MYZk6n0= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/115.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>q3ees1GDzIA2ZXHCdzX5RYmclG4= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/117.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>mVrBHp4+5s5T4n5vtBBLx1CybuI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/122.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>B/YE09o2zvWlMhzq6RFFMMYq/MU= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/141.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>SErxY2QUXf8gW+0hJiIeV2JgsaY= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/160.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>lRkpBM0IZT3lfYvwgIBhYsrTU4c= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/166.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>CXQhDcu9B9blXpfDCW7fKS7NckY= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/185.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>u1mtReZajRrdWXf36SrYCeiv2vo= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/188.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>6GtuLzeH1WMI7oV5YRu9IKoaNss= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/19.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>wG8ASuM7WtjqG0k/VYBVQWKV1so= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/21.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>/29dZ5vQad4fcwL9cj1dXmFA1Po= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/23.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>a6V9TOLhXTz2OrTX/QiDTITb1ZM= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/25.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>CLeXKlZ4ffjP36N2zAMg6dxwcsQ= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/26.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>sOuLlbfafh5yDRynovMcVpEHs+g= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/28.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>yUn+jS9gOew98na6zgTUTHCP9zw= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/60.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>9Ar6HYdcFVccojB0kHFZAQLJ5NQ= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/81.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>rppAYD+pY9egycC98t112V3HR+o= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/85.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>5ZRIvUPb7JAleKvudEFFN3JzGFs= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/arrow.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>1kAV+4iRNlDLKxLcTMqLEI/nE44= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/cover.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>wVRqxUEGa72CLvp3gELhNl/hGd4= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/Images/logo.jpg"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>N+jetA6+F1aMcxZWSz4gsVTd/RI= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/page-template.xpgt"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>IsLznQ9s7CofXB0FiNgDzeidLlU= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/pdlmsr.css"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>ynLcCk5L4BpN8hi5bqbcG4/qXdE= </d:DigestValue> </d:Reference> <d:Reference URI="OEBPS/toc.ncx"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>atd0UMEQVpZFQ9aJmOjvtunODsQ= </d:DigestValue> </d:Reference> <d:Reference URI="META-INF/encryption.xml"> <d:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <d:DigestValue>VZSsMfRCLdBiczUDo4ff9encxfw= </d:DigestValue> </d:Reference> </d:SignedInfo> <d:SignatureValue>XMfQpn7tf68BVrG2sjiIsPGseiI= </d:SignatureValue> <d:KeyInfo> <d:KeyName>1 </d:KeyName> </d:KeyInfo> </d:Signature> </c:signatures>
“encryption.xml”は、本の中身の暗号化の情報を持っています。
<?xml version="1.0" encoding="UTF-8"?> <c:encryption xmlns:c="urn:oasis:names:tc:opendocument:xmlns:container" xmlns:d="http://www.w3.org/2000/09/xmldsig#" xmlns:e="http://www.w3.org/2001/04/xmlenc#"> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/page-template.xpgt"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/pdlmsr.css"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_cov.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_tp01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ded01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_toc.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_fm01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_fm02.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_pt01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch02.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch03.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch04.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_pt02.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch05.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch06.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch07.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch08.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch09.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch10.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_pt03.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch11.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch12.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch13.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch14.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch15.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ch16.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_bm01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_bm02.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_bm03.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_bm04.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_bm05.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ack01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ind01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_ata01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_adc01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_cre01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/free_cop01.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/footnote1.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/footnote2.html"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/logo.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/19.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/arrow.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/21.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/23.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/25.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/26.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/28.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/60.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/81.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/85.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/104.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/113.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/115.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/117.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/122.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/141.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/160.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/166.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/185.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/188.jpg"/> </e:CipherData> </e:EncryptedData> <e:EncryptedData> <e:EncryptionMethod Algorithm="http://itunes.apple.com/dataenc"/> <d:KeyInfo> <d:KeyName>1</d:KeyName> </d:KeyInfo> <e:CipherData> <e:CipherReference URI="OEBPS/Images/cover.jpg"/> </e:CipherData> </e:EncryptedData> </c:encryption>
そして独自ファイルである”sinf.xml”。内容を見るとfairplayという文字が見えるので、AppleのDRMに関連するファイルなのだと思います。
<?xml version="1.0"?> <policy xmlns:fairplay="http://itunes.apple.com/ns/epub"> <fairplay:sinf> <fairplay:sID>1</fairplay:sID> <fairplay:sData>...xxx...</fairplay:sData> </fairplay:sinf> </policy>
以上が”META-INF”内の各ファイルの内容。”META-INF”についての詳細はこちらの仕様書を参照下さい。
続いて、実際の本の中身が入れられている”OEBPS”フォルダ。この中には、EPUBの骨格である”free.opf”ファイルと、目次用の”toc.ncx”ファイル、そして暗号化された章ごとのHTMLファイルや画像などが入っています。
“free.opf”の内容は次の通り。
<?xml version="1.0"?> <package xmlns="http://www.idpf.org/2007/opf" unique-identifier="ISBN" version="2.0"> <metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:opf="http://www.idpf.org/2007/opf"> <dc:title>Free</dc:title> <dc:language>en</dc:language> <dc:identifier id="ISBN" opf:scheme="9781401394516">9781401394516</dc:identifier> <dc:creator>Chris Anderson</dc:creator> <dc:contributor>Chris Anderson</dc:contributor> <dc:publisher>Hyperion</dc:publisher> <dc:rights>Copyright 2009 Chris Anderson</dc:rights> </metadata> <manifest> <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml" /> <item id="pt" href="page-template.xpgt" media-type="application/vnd.adobe.page-template+xml" /> <item id="msrcss" href="pdlmsr.css" media-type="text/css" /> <item id="cov" href="free_cov.html" media-type="application/xhtml+xml" /> <item id="tp01" href="free_tp01.html" media-type="application/xhtml+xml" /> <item id="ded01" href="free_ded01.html" media-type="application/xhtml+xml" /> <item id="toc" href="free_toc.html" media-type="application/xhtml+xml" /> <item id="fm01" href="free_fm01.html" media-type="application/xhtml+xml" /> <item id="fm02" href="free_fm02.html" media-type="application/xhtml+xml" /> <item id="ch01" href="free_ch01.html" media-type="application/xhtml+xml" /> <item id="pt01" href="free_pt01.html" media-type="application/xhtml+xml" /> <item id="ch02" href="free_ch02.html" media-type="application/xhtml+xml" /> <item id="ch03" href="free_ch03.html" media-type="application/xhtml+xml" /> <item id="ch04" href="free_ch04.html" media-type="application/xhtml+xml" /> <item id="pt02" href="free_pt02.html" media-type="application/xhtml+xml" /> <item id="ch05" href="free_ch05.html" media-type="application/xhtml+xml" /> <item id="ch06" href="free_ch06.html" media-type="application/xhtml+xml" /> <item id="ch07" href="free_ch07.html" media-type="application/xhtml+xml" /> <item id="ch08" href="free_ch08.html" media-type="application/xhtml+xml" /> <item id="ch09" href="free_ch09.html" media-type="application/xhtml+xml" /> <item id="ch10" href="free_ch10.html" media-type="application/xhtml+xml" /> <item id="pt03" href="free_pt03.html" media-type="application/xhtml+xml" /> <item id="ch11" href="free_ch11.html" media-type="application/xhtml+xml" /> <item id="ch12" href="free_ch12.html" media-type="application/xhtml+xml" /> <item id="ch13" href="free_ch13.html" media-type="application/xhtml+xml" /> <item id="ch14" href="free_ch14.html" media-type="application/xhtml+xml" /> <item id="ch15" href="free_ch15.html" media-type="application/xhtml+xml" /> <item id="ch16" href="free_ch16.html" media-type="application/xhtml+xml" /> <item id="bm01" href="free_bm01.html" media-type="application/xhtml+xml" /> <item id="bm02" href="free_bm02.html" media-type="application/xhtml+xml" /> <item id="bm03" href="free_bm03.html" media-type="application/xhtml+xml" /> <item id="bm04" href="free_bm04.html" media-type="application/xhtml+xml" /> <item id="bm05" href="free_bm05.html" media-type="application/xhtml+xml" /> <item id="ack01" href="free_ack01.html" media-type="application/xhtml+xml" /> <item id="ind01" href="free_ind01.html" media-type="application/xhtml+xml" /> <item id="ata01" href="free_ata01.html" media-type="application/xhtml+xml" /> <item id="adc01" href="free_adc01.html" media-type="application/xhtml+xml" /> <item id="cre01" href="free_cre01.html" media-type="application/xhtml+xml" /> <item id="cop01" href="free_cop01.html" media-type="application/xhtml+xml" /> <item id="footnote1" href="footnote1.html" media-type="application/xhtml+xml" /> <item id="footnote2" href="footnote2.html" media-type="application/xhtml+xml" /> <item id="image_0001" href="Images/logo.jpg" media-type="image/jpeg" /> <item id="image_0002" href="Images/19.jpg" media-type="image/jpeg" /> <item id="image_0003" href="Images/arrow.jpg" media-type="image/jpeg" /> <item id="image_0004" href="Images/21.jpg" media-type="image/jpeg" /> <item id="image_0005" href="Images/23.jpg" media-type="image/jpeg" /> <item id="image_0006" href="Images/25.jpg" media-type="image/jpeg" /> <item id="image_0007" href="Images/26.jpg" media-type="image/jpeg" /> <item id="image_0008" href="Images/28.jpg" media-type="image/jpeg" /> <item id="image_0009" href="Images/60.jpg" media-type="image/jpeg" /> <item id="image_0010" href="Images/81.jpg" media-type="image/jpeg" /> <item id="image_0011" href="Images/85.jpg" media-type="image/jpeg" /> <item id="image_0012" href="Images/104.jpg" media-type="image/jpeg" /> <item id="image_0013" href="Images/113.jpg" media-type="image/jpeg" /> <item id="image_0014" href="Images/115.jpg" media-type="image/jpeg" /> <item id="image_0015" href="Images/117.jpg" media-type="image/jpeg" /> <item id="image_0016" href="Images/122.jpg" media-type="image/jpeg" /> <item id="image_0017" href="Images/141.jpg" media-type="image/jpeg" /> <item id="image_0018" href="Images/160.jpg" media-type="image/jpeg" /> <item id="image_0019" href="Images/166.jpg" media-type="image/jpeg" /> <item id="image_0020" href="Images/185.jpg" media-type="image/jpeg" /> <item id="image_0021" href="Images/188.jpg" media-type="image/jpeg" /> <item id="my-cover-image" href="Images/cover.jpg" media-type="image/jpeg" /> </manifest> <spine toc="ncx"> <itemref idref="cov" /> <itemref idref="tp01" /> <itemref idref="ded01" /> <itemref idref="toc" /> <itemref idref="fm01" /> <itemref idref="fm02" /> <itemref idref="ch01" /> <itemref idref="pt01" /> <itemref idref="ch02" /> <itemref idref="ch03" /> <itemref idref="ch04" /> <itemref idref="pt02" /> <itemref idref="ch05" /> <itemref idref="ch06" /> <itemref idref="ch07" /> <itemref idref="ch08" /> <itemref idref="ch09" /> <itemref idref="ch10" /> <itemref idref="pt03" /> <itemref idref="ch11" /> <itemref idref="ch12" /> <itemref idref="ch13" /> <itemref idref="ch14" /> <itemref idref="ch15" /> <itemref idref="ch16" /> <itemref idref="bm01" /> <itemref idref="bm02" /> <itemref idref="bm03" /> <itemref idref="bm04" /> <itemref idref="ack01" /> <itemref idref="bm05" /> <itemref idref="ind01" /> <itemref idref="ata01" /> <itemref idref="adc01" /> <itemref idref="cre01" /> <itemref idref="cop01" /> <itemref idref="footnote1" /> <itemref idref="footnote2" /> </spine> <guide> <reference type="cover" title="Cover Image" href="free_cov.html" /> </guide> </package>
そして”toc.ncx”。
<?xml version="1.0"?> <!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN" "http://www.daisy.org/z3986/2005/ncx-2005-1.dtd"> <ncx xmlns="http://www.daisy.org/z3986/2005/ncx/" version="2005-1"> <head> <meta name="dtb:uid" content="c98702cc-1def-4789-9366-18d8bdf83710"/> <meta name="dtb:depth" content="1"/> <meta name="dtb:totalPageCount" content="0"/> <meta name="dtb:maxPageNumber" content="0"/> </head> <docTitle> <text>Free</text> </docTitle> <navMap> <navPoint id="navpoint-1" playOrder="1"><navLabel><text>Cover</text></navLabel><content src="free_cov.html"/></navPoint> <navPoint id="navpoint-2" playOrder="2"><navLabel><text>Title Page</text></navLabel><content src="free_tp01.html"/></navPoint> <navPoint id="navpoint-3" playOrder="3"><navLabel><text>Dedication</text></navLabel><content src="free_ded01.html"/></navPoint> <navPoint id="navpoint-4" playOrder="4"><navLabel><text>Contents</text></navLabel><content src="free_toc.html"/></navPoint> <navPoint id="navpoint-5" playOrder="5"><navLabel><text>List of Sidebars</text></navLabel><content src="free_fm01.html#fm01"/></navPoint> <navPoint id="navpoint-6" playOrder="6"><navLabel><text>Prologue</text></navLabel><content src="free_fm02.html#fm02"/></navPoint> <navPoint id="navpoint-7" playOrder="7"><navLabel><text>1</text></navLabel><content src="free_ch01.html#ch01"/></navPoint> <navPoint id="navpoint-8" playOrder="8"><navLabel><text>What Is Free?</text></navLabel><content src="free_pt01.html#pt01"/> <navPoint id="navpoint-9" playOrder="9"><navLabel><text>2</text></navLabel><content src="free_ch02.html#ch02"/></navPoint> <navPoint id="navpoint-10" playOrder="10"><navLabel><text>3</text></navLabel><content src="free_ch03.html#ch03"/></navPoint> <navPoint id="navpoint-11" playOrder="11"><navLabel><text>4</text></navLabel><content src="free_ch04.html#ch04"/></navPoint></navPoint> <navPoint id="navpoint-12" playOrder="12"><navLabel><text>Digital Free</text></navLabel><content src="free_pt02.html#pt02"/> <navPoint id="navpoint-13" playOrder="13"><navLabel><text>5</text></navLabel><content src="free_ch05.html#ch05"/></navPoint> <navPoint id="navpoint-14" playOrder="14"><navLabel><text>6</text></navLabel><content src="free_ch06.html#ch06"/></navPoint> <navPoint id="navpoint-15" playOrder="15"><navLabel><text>7</text></navLabel><content src="free_ch07.html#ch07"/></navPoint> <navPoint id="navpoint-16" playOrder="16"><navLabel><text>8</text></navLabel><content src="free_ch08.html#ch08"/></navPoint> <navPoint id="navpoint-17" playOrder="17"><navLabel><text>9</text></navLabel><content src="free_ch09.html#ch09"/></navPoint> <navPoint id="navpoint-18" playOrder="18"><navLabel><text>10</text></navLabel><content src="free_ch10.html#ch10"/></navPoint></navPoint> <navPoint id="navpoint-19" playOrder="19"><navLabel><text>Freeconomics and the Free World</text></navLabel><content src="free_pt03.html#pt03"/> <navPoint id="navpoint-20" playOrder="20"><navLabel><text>11</text></navLabel><content src="free_ch11.html#ch11"/></navPoint> <navPoint id="navpoint-21" playOrder="21"><navLabel><text>12</text></navLabel><content src="free_ch12.html#ch12"/></navPoint> <navPoint id="navpoint-22" playOrder="22"><navLabel><text>13</text></navLabel><content src="free_ch13.html#ch13"/></navPoint> <navPoint id="navpoint-23" playOrder="23"><navLabel><text>14</text></navLabel><content src="free_ch14.html#ch14"/></navPoint> <navPoint id="navpoint-24" playOrder="24"><navLabel><text>15</text></navLabel><content src="free_ch15.html#ch15"/></navPoint> <navPoint id="navpoint-25" playOrder="25"><navLabel><text>16</text></navLabel><content src="free_ch16.html#ch16"/></navPoint></navPoint> <navPoint id="navpoint-26" playOrder="26"><navLabel><text>Coda</text></navLabel><content src="free_bm01.html#bm01"/></navPoint> <navPoint id="navpoint-27" playOrder="27"><navLabel><text>Free Rules</text></navLabel><content src="free_bm02.html#bm02"/></navPoint> <navPoint id="navpoint-28" playOrder="28"><navLabel><text>Freemium Tactics</text></navLabel><content src="free_bm03.html#bm03"/></navPoint> <navPoint id="navpoint-29" playOrder="29"><navLabel><text>Fifty Business Models Built on Free</text></navLabel><content src="free_bm04.html#bm04"/></navPoint> <navPoint id="navpoint-30" playOrder="30"><navLabel><text>Acknowledgments</text></navLabel><content src="free_ack01.html#ack01"/></navPoint> <navPoint id="navpoint-31" playOrder="31"><navLabel><text>Searchable Terms</text></navLabel><content src="free_ind01.html#ind01"/></navPoint> <navPoint id="navpoint-32" playOrder="32"><navLabel><text>About the Author</text></navLabel><content src="free_ata01.html#ata01"/></navPoint> <navPoint id="navpoint-33" playOrder="33"><navLabel><text>Other Books by Chris Anderson</text></navLabel><content src="free_adc01.html#adc01"/></navPoint> <navPoint id="navpoint-34" playOrder="34"><navLabel><text>Credits</text></navLabel><content src="free_cre01.html#cre01"/></navPoint> <navPoint id="navpoint-35" playOrder="35"><navLabel><text>Copyright</text></navLabel><content src="free_cop01.html#cop01"/></navPoint> </navMap> </ncx>
この辺りはある程度EPUBについて調べている方であれば見覚えがあるのではないでしょうか?
Kindle等とは異なり、EPUBはオープンフォーマットなので当然ではあるのですが、iBookstore独自のものはDRM程度で、ファイルの構成も内容もEPUBの仕様書通りになっているという印象です。
ということは、EPUBの仕様書通りにファイルを構成すれば、iPadのiBooksで読める本が作成出来るということ。
この”Free”の構成・各ファイルの内容や、あるいは以前書いたこちらの記事、より詳細を知りたければ高瀬さんのOpen Publication Structure (OPS)日本語訳、Open Packaging Format (OPF)日本語訳 OEBPS Container Format (OCF) 1.0 日本語版等を参考に、これからの標準になるであろうEPUBの電子書籍を作ってみてはいかがでしょうか?