この文書は「EPUB Open Container Format (OCF) 3.1」の日本語訳である。最新の文書は https://www.w3.org/Submission/epub-ocf/ である。原文もしくは完全な情報は、 EPUB Open Container Format (OCF) 3.1 を参照されたい。
この日本語訳は参考である。公式な文書ではなく、翻訳・解釈の正確性を保証していない。
Copyright © 2017 . This document is available under the W3C Document License. See the W3C Intellectual Rights Notice and Legal Disclaimers for additional information.
この仕様、EPUB Open Container Format (OCF) 3.1 は、単一のファイル コンテナに関連するリソースのセットをカプセル化するためのファイル フォーマットと処理モデルを定義する。
このセクションは、発行時点におけるこのドキュメントのステータスについて説明する。他のドキュメントは、このドキュメントより優先されるだろう。現在の W3C 発行物のリストは、https://www.w3.org/TR/ の W3C テクニカル レポート インデックスにある。
このドキュメントを発行することで、W3C は、サブミッション メンバーが議論のために W3C へ正式な提案リクエストを行ったことを承認する。W3C がこのドキュメントを発行したことは、W3C によってその内容の承認、または W3C がそれによって扱われる問題に何らかのリソースを割り当てている、または持っていることを示していない。このドキュメントは、公認の W3C グループの成果物ではなく、W3C プロセスへの潜在的なインプットとして発行された。W3C チーム コメントは、このメンバー サブミッションと共に合同で発行されている。W3C サイトで承認されたメンバー サブミッションを発行することは、W3C メンバーシップの利点のひとつである。W3C 特許ポリシーのセクション 3.3 のメンバー サブミッションに関連する要件を参照されたい。完全な承認された W3C メンバー サブミッションのリストを参照されたい。
このセクションは規定ではない。
この仕様、EPUB Open Container Format (OCF) 3.1 は、EPUB コンテナという、単一ファイルのコンテナにひとつ以上の EPUB® 出版物を構成する関連リソースのセットをカプセル化するためのファイル形式と処理モデルを定義する。
この仕様書は、抽象的(抽象コンテナ)なファイルコレクションを構造化のための規則と、ZIP アーカイブ(ZIP コンテナ)内のこの抽象コンテナを表現するための規則を定義する。ZIP コンテナのための規則は、[ODF] によって使用される ZIP 技術に基づいて構築される。OCF は、この機能を必要とする EPUB 出版物のために、埋め込んだリソース、例えばフォントなどを難読化する方法を定義する。
この仕様は、XML および Web 標準に基づいて、デジタル出版物の交換や配信形式を構成する [EPUB 3.1] の仕様群のひとつである。これは EPUB 3.1 を構成する他の仕様を読み、調和して理解されることになっている。
この仕様書と前身の違いの詳細については [EPUB3 Changes] を参照されたい。
EPUB 3.1 で固有の意味を持つ用語は、このドキュメントで利用される(例えば、「著者」や「リーディング システム」)。これら用語と定義の完全なリストは、[EPUB 3.1] で提供されている。
セクションにある用語の最初のインスタンスのみが、その定義にリンクされる。
また、以下の用語は、この仕様で使用するために定義されている。
コーデックは、例えば、動画と音声メディア タイプなどを最適な圧縮のために設計され、また、最適化されたストリーミング機能を提供する、本質的なバイナリ形式の品質を持っているコンテンツを指す。
container.xml ファイルの最初の rootfile
要素に記載されるレンディション。
ディレクトリかディレクトリ内のファイルかにかかわらず、OCF 抽象コンテナ内にあるファイルの全てのタイプの名前。
非コーデックは、(例えば、HTML、CSS など)文字列に基づいたファイル形式のように、それらの内部データ構造の性質のおかげで、圧縮の利益を受けるコンテンツ タイプを指す。
OCF 抽象コンテナは、OCF 抽象コンテナで定義されているように、OCF ZIP コンテナのコンテンツのために、ファイル システムのモデルを定義する。
この本仕様の要件に従って OCF ZIP コンテナを処理するソフトウェア アプリケーション。
OCF ZIP コンテナに定義されているように、EPUB 出版物の ZIP ベースのパッケージングと配布形式。
OCF ZIP コンテナと EPUB コンテナは、同義である。
OCF 抽象コンテナ内の特定のディレクトリのために、ディレクトリのファイル名を分離する /
(U+002F
)文字列で連結されたフルパスにある全てのディレクトリのファイル名を保持する文字列。
OCF 抽象コンテナ内の特定のファイルのために、パス名は、ファイルのファイル名の後に /
文字列に続く、ディレクトリのファイル名を分離する /
文字列で連結された全てのディレクトリのファイル名を保持する文字列である。
ルート ディレクトリは、OCF 抽象コンテナファイル システムの基点を表現する。このディレクトリは、性質上、仮想で、EPUB リーディング システムは、コンテンツが解凍されているとき、OCF 抽象コンテナのコンテンツのための物理的なルート ディレクトリを生成するかもしれないし、しないかもしれない。
この文書内のキーワード、MUST、MUST NOT、REQUIRED、SHALL、SHALL NOT、SHOULD、SHOULD NOT、RECOMMENDED、MAY、OPTIONAL は、[RFC2119] の記述に従って解釈される。
この仕様のすべてのセクションと付録は規定ある。但し"このセクションは有益な情報である"という参考情報状態ラベルで識別される箇所を除く。セクションと補足への参考情報状態の適用は、含まれる子コンテンツおよびサブセクションに適用される。
この仕様のすべての例は規定ではない。
OCF 抽象コンテナは、OCF 抽象コンテナで定義された適合性要件を満たさなければならない(MUST)。
OCF ZIP コンテナは、OCF ZIP コンテナで定義された適合性要件を満たさなければならない(MUST)。
EPUB リーディング システムは、以下の基準全てを満たさなければならない(MUST):
それは、OCF ZIP コンテナで表現されたすべてのリーディング システムの適合性要件に適合する OCF ZIP コンテナを処理しなければならない(MUST)。
このセクションは規定ではない。
OCF 抽象コンテナのファイル システムのモデルは、コンテンツのすべてに単一で共通のルート ディレクトリを使用する。EPUB 出版物の全てのローカル リソースは、ルート ディレクトリを先頭にしてディレクトリ ツリー内に配置されるが、この仕様によって強制される、それらのための特定のファイル システム構造はない。
ファイル システムのモデルは、ルート ディレクトリの直接の子で、以下の特別なファイルを補完するに利用する META-INF
という名前の必須ディレクトリを包含する。
container.xml
[必須]
EPUB 出版物の各レンディションを定義するパッケージ ドキュメントを識別する。
signatures.xml
[省略可]
様々な資産のためのデジタル署名が含まれている。
encryption.xml
[省略可]
metadata.xml
[省略可]
OCF ZIP コンテナに関するメタデータを格納するために使用する。
rights.xml
[省略可]
デジタル著作権に関する情報を格納するために使用する。
manifest.xml
[省略可]
オープン ドキュメント フォーマット [ODF] によって許可されるコンテナ コンテンツのマニフェスト。
META-INF
ディレクトリの各ファイルのための適合性要件は、META-INF
ディレクトリで定義されている。
OCF 抽象コンテナのための仮想ファイル システムは、コンテナのコンテンツのすべてに単一の共通のルート ディレクトリを持たなければならない(MUST)。
OCF 抽象コンテナは、コンテナのルート ディレクトリの直接の子である META-INF
という名前のディレクトリを包含しなければならない(MUST)。このディレクトリのコンテンツのための要件は、META-INF
ディレクトリに記載されている。
ルート ディレクトリにあるファイル名の mimetype
は、OCF ZIP コンテナで説明されているとおり、OCF ZIP コンテナによって使用するために予約済みである。
OCF 抽象コンテナ内の他の全てのファイルは、META-INF
ディレクトリ内に存在せず提供され、ルート ディレクトリから任意の場所の子孫でもよい(MAY)。
EPUB 出版物のコンテンツは、ルート ディレクトリ配下の専用のディレクトリに格納されることを推奨する(RECOMMENDED)。
OCF 抽象コンテナ内のファイルは、相対 IRI 参照([RFC3987] と [RFC3986])経由して相互に参照しなければならない(MUST)。
次の例は、XHTML コンテンツ ドキュメントと同じディレクトリにあるファイル名 image1.jpg
が、どのように [HTML] の img
要素から参照されるかを示している。
<img src="image1.jpg" alt="…" />
相対 IRI 参照は、ベース IRI [RFC3986] に与えられたファイル形式に関連のある言語仕様によって決定される。例えば、CSS は、CSS スタイルシートとプロパティ宣言 [CSS Snapshot] のコンテクストでどのように相対 IRI 参照が動作するのかを定義する。
ほとんどの言語仕様とは異なり、META-INF
ディレクトリ内の全てのファイルのためのベース IRI は、初期設定のベース IRI としてOCF 抽象コンテナのルート ディレクトリを使用する。
例えば、META-INF/container.xml
が以下の内容の場合:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="EPUB/Great_Expectations.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
この場合、EPUB/Great Expectations.opf
のパスは OCF 抽象コンテナのためのルートディレクトリから相対であり、META-INF
ディレクトリからの相対ではない。
全ての相対 IRI 参照は、OCF 抽象コンテナ内のリソース(すなわち、ルート ディレクトリ以下)を解決しなければならない(MUST)。
このセクションで説明されたファイル名の制約は、最も一般的に使用されているオペレーティング システム上で変更なしに使用されているパス名とファイル名を考慮にいれて設計されている。本仕様書は、OCF ファイルとパス名を表すことのできない OCF プロセッサの相互互換性を補う方法を指定しない。
OCF 抽象コンテナのコンテクストでは、ファイル名とパス名の大小文字を区別し、次の基準を満たさなければならない(MUST):
ファイル名は、UTF-8 [Unicode] でエンコードしなければならない(MUST)。
ファイル名は、255バイトを超えてはならない(MUST NOT)。
OCF 抽象コンテナ内の任意のディレクトリまたはファイルのパス名は、65,535バイトを超えてはならない(MUST NOT)。
ファイル名は、これらの文字は、一般的に使用されるオペレーティング・システムの間で一貫してサポートされない場合があり、以下の [Unicode] は使用してはならない(MUST NOT):
スラッシュ: /
(U+002F
)
クォーテーションマーク: "
(U+0022
)
アスタリスク: *
(U+002A
)
ピリオド: .
(U+002E
)
コロン: :
(U+003A
)
小なり記号: <
(U+003C
)
大なり記号: >
(U+003E
)
クエスチョンマーク: ?
(U+003F
)
バックスラッシュ: \
(U+005C
)
DEL (U+007F
)
C0 領域 (U+0000 … U+001F
)
C1 領域 (U+0080 … U+009F
)
私用領域 (U+E000 … U+F8FF
)
アラビア表示形 A の非文字 (U+FDDO … U+FDEF
)
特殊用途文字 (U+FFF0 … U+FFFF
)
タグと異体字セレクタ補助 (U+E0000 … U+E0FFF
)
補助私用領域A (U+F0000 … U+FFFFF
)
補助私用領域B (U+100000 … U+10FFFF
)
同じディレクトリ内にあるすべてのファイル名は、[Unicode] のセクション 3.13 で定義されているような正規化のケースに従い一意でなければならない(MUST)。
同じディレクトリ内にあるすべてのファイル名は、NFC または NFD の正規化 [TR15] に従い一意であるべきである(SHOULD)。
いくつかの商用 ZIP ツールは、完全な Unicode の範囲をサポートしておらず、ファイル名のみ [US-ASCII] の範囲のみサポートするかもしれない。これらの制限を持つ ZIP ツールを使うことを望む製作者は、[US-ASCII] 範囲にこれらのファイル名を制限することが最善であることに気づくだろう。ファイルの名前は、解凍処理の中に保存することができない場合、そのファイルはコンテンツ内のURIにより参照されるときに行われた任意の名前に変換を相殺する必要がある。
全ての OCF 抽象コンテナは、それらのルート ディレクトリに META-INF
と呼ばれるディレクトリを包含しなければならない(MUST)。
このディレクトリは、META-INF 予約済みファイルで指定されたファイルを含む。そのセクションに記載されているもの以外のファイルは、META-INF
ディレクトリに包含されてもよい(MAY)。このようなファイルに遭遇したとき、OCF プロセッサは、機能しなくなってはならない(MUST NOT)。
META-INF
ディレクトリにある必須の container.xml
ファイルは、OCF 抽象コンテナの EPUB パッケージを識別する。
このファイルのコンテンツは、(このような要素のすべての属性と内容を含む)他の名前空間から全ての要素と属性を取り除いた後に、container.xml
のスキーマにあるスキーマに妥当でなければならない(MUST)。
各 rootfile
要素は、EPUB 出版物のひとつのレンディションを表しているパッケージ ドキュメントの配置を特定しなければならない(MUST)。
OCF プロセッサは、含まれている EPUB 出版物の初期設定のレンダリングを表現するために rootfiles
要素内の最初の rootfile
要素を考慮しなければならない(MUST)。リーディング システムは、初期設定のレンディションの表示は必須(REQUIRED)だが、コンテナ内の他のレンディションを表示してもよい(MAY)。
以下のサンプルは、ルートファイルの EPUB/My Crazy Life.opf
(パッケージ ドキュメント)を持つ EPUB 出版物のためのサンプル container.xml
を示している:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="EPUB/My_Crazy_Life.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
以下のサンプルは、同じコンテナ内にバンドルされている SVG と XHTMLのレンディションを示している:
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="SVG/Sandman.opf"
media-type="application/oebps-package+xml" />
<rootfile full-path="XHTML/Sandman.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
省略可能(OPTIONAL)な links
要素は、OCF ZIP コンテナの処理に必要なリソースを識別する。その子 link
要素のそれぞれは、値が、リソースの配置を識別する href
属性を包含しなければならない(MUST)。各 link
要素は、値が、リソースの関係性を識別する rel
属性もまた包含しなければならず(MUST)、値が、link
によって参照されたリソースの種類と形式を指定するメディア タイプ [RFC2046] でなければならない(MUST) media-type
属性を包含してもよい(MAY)。
rootfile
要素の full-path
属性と link
要素の href
属性の値は、path component [RFC3986] を含まなければならなず(MUST)、要は、path-rootless [RFC3986] の形式のみから得なければならない(MUST)。path component は、ルート ディレクトリに相対的である。
OCF プロセッサは、container.xml
ファイル内にある外部の要素と属性を無視しなければならない(MUST)。
META-INF
ディレクトリ内にある省略可能(OPTIONAL)な encryption.xml
ファイルは、コンテナのコンテンツの全ての暗号化情報を保持する。コンテナ内の任意のリソースが暗号化されているとき、encryption.xml
は、リソースが暗号化されていることを示し、暗号化されている方法の情報を提供するために存在していなければならない(MUST)。
このファイルは、ルート要素の encryption
の XML 文書である。encryption
要素は、[XML ENC Core] で定義されている EncryptedKey
と EncryptedData
型の子要素を含む。EncryptedKey
要素が、暗号化された各ファイルを説明するのと同時に、EncryptedData
要素は、コンテナ内で使用される各暗号化キーを説明する。各 EncryptedData
要素は、XML Encryption で説明されているように、EncryptedKey
要素を参照する。
encryption.xml
ファイルのコンテンツは、encryption.xml
のスキーマのスキーマに妥当でなければならない(MUST)。
OCF は、独立して個々のファイルを暗号化し、これらはセキュリティとパフォーマンスのトレードオフだが、コンテナのコンテンツは一つ一つ復号化される。この方法による暗号化は、パッケージ全体のディレクトリの構造とファイルの命名を公開する。
OCF は、様々なアルゴリズムを使用できるように、暗号化のフレームワークを提供する XML Encryption [XML ENC Core] を使用する。XML Encryption は、任意のデータを暗号化し、結果を XML で表現するための処理を規定している。OCF 抽象コンテナは、非 XML データが含まれてもよく、XML Encryption は、OCF 抽象コンテナに含まれるすべてのデータを暗号化するために使用できる。OCF 暗号化は、コンテナ内のファイル全体のみをサポートし、ファイルの一部の暗号化はサポートしない。encryption.xml
ファイルは、もし存在するなら、暗号化はしてはならない(MUST NOT)。
暗号化データは、OCF 抽象コンテナ内の非暗号化データを置き換える。例えば、photo.jpeg
という名前の画像が暗号化されているとき、photo.jpeg
リソースのコンテンツは、その暗号化されたコンテンツにより置き換えられるべきである(SHOULD)。ZIP ディレクトリ内では、暗号化されたフィルは、デフレートで圧縮するよりは、むしろ格納するべきである(SHOULD)。
状況によっては、"親" の EPUB 出版物に繋ぎ、(例えば、フォントなどを)無制限に使用するための抽出をより困難にするために、レンディションによって参照される埋め込みリソースのストレージを難読化する必要があることに注意されたい。難読化は暗号化ではないので、encryption.xml
ファイルは、それらを使用する前に、難読化解除に必要なリソースを識別するために IDPF リソース難読化アルゴリズムと共に使用される。
以下のファイルは、初期設定か特定の暗号化が求められているかどうかに関わらず暗号化してはならない(MUST NOT):
mimetype |
META-INF/container.xml |
META-INF/encryption.xml |
META-INF/manifest.xml |
META-INF/metadata.xml |
META-INF/rights.xml |
META-INF/signatures.xml |
パッケージ ドキュメント |
署名済みリソースは、続けて XML 署名復号変換 [XML SIG Decrypt] を使用して暗号化してもよい(MAY)。この機能は、例えば署名後に暗号化したデータから署名する前に暗号化されたデータを識別する OCF エージェントなどのアプリケーションを可能にする。署名後に暗号化されたデータのみ、署名を検証するために使用する要約を計算する前に複合しなければならない(MUST)。
次の例では、[XML ENC Core] のセクション 2.2.1 から適合したリソース image.jpeg
は、対象鍵アルゴリズム (AES) を使用する暗号化と、対象鍵は、ジョン・スミスのキーを持つ非対称鍵アルゴリズム (RSA) を使用してさらに暗号化される。
<encryption
xmlns ="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<enc:EncryptedKey Id="EK">
<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<ds:KeyInfo>
<ds:KeyName>John Smith</ds:KeyName>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherValue>xyzabc</enc:CipherValue>
</enc:CipherData>
</enc:EncryptedKey>
<enc:EncryptedData Id="ED1">
<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>
<ds:KeyInfo>
<ds:RetrievalMethod URI="#EK"
Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherReference URI="image.jpeg"/>
</enc:CipherData>
</enc:EncryptedData>
</encryption>
ZIP コンテナに格納されているとき、非コーデックのコンテンツ タイプであるデータのストリームは、それらが圧縮される前に暗号化されるべきで(SHOULD)、デフレート圧縮が使用されなければならない(MUST)。この方法は、ZIP コンテナに格納されるファイル エントリが小さなサイズであることを保証する。
コーデックのコンテンツ タイプであるデータのストリームは、それらが暗号化される前に圧縮されるべきではない(SHOULD NOT)。このような場合、追加の圧縮は、(特に大きなリソース ファイルを含む)制作時におけるオーバーヘッドの不要な処理を取り込むだろうし、消費時における音声/動画の再生パフォーマンスに影響を与えるであろう。場合によっては、いくつかの暗号化スキームを伴う圧縮の組み合わせは、(例えば、HTTP Content-Length header など)メディアの再生に先んじて完全なリソースの長さを決定することが技術的に不可能なために、(例えば、HTTP byte ranges など)部分的なコンテンツの要求を処理するリーディング システムの能力を損なうかもしれない
暗号化する前に圧縮されたデータのストリームは、次で定義されている Compression
XML 要素に従って、初期リソースのサイズ(すなわち、圧縮と暗号化する前)を指定する、追加の EncryptionProperties
メタデータを提供するべきである(SHOULD)。暗号化する前に圧縮されていないデータのストリームは、初期リソースのサイズ(すなわち、暗号化する前)を指定する、追加の EncryptionProperties
メタデータを提供してもよい(MAY)。
Compression
http://www.idpf.org/2016/encryption#compression
省略可能(OPTIONAL)な EncryptionProperty
の子。
[必須(required)]
使用している圧縮方法を識別する。
値は、「0
」(非圧縮)かそれとも「8
」(デフレート アルゴリズム)である。
[必須(required)]
初期リソースのサイズ(バイト数)を表す。
値は、正の整数である。
空
次の例は、デフレート圧縮され、元のサイズが 3500000 バイトの MP4 ファイルを示している。
<encryption xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<enc:EncryptedData xmlns:enc="http://www.w3.org/2001/04/xmlenc#">
...
<enc:CipherData>
<enc:CipherReference URI="OEPBS/video.mp4"/>
</enc:CipherData>
<enc:EncryptionProperties>
<enc:EncryptionProperty xmlns:ns="http://www.idpf.org/2016/encryption#compression">
<ns:Compression Method="8" OriginalLength="3500000"/>
</enc:EncryptionProperty>
</enc:EncryptionProperties>
...
</enc:EncryptedData>
</encryption>
META-INF
ディレクトリの省略可能(OPTIONAL)な manifest.xml
ファイルは、コンテナ内にあるファイルのマニフェストを提供する。
OCF 仕様は、マニフェストにメタデータ形式を指定しない。
パッケージ ドキュメントに含まれる manifest
要素は、規定のレンディションを処理するために使用される、ただひとつのマニフェストを識別することに注意されたい。ZIP アーカイブもしくは省略可能(OPTIONAL)な manifest.xml
に含まれている補助的なマニフェスト情報は、レンディションを処理するために使用してはならない(MUST NOT)。
META-INF
ディレクトリに省略可能(OPTIONAL)な META-INF/metadata.xml
ファイルが、もし存在するなら、コンテナレベルのメタデータのために使用しなければならない(MUST)。
metadata.xml
ファイルが存在するとき、そのコンテンツは、名前空間で装飾された要素 [XMLNS] のみにするべきである(SHOULD)。ファイルは、名前空間 http://www.idpf.org/2013/metadata
のルート要素 metadata
を含むべきだが(SHOULD)、他のルート要素は、後方互換性のために許可する。リーディング システムは、認識されていないルート要素を持つ metadata.xml
ファイルを無視するべきである(SHOULD)。
OCF 仕様のこのバージョンは、metadata.xml
ファイルで使用するためのメタデータを定義しない。コンテナ レベルのメタデータは、この仕様の将来のバージョンと IDPF が定義する EPUB 拡張仕様で定義してもよい(MAY)。
META-INF
ディレクトリの省略可能(OPTIONAL)な rights.xml
ファイルは、権利者、仲介者、そして利用者の間で EPUB 出版物の交換のための信頼できるデジタル著作権管理 (DRM) 情報のために予約されている。
OCF 仕様のこのバージョンでは、DRM 情報に特定の形式を要求しないが、将来のバージョンでは、そうするかもしれない。rights.xml
ファイルのコンテンツは、将来の形式との衝突を回避するために、名前空間で装飾された要素 [XMLNS] のみにするべきである(SHOULD)。
rights.xml
ファイルが存在しないとき、コンテナの何れの部分も、コンテナ レベルで管理される権利はない。権利の表現は、含まれているレンディション内に存在するかもしれない。
rights.xml
ファイルが存在しない場合、OCF 抽象コンテナのいかなる部分も権利に抑制されない。
META-INF
ディレクトリ内の省略可能(OPTIONAL)な signatures.xml
ファイルは、コンテナとコンテンツのための電子署名を保持する。このファイルのコンテンツは、signatures.xml
のスキーマのスキーマに妥当でなければならない(MUST)。
signatures.xml
ファイルのルート要素は、signatures
要素である。この要素は、[XML DSIG Core] で定義されているように Signature
型の子要素を含んでいる。署名は、全体または部分的に、EPUB 出版物へ適用でき、(XML だけでなく)あらゆる種類のデータの署名を特定することができる。
signatures.xml
ファイルが存在しないとき、コンテナのいかなる部分もコンテナ レベルで電子的に署名されていない。電子署名は、EPUB 出版物内に存在するかもしれない。
データの署名がコンテナのために作られるとき、署名は、signatures
要素の最後の子 Signature
要素として追加されるべきである(SHOULD)。
signatures.xml
ファイルの各 Signature
は、[XML DSIG Core] の Manifest
要素とその Reference
サブ要素を使用して、IRI の署名が適用されるデータによって識別される。単一で含まれるファイルは、個々にまたは統合して署名されるかもしれない。個々に署名された各ファイルは、独立して検証できるリソースのダイジェスト値が作られる。このアプローチでは、署名の要素が大きくなってもよい。ファイルが統合して署名されるとき、署名されたファイルのセットは、単一の XML 署名の Manifest
要素のリスト化され、一つ以上の Signature
要素によって参照することができる。
コンテナの任意または全てのファイルは、計算された署名情報を含んでいる signatures.xml
ファイルを除外して、全体を署名することができる。signatures.xml
ファイルを署名するべきか、またその署名方法は、署名者の目的に依存する。
署名者が、署名者の署名を無効にせずにコンテナに署名を追加したり削除したりできるようにしたい場合は、signatures.xml
ファイルに署名するべきではない(SHOULD NOT)。
署名者が、署名の任意の追加または削除をしたときに署名者の署名を無効にしたい場合は、[XML DSIG Core] のセクション 6.6.4 で定義されている エンベロープ署名変換を作成済みの Signature
を除いた全体の既存の署名ファイルに署名するために使用することができる。この変換は、既存の全ての署名を署名できるだろうが、パッケージに後で署名が追加されると無効になる。
署名者が、既存の署名の削除時に署名者の署名を無効にしたいが、署名の追加は許したいとき、既存の署名を署名するのに XPath 変換を使用することができる。しかしながら、このような変換の詳細は、この仕様の範囲外である。
[XML DSIG Core] 仕様は、署名に任意のセマンティクスを紐付けないが、エージェントが、例えば、署名を表現する Signature 要素に情報を加えることにより、セマンティクスな情報を包含してもよい(MAY)。[XML DSIG Core] 仕様は、(例えば、SignatureProperties
要素を使うことによって)追加情報を署名に追加する方法を説明する。
以下の XML 表現は、signatures.xml
フィルの例のコンテンツを示し、[XML DSIG Core] のセクション で見つかるサンプルを基にしている。それはコンテナに、一つの署名を含んでおり、署名は、EPUB/book.xhtml
と EPUB/images/cover.jpeg
の二つのリソースに提供される。
<signatures xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<Signature Id="sig" xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
<Reference URI="#Manifest1">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>j6lwx3rvEPO0vKtMup4NbeVu8nk=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>…</SignatureValue>
<KeyInfo>
<KeyValue>
<DSAKeyValue>
<P>…</P><Q>…</Q><G>…</G><Y>…</Y>
</DSAKeyValue>
</KeyValue>
</KeyInfo>
<Object>
<Manifest Id="Manifest1">
<Reference URI="EPUB/book.xhtml">
<Transforms>
<Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
<Reference URI="EPUB/images/cover.jpeg">
<Transforms>
<Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
</Manifest>
</Object>
</Signature>
</signatures>
このセクションは規定ではない。
OCF ZIP コンテナは、OCF 抽象コンテナの物理的な単一ファイルの明示である。コンテナは、
異なる個人と/または異なる組織の間で作業中の EPUB 出版物を交換し、
流通や販売チャンネルに出版社や変換業者(conversion house)から EPUB 出版物を提供し、そして、
EPUB リーディング システムやユーザーに EPUB 出版物を配信するため、
に使用される。
OCF ZIP コンテナは、[ZIP APPNOTE 6.3.3] によって規定されているような ZIP 形式を使用するが、以下の制約と説明に従う:
OCF ZIPコンテナのコンテンツは、OCF 抽象コンテナに一致しなければならない(MUST)。
OCF ZIP コンテナは、複数のストレージメディアを横断するために ZIP ファイルの分割を許可する ZIP アプリケーションノート [ZIP APPNOTE 6.3.3] の機能を使用してはならない(MUST NOT)。OCF プロセッサは、複数のストレージメディアを横断するよう分割している ZIP ファイルであることが明らかな任意の OCF ファイルをエラーとして処理しなければならない(MUST)。
OCF ZIP コンテナは、ZIP アーカイブに(未圧縮で)格納またはデフレート圧縮した ZIP エントリーのみ包含しなければならない(MUST)。OCF プロセッサは、デフレート以外の圧縮技術を使用している任意の OCF コンテナをエラーとして処理しなければならない(MUST)。
OCF ZIP コンテナは、アプリケーションノート [ZIP APPNOTE 6.3.3] のサブセクション G に、セクション V の「Version 1」として定義されている ZIP64 拡張を使用してもよく(MAY)、コンテンツがそれらを要求するとき、それらの拡張のみ使用するべきである(SHOULD)。OCF プロセッサは、「Version 1」として定義されている ZIP64 拡張をサポートしなければならない(MUST)。
OCF ZIP コンテナは、ZIP フォーマットにより定義された暗号化機能を使用してはならず(MUST NOT)、代わりに、暗号化は、暗号化ファイル (encryption.xml
) で説明されている機能を使用しなければならない(MUST)。OCF プロセッサは、ZIP 暗号化機能を使用している任意の他の OCF ZIP コンテナをエラーとして処理しなければならない(MUST)。
OCF プロセッサは、OCF 抽象コンテナで定義されていない読み込みと保存の操作を通じて OCF ZIP コンテナからの情報を保つことを要求しない。具体的には、OCF プロセッサは、特定のオペレーティングシステム(例えば、External file attributes と Extra field など)に対応するファイルシステム情報を保持する CRC 値、コメントフィールド、フィールドを保存しない。
OCF ZIP コンテナは、UTF-8 [Unicode] を使用してファイル システム名をエンコードしなければならない(MUST)。
以下の制約は、OCF ZIP コンテナ アーカイブ内の特定のフィールドに適用する:
ローカル ファイル ヘッダ テーブルでは、OCF ZIP コンテナは、特定のファイルにより必要とされる最大バージョンレベルに合わせるために、version needed to extract
フィールドの値を 10
、20
、45
に設定しなければならない(MUST)。(例えば、デフレートが必要な場合は 20
、ZIP64 が必要な場合は 45
)。OCF プロセッサは、他の任意の値をエラーとして処理しなければならない(MUST)。
ローカルファイルヘッダーテーブルでは、OCF ZIP コンテナは compression
メソッドフィールドの値を 0
か 8
に設定しなければならない(MUST)。OCF プロセッサは、他の任意の値をエラーとして処理しなければならない(MUST)。
OCF プロセッサは、Archive decryption header
または Archive extra data record
を持つ OCF ZIP コンテナをエラーとして処理しなければならない(MUST)。
OCF ZIP コンテナ の最初のファイルは、mimetype
ファイルでなければならない(MUST)。このファイルのコンテンツは、US-ASCII [US-ASCII] でエンコードされた application/epub+zip
文字列の MIME メディア タイプ [RFC2046] でなければならない(MUST)。
mimetype
ファイルのコンテンツは、どんな文字埋めや空白を含んではならず(MUST NOT)、Unicode signature (または Byte Order Mark) で開始してはならず(MUST NOT)、メディア タイプの場合は、上記の通り正確でなければならない(MUST)。さらに mimetype
ファイルは、圧縮または暗号化をしてはならず(MUST)、そして ZIP ヘッダにエキストラ フィールドがあってはならない(MUST NOT)。
application/epub+zip
メディア タイプについてのより詳細な情報は、補足 C の application/epub+zip
メディア タイプを参照されたい。
このセクションは規定ではない。
OCF ZIP コンテナは、基本的に ZIP ファイルなので、一般的に入手可能な ZIP ツールを、パッケージから任意の非暗号化したコンテンツストリームを抽出するのに使用できる。また、ZIP ファイルの性質は、その内容が一部のシステム上の任意の他のネイティブコンテナ(例えば、フォルダなど)に表示されるかもしれないことを意味する。
この ZIP ファイルの単純さは非常に便利だが、それはまたリソースを抽出する容易さは、暗号化していないリソースの予期しない副作用の問題を引き起こす。サードパーティ製フォントの包含したい製作者は、例えば、典型的にフォントが他人によって抽出され再利用されるのを望まない。 より重要なことは、多くの商業フォントは埋め込みを許可しているが、フォントの埋め込むことは、単にコンテンツと一緒にオリジナルのフォントファイルを提供せず、出版物の重要な部分を形成していることを意味する。
統合された ZIP のサポートは、モダンなオペレーティング システムに偏在しおり、ZIP アーカイブ内に単純に配置したフォントは、他のコンテクストで再利用されることは意図しないフォントであることを意味するには不十分である。この不確定要素は、他の非常に便利な EPUB 出版物のフォント埋め込みの機能を弱めることができる。
フォントの再利用を防ぐために、多くのフォント ベンダーは、もしそれらのフォントが、出版物に何らかの方法で固定化されている場合、EPUB 出版物内のこれらのフォントの使用のみ許可するかもしれない。フォント ファイルが、コンピュータデバイスの組み込みツールを使ってオペレーショング システム上で使用するため直接インストールできないならば、他の EPUB 出版物によって直接使用することはできない。
そのようなリソースのためのデジタル著作権管理や施工システムを提供することはこの仕様の範囲を超える。このセクションは、任意の難読化したリソースへの一般的なアクセスを得るための最終的な OCF 受容者側の追加の作業として必要になる難読化の方法を定義する。
この仕様や IDPF によって作られた要求ではなく、これが暗号化を構成するわけでも、リソースが著作権侵害から安全であることを保証するわけでもないことに注意されたい。しかしながら、このアルゴリズムが、コンテナを解凍することによってそれらのリソースを簡単に抽出できないようにするいくつかの保証を求める多くのベンダーの要求を満たすであろうというのが IDPF の期待である。
フォントの場合、暗号化のための主要なユースケースは、定義されたメカニズムは、ライセンスの詳細に気付いていない人に障害を提供する。これは、フォントへの完全なアクセスを得ようと考えているユーザーは防げないだろう。OCF コンテナが提供されると、RAW フォントファイルを抽出するために定義したアルゴリズムを適応することが可能である。難読化のこの方法は、個々のフォント ライセンスの要件を満たすかどうかに関わらず、使用許諾者や被許諾者の課題が残る。
難読化アルゴリズムに用いられるキーは、初期設定のレンディションの一意識別子から得られる。
XML 1.0 仕様書のセクション 2.3 [XML] によって定義されている、全ての空白文字、具体的には Unicode コードポイント U+0020
、U+0009
、U+000D
と U+000A
は、この識別子から削除されなければならない(MUST)。
結果として生じる文字列の UTF-8 表現の SHA-1 ダイジェストは、Secure Hash Standard [SHA-1] で規定されているように生成するべきである(should)。このダイジェストは、その後、アルゴリズムのためのキーとして直接使用される。
アルゴリズムは、リソースを難読化するために、ファイルの最初の 1,040 バイト (~1KB) の変更から成る。万一、ファイルが 1,040 バイト に満たない場合、ファイル全体が変更される。
元データを難読化するのに、RAW ファイルの最初のバイトと難読化キーの最初のバイトの排他的論理和(XOR)の計算の結果は、埋め込まれたリソースの最初のバイトとして格納される。
この処理は、ソースとキーの次のバイトで繰り返され、キー内の全てのバイトが使用されるまで続く。ここで、キーの最初のバイトとソースの 21 バイト目から処理が始まり継続する。1,040 バイトがこの方法で(またはソースの終わりに到達して)エンコードされたら、ソース内の残りのデータは、格納先に直接コピーされる。
リソースの難読化は、それらが圧縮または OCF コンテナに追加される前に生じなければならない(MUST)。難読化は暗号化ではなく、この要件は、それらを暗号化する前にリソースを圧縮する 暗号化ファイル (encryption.xml
)のひとつに違反しないことに注意されたい。
次の擬似コードは、難読化アルゴリズムを示している。
set ocf to OCF container file
set source to file
set destination to obfuscated file
set keyData to key for file
set outer to 0
while outer < 52 and not (source at EOF)
set inner to 0
while inner < 20 and not (source at EOF)
read 1 byte from source //Assumes read advances file position
set sourceByte to result of read
set keyByte to byte inner of keyData
set obfuscatedByte to (sourceByte XOR keyByte)
write obfuscatedByte to destination
increment inner
end while
increment outer
end while
if not (source at EOF) then
read source to EOF
write result of read to destination
end if
Deflate destination
store destination as source in ocf
元のフォントデータを得るには、処理は単純に逆になり、ソースファイルは、難読化データと RAW データが格納されている格納先のファイルからなる。
フォントの難読化は、EPUB 3.0.1 で先行して許可されるが、難読化と圧縮の順序は指定しない。その結果、無効なフォントは、圧縮解除と難読化解除の後に遭遇するであろう。このような場合、伸張する前の難読化解除データは、妥当なフォントを返すかもしれない。この仕様のこのバージョンで対応していないので、この仕様は、この復旧方法のサポートを要求しないが、一般的には EPUB 3 コンテンツをサポートするときに考慮する必要がある。
すべての難読化リソースは、技術的には暗号化データではないけれど、EPUB 出版物に添付する encryption.xml
ファイル(暗号化ファイル (encryption.xml
)を参照)に記入しなければならない(MUST)。
EncryptionMethod
要素は、各難読化リソースのために包含されなければならない(MUST)。
それぞれが、値に http://www.idpf.org/2008/embedding
を設定された Algorithm
属性を EncryptedData
要素の子に包含しなければならない(MUST)。
この属性の存在は、本仕様書に記載されているアルゴリズムの使用を示している。
難読化リソースへのパスは、CipherData
要素の子の CipherReference
に記載しなければならない(MUST)。
次の例は、encryption.xml
ファイル内の難読化フォントのためのエントリーを示している。
<encryption
xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:enc="http://www.w3.org/2001/04/xmlenc#">
<enc:EncryptedData>
<enc:EncryptionMethod Algorithm="http://www.idpf.org/2008/embedding"/>
<enc:CipherData>
<enc:CipherReference URI="EPUB/Fonts/BKANT.TTF"/>
</enc:CipherData>
</enc:EncryptedData>
</encryption>
他の EPUB 出版物へ埋め込みリソースのささいな複製を防ぐために、難読化キーを、encryption.xml
ファイルに提供してはならない(MUST NOT)。
container.xml
ファイルのスキーマは、http://www.idpf.org/epub/31/schema/ocf-container-31.rnc
が利用可能である。
このスキーマを使用する検証は [RelaxNG] と [XSD-DATATYPES] をサポートするプロセッサが必要になる。
encryption.xml
ファイルのスキーマは、[XML Sec RNG Schemas] に包含されている。
signatures.xml
ファイルのスキーマは、[XML Sec RNG Schemas] に包含されている。
次の例は、OCF ZIP コンテナ内の署名と暗号化された EPUB 出版物を含むための、OCF フォーマットを使用した実例である。
OCF ZIP コンテナ内ファイルのソートしたリストmimetype META-INF/container.xml META-INF/signatures.xml META-INF/encryption.xml EPUB/As You Like It.opf EPUB/book.html EPUB/nav.html EPUB/images/cover.png
mimetype
ファイルの内容
application/epub+zip
META-INF/container.xml
ファイルの内容
<?xml version="1.0"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="EPUB/As_You_Like_It.opf"
media-type="application/oebps-package+xml" />
</rootfiles>
</container>
META-INF/signatures.xml
ファイルの内容
<signatures xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<Signature Id="AsYouLikeItSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
<!--
SignedInfo is the information that is actually signed.
In this case the SHA1 algorithm is used to sign the
canonical form of the XML documents enumerated in the
Object element below
-->
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
<Reference URI="#AsYouLikeIt">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>…</DigestValue>
</Reference>
</SignedInfo>
<!--
The signed value of the digest above using the DSA
algorithm
-->
<SignatureValue>…</SignatureValue>
<!-- The key to use to validate the signature -->
<KeyInfo>
<KeyValue>
<DSAKeyValue>
<P>…</P>
<Q>…</Q>
<G>…</G>
<Y>…</Y>
</DSAKeyValue>
</KeyValue>
</KeyInfo>
<!--
The list documents to sign. Note that the canonical
form of XML documents is signed while the binary form
of the other documents is used
-->
<Object>
<Manifest Id="AsYouLikeIt">
<Reference URI="EPUB/As You Like It.opf">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
<Reference URI="EPUB/book.html">
<Transforms>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
<Reference URI="EPUB/images/cover.png">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue></DigestValue>
</Reference>
</Manifest>
</Object>
</Signature>
</signatures>
META-INF/encryption.xml
ファイルの内容
<?xml version="1.0"?>
<encryption xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!--
The RSA encrypted AES-128 symmetric key used to encrypt
the data
-->
<enc:EncryptedKey Id="EK">
<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<ds:KeyInfo>
<ds:KeyName>John Smith</ds:KeyName>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherValue>xyzabc…</enc:CipherValue>
</enc:CipherData>
</enc:EncryptedKey>
<!--
Each EncryptedData block identifies a single document
that has been encrypted using the AES-128 algorithm.
The data remains stored in its encrypted form in the
original file within the container.
-->
<enc:EncryptedData Id="ED1">
<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>
<ds:KeyInfo>
<ds:RetrievalMethod URI="#EK" Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherReference URI="EPUB/book.html"/>
</enc:CipherData>
</enc:EncryptedData>
<enc:EncryptedData Id="ED2">
<enc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>
<ds:KeyInfo>
<ds:RetrievalMethod URI="#EK" Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherReference URI="EPUB/images/cover.png"/>
</enc:CipherData>
</enc:EncryptedData>
</encryption>
EPUB/As You Like It.opf
ファイルの内容
<?xml version="1.0"?>
<package version="3.1"
xml:lang="en"
xmlns="http://www.idpf.org/2007/opf"
unique-identifier="pub-id">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:identifier
id="pub-id">urn:uuid:B9B412F2-CAAD-4A44-B91F-A375068478A0</dc:identifier>
<dc:language>en</dc:language>
<dc:title>As You Like It</dc:title>
<dc:creator id="creator">William Shakespeare</dc:creator>
<meta property="dcterms:modified">2000-03-24T00:00:00Z</meta>
<dc:publisher>Project Gutenberg</dc:publisher>
<dc:date>2000-03-24</dc:date>
<meta property="dcterms:dateCopyrighted">9999-01-01</meta>
<dc:identifier
id="isbn13">urn:isbn:9780741014559</dc:identifier>
<dc:identifier id="isbn10">0-7410-1455-6</dc:identifier>
<link rel="xml-signature"
href="../META-INF/signatures.xml#AsYouLikeItSignature"/>
</metadata>
<manifest>
<item id="r4915"
href="book.html"
media-type="application/xhtml+xml"/>
<item id="r7184"
href="images/cover.png"
media-type="image/png"/>
<item id="nav"
href="nav.html"
media-type="application/xhtml+xml"
properties="nav"/>
</manifest>
<spine>
<itemref idref="r4915"/>
</spine>
</package>
この補足は、EPUB Open Container Format (OCF) のメディアタイプ application/epub+zip
を登録している。
OCF ファイルは、ZIP アーカイブ形式に基づくコンテナの技術である。それは、EPUB 出版物のレンディションをカプセルに包むために使用する。OCF とその関連規格は、International Digital Publishing Forum (IDPF) によって維持・定義される。
application
epub+zip
なし。
なし。
OCF ファイルは、ZIP (http://www.iana.org/assignments/media-types/application/zip
) 形式のバイナリファイルである。
OCF ファイルを読む全てのプロセッサは、検索されたデータのサイズと妥当性を厳密にチェックするべきである。
さらに、OCF ファイルに埋め込むことのできる様々なコンテンツタイプのために、application/epub+zip
が、ここに説明されたものを超えてセキュリティについての暗黙の意味をコンテンツに表現してもよい。けれども、プロセッサが、追加コンテンツまたは他のプロセッサによって送られるコンテツの処理を認識・処理するばあいには、セキュリティの問題は潜在的に生じる。またその場合、それらは、この登録文書の範囲から外れるであろう。
application/zip
に適用されるセキュリティの考慮は、OCF ファイルにも適用される。
なし。
このメディアタイプの登録は、http://www.idpf.org/epub/30/spec/epub30-ocf.html
にある EPUB Open Container Format (OCF) 3.0 仕様書で説明されている EPUB Open Container Format (OCF) のためのものである。
EPUB OCF 3.0 仕様書は、http://www.idpf.org/doc_library/epub/ocf_2.0.1_draft.doc
にあり、application/epub+zip
メディアタイプとして使用する Open Container Format 2.0.1 仕様書に優先する。
このメディアタイプは、EPUB 形式の電子書籍の配布のために広く使われている。以下のアプリケーションのリストは、完全ではない。
Adobe Digital Editions
Aldiko
Azardi
Apple iBooks
Barnes & Noble Nook
Calibre
Google Books
Ibis Reader
MobiPocket reader
Sony Reader
Stanza
0: PK 0x03 0x04
, 30: mimetype
, 38: application/epub+zip
OCF ファイルは、ほとんどの場合、.epub
の拡張として識別される。
ZIP
IDPF は、http://www.idpf.org/epub/linking/
でリンクしているスキームの登録を維持する。このスキームの一部は、application/epub+zip
と application/oebps-package+xml
文書を解決するカスタムフラグメント識別子を定義している。
William McCoy, bmccoy@idpf.org
COMMON
International Digital Publishing Forum (http://www.idpf.org)
このセクションは規定ではない。
EPUB は、出版社、ベンダー、ソフトウェア開発者、および関連する標準規格の専門家を集め、協力的な努力で国際電子出版フォーラム(International Digital Publishing Forum, IDPF) によって開発されました。
EPUB3.1 仕様は下に述べるリーダーシップにより2015年7月のメンバーシップによって承認された憲章の下で動作し国際電子出版フォーラム(International Digital Publishing Forum, IDPF)の EPUB Maintenance Working Group によって調整した:
ワーキンググループのアクティブメンバー:
より詳細な承認と EPUB の各バージョンへの貢献者については謝辞と貢献者 [EPUB3 Overview] を参照されたい。
[CSS Snapshot] CSS Snapshot .
[EPUB 3.1] EPUB 3.1 .
[HTML] HTML .
[RFC2046] Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types (RFC 2046) . November 1996.
[RFC2119] Key words for use in RFCs to Indicate Requirement Levels (RFC 2119) . March 1997.
[RFC3986] Uniform Resource Identifier (URI): Generic Syntax (RFC 3986) . January 2005.
[RFC3987] Internationalized Resource Identifiers (IRIs) (RFC 3987) . January 2005.
[RelaxNG] ISO/IEC 19757-2: Regular-grammar-based validation — RELAX NG. Second Edition . 2008-12-15.
[SHA-1] Federal Information Processing Standards Publication 180-3: Secure Hash Standard (SHS) . October 2008.
[TR15] Unicode Normalization Forms .
[US-ASCII] "Coded Character Set - 7-bit American Standard Code for Information Interchange", ANSI X3.4, 1986..
[Unicode] The Unicode Consortium. The Unicode Standard..
[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition) . 26 November 2008.
[XML DSIG Core] XML-Signature Syntax and Processing Version 1.1 . 11 April 2013.
[XML ENC Core] XML Encryption Syntax and Processing Version 1.1 . 11 April 2013.
[XML SIG Decrypt] Decryption Transform for XML Signature . 10 December 2002.
[XML Sec RNG Schemas] XML Security RELAX NG Schemas (W3C Working Group Note) . 11 April 2013.
[XMLNS] Namespaces in XML (Third Edition) . 8 December 2009.
[XSD-DATATYPES] XML Schema Part 2: Datatypes Second Edition . 28 October 2004.
[ZIP APPNOTE 6.3.3] ZIP File Format Specification . September 1, 2012. PKWARE, Inc..
[EPUB3 Changes] EPUB 3.1 Differences from EPUB 3.0.1 .
[EPUB3 Overview] EPUB 3.1 Overview .
[ODF] Open Document Format for Office Applications (OpenDocument) v1.0 . 1 May 2005.
[RFC] Request for Comments.