iBookstoreで提供されているEPUB書籍の構造を覗く

先日来、日本でも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の電子書籍を作ってみてはいかがでしょうか?

%d人のブロガーが「いいね」をつけました。