関連情報として 翻訳も参照してください。
Copyright © 1999-2026 International Digital Publishing Forum and World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
EPUB® 3 は、デジタル出版物および文書の配布・交換形式を定義します。EPUB 形式は、構造化されセマンティックに強化された Web コンテンツ(HTML、CSS、SVG、およびその他のリソースを含む)を、単一ファイル コンテナーで配布するために表現、パッケージ化、エンコードする手段を提供します。
この仕様は、EPUB 出版物のオーサリング要件を定義し、この標準の第3の メジャー改訂を表します。
この節は、この 文書の公開時点における状態を説明します。現在の W3C 公開物およびこの技術報告書の最新版の一覧は、 W3C 標準・草案 インデックスにあります。
この文書は、Publishing Maintenance Working Group により、 勧告トラックを用いた 勧告として公開されました。
W3C は、Web の標準としてこの仕様を広く 展開することを推奨します。
W3C 勧告とは、広範な 合意形成を経た後に、 W3C およびその会員によって承認され、 Working Group メンバーから実装に対する ロイヤリティフリーのライセンス のコミットメントを得ている仕様です。 この勧告の将来の更新には、 新機能が組み込まれる可能性があります。
この文書は、 W3C 特許 ポリシーの下で運営されるグループによって作成されました。 W3C は、 当該グループの成果物に関連して行われた 特許開示の公開リストを管理しています。 そのページには、特許を開示するための 手順も含まれています。ある特許が Essential Claim(s)を含むと 実際に知っている個人は、その情報を W3C 特許ポリシー第6節に従って開示しなければなりません。
この文書は、 2025年8月18日版 W3C プロセス文書に準拠します。
この節は非規範的です。
EPUB 3 は、デジタル書籍(電子書籍)の形式として広く採用されており、この改訂では、 複雑なレイアウト、リッチメディアとインタラクティビティ、およびグローバルな組版機能を含む、 より広範な出版要件をよりよくサポートするために、この形式の機能を引き続き拡張します。 出版者は、書籍、雑誌、教育・専門・科学出版物を含む幅広いコンテンツに EPUB 3 形式を利用することが期待されます。
この仕様は EPUB 3 の中核を表し、標準の成果物である EPUB 出版物の適合要件を含みます。EPUB 3 を構成する その他の仕様は次のとおりです。
EPUB 3 Reading Systems [epub-rs-33] — EPUB 読書システム — EPUB 出版物を消費し、 そのコンテンツをユーザーに提示するアプリケーション — の処理 要件を定義します。
EPUB Accessibility [epub-a11y-11] — EPUB 出版物のアクセシビリティ 適合性および発見要件を定義します。
これらの仕様は、EPUB 3 に属すると認識され、標準の一部として規範的に参照される機能を含む 正式な一覧を表します。拡張仕様の開発により、EPUB 出版物には定期的に新機能が追加されます。 標準の中核改訂の外で定義される機能や機能性は、この仕様では正式に認識されていないものの、 EPUB 作成者および 読書システム開発者が使用できます。
非規範的な EPUB 3 Overview [epub-overview-33] は、 EPUB 3 の一般的な入門を提供します。前のバージョンからの技術的変更の一覧も 変更履歴で利用できます。
この節は非規範的です。
この節では、この仕様が定義する中心的な成果物である EPUB 出版物を通して、この仕様の構成を概説します。
EPUB 出版物は、最も基本的な意味では、コンテンツを論理的な順序で提示するために、 それらのリソースをどのようにレンダリングするかを指示する情報を伴うリソースの束です。 EPUB 出版物で許可されるリソースの種類、およびその使用に関する制限は、3. 出版 リソースで定義されています。
ファイル拡張子 .epub を持つ ZIP ベースのアーカイブは、配布のために EPUB 出版物の
リソースをまとめます。適合する ZIP アーカイブとして、EPUB 出版物は多くの
ソフトウェアプログラムで展開できるため、その制作と消費の両方が簡素化されます。
コンテナー形式は、zip 圧縮されたコンテンツが EPUB 出版物を表すことを判定する手段
(mimetype ファイル)を提供するだけでなく、非規範的リソースの普遍的に名付けられた
ディレクトリー(/META-INF)も提供します。これらのリソースの中で重要なのは
container.xml ファイルであり、利用可能な パッケージ文書へ読書システムを導きます。コンテナー形式の詳細については
4. Open Container Format (OCF)
を参照してください。
EPUB 出版物は通常、単一のパッケージ文書によって表されます。この文書には、 本棚で表示するためのタイトルや著者、およびレンダリングメタデータ(例えば、コンテンツが リフロー可能か固定レイアウトか)など、読書システムがコンテンツをユーザーに提示するために用いる メタデータが含まれます。また、リソースのマニフェストを提供し、ユーザーがコンテンツを進む際に 文書をレンダリングする既定の順序を列挙する スパインを含みます。パッケージ 文書の要件については、5. パッケージ文書を参照してください。
EPUB 出版物の実際のコンテンツ — ユーザーが読み始めるときに提示されるもの — は Open Web Platform の上に構築され、XHTML と SVG の 2 種類があります。EPUB コンテンツ文書と呼ばれるこれらの文書は、通常、 画像、音声および動画クリップ、スクリプト、スタイルシートなど、適切な レンダリングに必要な多くの追加リソースを参照します。
EPUB コンテンツ文書を作成するための規則と要件に関する詳細情報については 6. EPUB コンテンツ 文書を参照し、アクセシビリティ要件については [epub-a11y-11] を 参照してください。
EPUB 出版物には、EPUB ナビゲーション文書と呼ばれる、もう 1 つの重要なファイルも含まれます。この 文書は、目次など、ユーザーがコンテンツをすばやく容易に移動できるようにする重要なナビゲーション機能を 提供します。ナビゲーション文書は特殊な種類の XHTML コンテンツ文書であり、EPUB 作成者が コンテンツ内でもそれを使用できるようにします(すなわち、機械処理用の目次とユーザー消費用の 別の目次を避けることができます)。この文書の詳細については 7. EPUB ナビゲーション文書を参照してください。
EPUB 出版物は既定で、利用可能な画面空間に合わせてリフローすることを意図しています。 画像および/または CSS 位置指定を使用して、ピクセル精度の固定レイアウトを持つ出版物を 作成することもできます。レイアウトを制御するメタデータは 8. レイアウトレンダリング制御で定義されています。
メディアオーバーレイ文書は EPUB コンテンツ 文書を補完します。これらは、EPUB コンテンツ文書内のテキストを録音済み音声と同期するための 宣言的マークアップを提供します。その結果、読書 システムがナレーションに合わせてテキストを強調表示する、読み上げ体験を作成できます。 メディアオーバーレイ文書の定義については、9. メディアオーバーレイ を参照してください。
概念的には単純ですが、EPUB 出版物は、ここで示したような ZIP パッケージ内の HTML ページと 依存アセットの単なる集合以上のものです。EPUB 出版物が読書体験を向上させるために提供する 主要な機能と機能性に関する追加情報は、参照されている仕様から利用でき、EPUB 3 の機能に関する より一般的な入門は、非規範的な [epub-overview-33] で提供されています。
読書システムの処理要件については、[epub-rs-33] を参照してください。 EPUB 出版物を作成するために EPUB 作成者がその文書を読む必要はありませんが、 読書システムがコンテンツをどのように提示するかを理解することは、ユーザーへの最適な提示のために 出版物を作り込むのに役立ちます。
この節は非規範的です。
EPUB 3 が基盤とする技術は絶えず進化しています。通常「living」または「evergreen」 標準と呼ばれる一部の技術は日々変更される可能性があり、EPUB 出版物の妥当性への影響は 即時に生じます。その他の技術は更新頻度が低く、EPUB 3 が新しい改訂を受けるまで、 その変更が EPUB 出版物に影響しない場合があります。
いずれの場合も、以前は妥当だった機能が(例えば、サポート不足やセキュリティ問題のために) 廃止される可能性があります。したがって、EPUB 作成者は、 広範なサポートのない機能を使用する際には注意し、EPUB 適合性チェッカーを最新の状態に保つべきです。
[html] 標準は継続的に進化しており、もはや バージョン付きリリースはありません。 その標準はさらに、MathML、SVG、CSS、JavaScript など、進化を続けるさまざまな技術を 参照しています。
EPUB にとってこのアプローチの利点は、EPUB 出版物が新しい改訂を必要とせずに、Web の変更に常に追随できることです。 しかし、EPUB 作成者は、 自分たちのプロセスを最新に保つため、HTML およびそれが参照する技術の さまざまな変更を把握しておく必要があります。
この仕様で定義される XHTML プロファイルは、別段の指定がない限り、 セマンティクス、構造、および処理動作のすべての定義を HTML から継承します。
さらに、この仕様は、一連の拡張を定義しており、 EPUB 作成者はそれらを [html] 文書モデルに追加して、XHTML コンテンツ文書に含めることができます。
この仕様は [svg] の特定のバージョンを 参照せず、代わりに日付なしの 参照を使用します。この参照に曖昧さがある場合は常に、最新の勧告仕様が 権威ある参照となります。
このアプローチにより、EPUB は SVG 標準への変更に常に追随できます。ただし、 EPUB 作成者は、自分たちのプロセスを最新に保つために SVG 標準への変更を把握しておく必要があります。
EPUB 3 は、CSS Working Group Snapshot [csssnapshot] で定義される CSS をサポートします。EPUB 3 はまた、 グローバル言語に対する一貫したサポートを確保するために、いくつかの接頭辞付き CSS プロパティを 維持しています。
EPUB 3 は Presentation Markup [mathml3] のみをサポートします。 Content Markup は、構造化 マークアップ注釈内でのみ許可されます。
この仕様は [smil3] のサブセットに依存しており、 9.2.2 メディアオーバーレイ文書の定義で定義されるメディアオーバーレイの要素および 属性はそこから派生しています。
この仕様は、EPUB 出版物で表現される URL に関連する用語および処理について、 [url] 標準を参照します。新しい Web 形式や改訂された Web 形式は この標準を採用すると予想されますが、それまでは、この仕様が一部の形式の 内部要件(例えば、妥当な相対パス)と衝突する可能性があります。特に、国際化 URL の使用に関して そうした衝突が生じる場合があります。ある形式が国際化 URL を許可しない場合(すなわち、 URL が [rfc3986] またはそれ以前に適合しなければならない場合)、 その要件がそれらのリソース内では優先されます。
この仕様は、EPUB 3 に固有の次の用語を定義します。
節内で用語が最初に現れる箇所だけが、その定義へリンクします。
コーデックとは、最適な圧縮を目的として設計された、または最適化されたストリーミング 機能を提供する動画および音声メディアタイプなど、内在的なバイナリ形式の特性を持つ コンテンツを指します。
出版リソースのうち、 EPUB コンテナー内に位置するものです。 これは、そうではない リモートリソースと対比されます。
リソースの場所に関するメディアタイプ固有の規則については、3.6 リソース の場所を参照してください。
URL [url] であり、ルートディレクトリーが OCF 抽象コンテナーを表すものです。これは実装固有ですが、 EPUB 作成者は、それが 4.2.5 OCF 抽象コンテナー内の URL で定義される特性を持つと想定しなければなりません。
URL であり、OCF 抽象コンテナー内のファイルまたはディレクトリーのもので、 4.2.5 OCF 抽象コンテナー内の URLで定義されます。
出版リソースのうち、3.2 コアメディア タイプに列挙された MIME メディアタイプ [rfc2046] のいずれかに適合し、そのため フォールバック(外来 リソースを参照)の提供を必要としないものです。
「コアメディアタイプリソース」という指定は、リソースが EPUB コンテンツ文書および 外来コンテンツ文書のレンダリングに使用される場合にのみ 適用されます。例えば、コアメディアタイプリソースは、EPUB コンテンツ文書のメディアタイプも 持っていない限り、フォールバックなしに スパインで使用することはできません。
この仕様の要件を EPUB 出版物に照らして検証し、その適合性を報告する アプリケーションです。
EPUB 出版物の ZIP ベースのパッケージ化および配布形式であり、4.3 OCF ZIP コンテナーで定義されます。
EPUB コンテナーと OCF ZIP コンテナーは同義です。
出版リソースであり、スパインまたは マニフェストフォールバックチェーンから参照され、 XHTML または SVG コンテンツ文書の定義のいずれかに適合するものです。
EPUB コンテンツ文書は、EPUB 出版物のコンテンツ(すなわち、 テキスト、視覚および/または音声コンテンツ)の全部または一部を含みます。
EPUB 出版物を生成する個人、組織、またはプロセスです。
EPUB 出版物の作成には多くの場合、多数の個人の作業が関与し、複数の組織にまたがって 分割される場合があります(例えば、出版者が作業の全部または一部を外部委託する場合)。 EPUB 出版物を生成するために用いられるプロセスに応じて、責任は組織(例えば出版者)、 出版物を準備する個人(例えば技術編集者)、または自動化された手順(例えば出版 パイプラインの一部)に帰属する場合があります。その結果、すべての当事者またはプロセスが すべての要件の充足を保証する責任を負うとは限りませんが、最終的な EPUB 出版物の 適合性に責任を負う EPUB 作成者は常に存在します。
この仕様の以前のバージョンでは、EPUB 作成者を と呼んでいました。
詳細については、5.6.1
manifest 要素を参照してください。
XHTML コンテンツ文書の 特殊化であり、人間および機械が読める グローバルナビゲーション情報を含みます。EPUB ナビゲーション文書は、7. EPUB ナビゲーション 文書で表現される制約に適合します。
相互に関連する一連の リソースから成る論理的文書実体であり、 EPUB コンテナー内にパッケージ化されています。
EPUB 出版物は通常、単一の知的または芸術的作品を表しますが、この仕様はコンテンツの性質を 制限しません。
EPUB 出版物を、この仕様に 適合する方法でユーザーに提示するために処理するシステムです。
パッケージ文書の節であり、 EPUB コンテンツ文書および 外来コンテンツ文書の順序付きリストを定義します。このリストは EPUB 出版物の既定の読書順序を 表します。
詳細については、5.7.1
spine 要素を参照してください。
免除リソースは 出版リソースの特別な種類であり、読書システムは そのレンダリングをサポートする必要はありませんが、EPUB 作成者はそれに対して フォールバックを提供する必要はありません。
詳細については、3.4 免除 リソースを参照してください。
OCF 抽象コンテナー内の任意の種類のファイルの名前であり、 ディレクトリーであるか、ディレクトリー内のファイルであるかを問いません。
ファイルまたはディレクトリーのファイルパスは、ルートディレクトリーからの相対的な完全パスであり、 4.2.4 ファイルパスの導出で指定される アルゴリズムによって定義されます。
EPUB コンテンツ文書であり、固定寸法を持ち、
スパインから
直接参照されるものです。固定レイアウト文書は、パッケージ文書内で
pre-paginated と指定されます。
これは 8.2
固定レイアウトで定義されます。
出版リソースのうち、スパインの
要素から、または
マニフェストフォールバックチェーンから参照されるもので、
EPUB コンテンツ文書ではないものです。
itemref
外来コンテンツ文書がスパインの itemref 要素から参照される場合、少なくとも 1 つの
EPUB コンテンツ文書を含むマニフェストフォールバックチェーンが必要です。
XHTML と SVG を除き、すべての コアメディアタイプリソースは、 スパインから直接参照される場合、外来コンテンツ文書です。
出版リソースであり、MIME メディアタイプ [rfc2046] が 3.2 コアメディアタイプに列挙されたもののいずれにも一致しないものです。外来リソースは、 3.3 外来リソースで定義される フォールバック要件の対象となります。
「外来リソース」という指定は、EPUB コンテンツ文書および 外来コンテンツ文書のレンダリングに使用されるリソースにのみ 適用されます。
外来リソースと外来コンテンツ文書は、置き換えて使える用語ではありません。スパインで使用される場合に 外来と見なされるリソースの種類は、EPUB コンテンツ 文書で使用される場合に外来と見なされるリソースの種類よりも広範です。
パッケージ
文書の
要素からのみ参照されるリソースです(すなわち、
EPUB
出版物のレンダリングにも使用されるわけではありません)。
link
リンクリソースは 出版リソースではありませんが、 EPUB コンテナーに格納される場合があります。 フォールバックは必要ありません。
事前録音された音声ナレーションと XHTML コンテンツ文書を関連付け、 9. メディアオーバーレイで定義されるように 同期再生体験を提供する XML 文書です。
非コーデックとは、文字列に基づくファイル形式(例えば HTML、CSS など)のように、 内部データ構造の性質により圧縮の恩恵を受けるコンテンツタイプを指します。
OCF 抽象コンテナーは、OCF ZIP コンテナーの内容のためのファイルシステムモデルを定義します。 これは 4.2 OCF 抽象 コンテナーで定義されます。
出版リソースであり、 EPUB 出版物の レンダリングを記述するものです。これは 5. パッケージ 文書で定義されます。パッケージ文書は EPUB 出版物に関するメタ情報を保持し、 リソースのマニフェストを提供し、既定の読書順序を定義します。
EPUB 出版物の論理とレンダリングに寄与するコンテンツまたは指示を含む リソースです。このリソースが存在しない場合、読書システムは、EPUB 作成者が意図したとおりに EPUB 出版物をレンダリングできない可能性があります。出版リソースの例には、パッケージ文書、EPUB コンテンツ文書、CSS スタイルシート、 音声、動画、画像、埋め込みフォント、およびスクリプトが含まれます。
EPUB 作成者は、出版リソースをパッケージ文書の マニフェストに列挙し、通常はそれらをすべて EPUB コンテナー内にまとめなければなりません (例外として、3.6 リソースの場所に列挙されたリソースを EPUB コンテナーの外に配置する場合があります)。
出版リソースであり、 EPUB コンテナーの外部、通常は Web 上に位置するものです。
EPUB コンテナー内の出版リソースは、コンテナーリソースと呼ばれます。
リソースの場所に関するメディアタイプ固有の規則については、3.6 リソース の場所を参照してください。
ルートディレクトリーは、OCF 抽象コンテナーファイルシステムの基点を表します。この ディレクトリーは本質的に仮想的です。
スクリプティングを含む EPUB コンテンツ文書、または
[html]
form
要素を含む XHTML コンテンツ文書です。
詳細については、6.3.2 スクリプティングを参照してください。
EPUB コンテンツ文書であり、 6.2 SVG コンテンツ文書で表現される制約に適合するものです。
デバイス画面上で隣接する 2 ページを同時にレンダリングすることです。
EPUB コンテンツ文書または 外来コンテンツ文書であり、 スパインから、直接または フォールバック チェーンを介して参照されるものです。
EPUB 出版物の主要な識別子です。一意識別子は、
値であり、
unique-identifier 属性によって
パッケージ文書内で指定される
要素の値です。
dc:identifier
コンテンツの大幅な改訂、要約などには、新しい一意識別子が必要です。
EPUB 読書システムの領域であり、 その中で EPUB 出版物が ユーザーに視覚的にレンダリングされます。
EPUB コンテンツ文書であり、 6.1 XHTML コンテンツ文書で定義される [html] のプロファイルに適合するものです。
非規範的と明示された節と同様に、この仕様内のすべてのオーサリングガイドライン、図、例、および注記は 非規範的です。この仕様内のそれ以外のすべては規範的です。
この文書におけるキーワード MAY、MUST、MUST NOT、OPTIONAL、RECOMMENDED、REQUIRED、SHOULD、および SHOULD NOT は、 ここに示すようにすべて大文字で現れる場合にのみ、 BCP 14 [RFC2119] [RFC8174] に記述されるとおりに解釈されます。
すべてのアルゴリズム説明は非規範的です。
この節は非規範的です。
パッケージ文書のメタデータ例では、予約 接頭辞が宣言なしで使用されます。
Dublin Core 要素 [dcterms] への参照では、dc: 接頭辞を使用します。この接頭辞は、
その使用が妥当であるためには、パッケージ文書内で宣言されていなければなりません
(xmlns:dc="http://purl.org/dc/elements/1.1/")
epub 名前空間接頭辞 [xml-names] も、
明示的な宣言を常に持つとは限らずに、要素および属性で使用されます
(xmlns:epub="http://www.idpf.org/2007/ops")。
EPUB 出版物は、次の条件を満たします。
そのコンテンツの少なくとも 1 つのレンダリングを、次のように定義しなければなりません(MUST)。
パッケージ文書を含まなければならず(MUST)、その文書は 5. パッケージ文書に適合し、 かつパッケージ文書に関するすべての 出版リソース 要件を満たさなければなりません。
[epub-a11y-11] で定義されるアクセシビリティ要件に 適合するべきです(SHOULD)。
EPUB コンテナー内に、4. Open Container Format (OCF) で定義されるとおりにパッケージ化されなければなりません(MUST)。
さらに、すべての出版リソースは 3. 出版 リソースの要件に従わなければなりません(MUST)。
この仕様の残りの部分では、具体的な適合性の詳細を扱います。
この節は非規範的です。
この仕様の複雑さ、および EPUB 出版物で使用される技術の数のため、 EPUB 作成者は、 自分たちのコンテンツの適合性を検証するために EPUB 適合性チェッカーを使用することが推奨されます。
EPUBCheck は、出版業界で使用されている事実上の EPUB 適合性 チェッカーであり、EPUB の新しい各バージョンに合わせて更新されてきました。これは 多数のオーサリングツールに統合されており、別のインターフェイスや他の 言語でも利用できます(詳細については、その Apps and Tools ページを参照してください)。
EPUB 出版物を検証する際、EPUB 作成者は、この仕様の 要件(キーワード「MUST」、「MUST NOT」、および 「REQUIRED」で識別される実践)に違反していないことを確認すべきです。 これらの種類の問題は、多くの場合、EPUB 出版物がレンダリングされない、または 一貫しない方法でレンダリングされる結果につながります。これらの問題は通常、エラーまたは重大エラーとして報告されます。
EPUB 作成者はまた、自分たちの EPUB 出版物がこの仕様の推奨事項 (キーワード「SHOULD」、「SHOULD NOT」、および「RECOMMENDED」で識別される実践)に 違反していないことも確認すべきです。 これらの実践に従わないことは、無効な EPUB 出版物になることを意味しませんが、 相互運用性の問題や、ユーザーの読書体験に影響するその他の問題につながる可能性があります。これらの問題は 通常、警告として報告されます。
EPUB 出版物のベンダー、流通業者、およびその他の小売業者は、 EPUB 適合性チェッカーで問題が 0 件であるという結果を受け入れまたは拒否の根拠にする前に、 推奨される実践の重要性を考慮すべきです。EPUB 作成者がすべての場合に 推奨される実践に従えない正当な理由は存在します。
この節は非規範的です。
EPUB 出版物は、多くの異なるカテゴリーの リソースで構成されており、それらすべてが 相互に排他的であるわけではありません。一部のリソースは 出版リソースであり、一部はそうではありません。一部の出版 リソースは既定で スパイン内で許可されますが、 その他はすべてフォールバックを必要とします。 一部のリソースは EPUB コンテンツ文書のレンダリングで使用できますが、その他はフォールバックとともにのみ使用できます。
各リソースカテゴリーの技術的定義を読んでこれらの違いを理解しようとすると、 複雑になることがあります。カテゴリー分けをより理解しやすくするため、この導入では 異なるプレーンの概念を用いて、リソースがどのようにグループ化され参照されるかを説明します。
3 つのプレーンは次のとおりです。
同じリソースが複数のプレーンに存在することがあり、この仕様では、どのプレーンについて 議論しているかに応じて異なる呼び方をされます。例えば、EPUB コンテンツ文書のレンダリングで 使用されるコアメディアタイプリソース(コンテンツプレーン上)は、スパインにも列挙されている場合 (スパインプレーン)、外来コンテンツ文書でもあり得ます。
以下の節では、これらのプレーンについてさらに詳しく説明します。
リソースが異なるプレーンにどのように当てはまるかを示す詳細な例については、 H.1 リソースを参照してください。
マニフェストプレーンは、 EPUB 出版物のすべてのリソースを定義します。これは パッケージ文書の マニフェストに相当しますが、 その一覧に存在しないリソースも含みます。
このグループの主要なリソースは 出版リソースと指定され、ユーザーに EPUB 出版物を
レンダリングするために使用されるすべてのリソースです。EPUB 作成者は常に、
これらのリソースを
要素に列挙しなければなりません。
manifest
出版リソースは、スパインプレーンおよび コンテンツ プレーンにおける用途によってさらに分類されます。
マニフェストプレーンには、リンク リソースの集合も含まれます。これらのリソースは直接的な レンダリングには付随的です。例えば、メタデータレコードや外部コンテンツへのリンク (例: EPUB 出版物の購入先)などが含まれます。
出版リソースとは異なり、それらはパッケージ文書のマニフェストには列挙されません
(すなわち、EPUB 出版物のレンダリングに不可欠ではないため)。代わりに、
パッケージ文書メタデータ内の
要素で定義されます。これらの要素は、マニフェストの
link
要素が出版リソースを定義するのと同様に、その性質と目的を定義します。(このように、それらは
マニフェストの拡張のようなものです。)
item
リンクリソースの詳細については、5.5.6
link 要素を参照してください。
マニフェストプレーン内のリソースは、その位置によって分類されることもあります。 ほとんどの出版リソースは EPUB コンテナー内に位置していなければなりませんが(コンテナーリソースと呼ばれます)、EPUB 3 では、 音声、動画、フォント、およびスクリプトデータ リソースをコンテナー外でホストすることを許可しています。これらの例外は、 EPUB 出版物のダウンロードと読み込みを高速化するために設けられました。これらのリソースは通常かなり大きく、 フォントの場合は提示に不可欠ではないためです。リモートでホストされる場合、これらの出版 リソースは リモートリソースと呼ばれます。
リンクリソースは EPUB 出版物のレンダリングに不可欠ではないため、その位置に関する 要件はなく、したがってその位置に基づく特別な名称もありません。EPUB コンテナー内に 位置しても、外部に位置してもかまいません。
EPUB コンテナー外のハイパーリンク先コンテンツ(例: Web ページ)は出版 リソースではなく、したがってマニフェストには列挙されません。読書システムは通常、 これらのリンクを EPUB 出版物の一部としてではなく、別個のブラウザーインスタンスで開きます。
スパインプレーンは、 スパインによって確立される 既定の読書順序で使用されるリソースを定義します。これには、 線形および非線形コンテンツの両方が含まれます。スパインは、 ユーザーが EPUB 出版物を読み進める際に、 これらのリソースをどのように読み込むかについて 読書システムに指示します。 多くのリソースが EPUB コンテナーにまとめられている場合でも、 それらすべてが既定でスパイン内で許可されるわけではありません。
EPUB 3 は、EPUB コンテンツ文書と呼ばれる特別な種類のリソースを定義しており、 EPUB 作成者は制限なくスパイン内でこれを使用できます。 EPUB コンテンツ文書には、 XHTML コンテンツ文書と SVG コンテンツ文書の両方が含まれます。
スパイン内で他の種類のリソース、すなわち 外来コンテンツ文書を使用するには、 EPUB コンテンツ文書へのフォールバックを含める必要があります。この拡張性モデルにより、 外来コンテンツ文書のサポートが保証されない場合でも、読書システムがユーザーに読むものを 常にレンダリングできるようにしつつ、EPUB 作成者は形式を試すことができます。
マニフェストフォールバックと呼ばれる機構により、EPUB 作成者は
外来コンテンツ文書にフォールバックを提供できます。このモデルでは、外来コンテンツ
文書の マニフェスト項目に、
読書システムがその形式をサポートしない場合に試す次の
可能なリソースを指す fallback 属性を含めなければなりません。
一般的ではありませんが、フォールバックリソースは別のフォールバックを指定でき、それによって多くのリソースに
深く連なるチェーンを作ることができます。唯一の要件は、
マニフェストフォールバックチェーン内に
少なくとも 1 つの EPUB コンテンツ文書が存在しなければならないことです。
フォールバックチェーン内のすべてのリソースは、スパインに直接列挙されていなくても、 読書システムによって使用される可能性があるため、スパインの一部、ひいてはスパインプレーンの一部と 見なされます。
詳細については、3.5.1 マニフェスト フォールバックを参照してください。
マニフェストフォールバックは EPUB の技術的要件を満たしますが、 読書システムでの実用的なサポートはほとんどありません。読めない出版物につながる可能性があるため、 その使用は強く推奨されません。
EPUB コンテンツ文書にマニフェストフォールバックを提供することは可能ですが、これは 必須でも一般的でもありません。例えば、スクリプト付きコンテンツ文書は、 スクリプティングをサポートしない読書システム向けに、 スクリプトなしの代替物へのフォールバックを持つことができます。
コンテンツプレーンは、 EPUB コンテンツ文書および 外来コンテンツ文書をレンダリングするときに使用されるリソースを 分類します。これらの種類のリソースには、埋め込みメディア、CSS スタイルシート、スクリプト、 およびフォントが含まれます。これらのリソースは、読書システムのサポートに基づいて 3 つのカテゴリーに分類されます。 コアメディアタイプリソース、 外来リソース、および 免除リソースです。
コアメディアタイプリソースは、読書システムがサポートしなければならないリソースであるため、 EPUB または外来コンテンツ文書内で制限なく使用できます。コアメディア タイプリソースの詳細については、3.2 コアメディアタイプを参照してください。
コアメディアタイプリソースであることは、読書システムが常にその リソースをレンダリングすることを意味しません。すべての読書システムが EPUB 3 のすべての機能をサポートするわけではないためです。 例えば、ビューポートを持たない読書システムは、画像などの視覚コンテンツを レンダリングしません。
コアメディアタイプリソースの反対にあるのが外来リソースです。これらは、読書 システムがレンダリングをサポートすることが保証されていないリソースです。その結果、 スパイン内で外来コンテンツ文書を使用するにはそのレンダリングを保証するためにフォールバックが必要であるのと同様に、 コンテンツ文書内で外来リソースを使用する場合にもフォールバックが必要です。これらのフォールバックは、 ホスト形式の機能を使用するか、マニフェストフォールバックを介するかの 2 つの方法のいずれかで提供されます。
推奨される方法は、ホスト形式のフォールバック機能を使用することです。例えば、多くの HTML 要素には
内在的なフォールバック機能があります。その一例が
picture
要素 [html] であり、これにより EPUB 作成者は
複数の代替画像
形式を指定できます。
内在的なフォールバック方法が利用できない場合、マニフェストフォールバックを使用することも可能ですが、 前節で 注意喚起したように、この方法は推奨されません。 外来リソースの詳細については、3.3 外来 リソースを参照してください。
コアメディアタイプリソースと外来リソースの中間に位置するのが免除リソースです。これらは 外来リソースに最も近く、読書システムがそれらをレンダリングする保証はありません。 しかし、コアメディアタイプと同様に、フォールバックを必要としません。
免除リソースは、コアメディアタイプが定義されていないが、フォールバックを提供することが
煩雑または不要である特定のケースに対応する傾向があります。これには、
動画の埋め込み、アクセシビリティトラックの追加、および [html] の link 要素からリソースへリンクすることが含まれます。
これらの例外の詳細については、3.4 免除 リソースを参照してください。
コアメディアタイプリソースに起因する一般的な混乱点は、XHTML と SVG が、それぞれの EPUB コンテンツ文書定義にマークアップが適合するという要件付きで コアメディアタイプリソースとして列挙されていることです。これにより、EPUB 作成者は XHTML と SVG の両方の文書を EPUB コンテンツ文書内に埋め込みつつ、 オーサリングおよび読書システムサポートに関する要件を一貫させることができます。
実際には、EPUB 作成者は XHTML および SVG のコアメディアタイプリソースを 変更やフォールバックなしにスパインへ配置できます(それらは適合する XHTML および SVG コンテンツ文書でもあります)が、これは特別なケースです。その他すべてのコアメディアタイプリソースは、 スパインで使用される場合、外来コンテンツ文書になります(すなわち、外来コンテンツ文書には XHTML と SVG を除くすべての外来リソースおよびすべてのコアメディアタイプリソースが含まれます)。
EPUB 作成者は、出版リソースが次の表で定義される MIME メディア タイプ [rfc2046] 仕様に適合する場合、それらが EPUB コンテンツ文書および 外来コンテンツ文書で使用されるときに、フォールバックなしで含めてもかまいません(MAY)。 これらのリソースは コアメディアタイプリソースとして分類されます。
XHTML コンテンツ文書および SVG コンテンツ文書を除き、EPUB 作成者は、 スパインから直接参照される コアメディアタイプリソースに対して マニフェストフォールバックを 提供しなければなりません(MUST)。この場合、それらは 外来コンテンツ文書です。
表の列は、次の情報を表します。
メディアタイプ—指定された 出版リソースを マニフェスト内で表すために使用される MIME メディアタイプ [rfc2046]。
表に複数のメディアタイプが列挙されている場合、最初のものが推奨メディアタイプです。EPUB 作成者は、すべての新しい EPUB 出版物に推奨メディアタイプを使用すべきです。
| メディアタイプ | コンテンツタイプ定義 | 適用対象 |
|---|---|---|
| 画像 | ||
image/gif
|
[gif] | GIF 画像 |
image/jpeg
|
[jpeg] | JPEG 画像 |
image/png
|
[png] | PNG 画像 |
image/svg+xml
|
SVG コンテンツ文書 | SVG 文書 |
image/webp
|
[rfc9649] | WebP 画像 |
| 音声 | ||
audio/mpeg
|
[mp3] | MP3 音声 |
audio/mp4
|
[mpeg4-audio], [mp4] | MP4 コンテナーを使用する AAC LC 音声 |
audio/ogg; codecs=opus
|
[rfc7845] | OGG コンテナーを使用する OPUS 音声 |
| スタイル | ||
text/css
|
CSS スタイルシート | CSS スタイルシート。 |
| フォント | ||
|
[truetype] | TrueType フォント |
|
[opentype] | OpenType フォント |
|
[woff] | WOFF フォント |
font/woff2
|
[woff2] | WOFF2 フォント |
| その他 | ||
application/xhtml+xml
|
XHTML コンテンツ文書 | XML 構文 [html] を使用する HTML 文書。 |
|
[rfc4329] | スクリプト。 |
application/x-dtbncx+xml
|
[opf-201] | レガシー NCX。 |
application/smil+xml
|
メディアオーバーレイ | EPUB メディアオーバーレイ文書 |
コアメディアタイプリソースとして含まれることは、すべての読書システムが そのリソースのレンダリングをサポートすることを意味しません。読書システムのサポートは、 アプリケーションの能力にも依存します(例えば、ビューポートを持つ読書システムは 画像のコアメディアタイプ リソースをサポートしなければなりませんが、ビューポートを持たない読書システムはそうではありません)。 どの読書システムのレンダリング能力がどのコア メディアタイプリソースのサポートを必要とするかの詳細については、 コアメディアタイプ [epub-rs-33] を参照してください。
Working Group は通常、Web ブラウザーコア — EPUB 3 読書システムが その上に構築されるレンダリングエンジン — で広くサポートされている形式のみを、 コアメディアタイプリソースとして含めます。これらは、EPUB 出版物のレンダリングの 予測可能性を確保するための、読書システム開発者と EPUB 作成者の間の合意です。
外来リソースは、コアメディアタイプリソースとは異なり、 EPUB コンテンツ文書または 外来コンテンツ文書で使用される場合に、 読書システムのサポートが保証されていないものです。
EPUB 作成者は、外来リソースに対してフォールバックを提供しなければなりません(MUST)。 フォールバックは次のいずれかの形式を取ります。
ホスト形式によって提供される内在的なフォールバック機構(例えば、[html] 要素は多くの場合、 複数のメディアタイプを参照したり、メディアタイプをレンダリングできない場合に代替の 埋め込みメッセージを表示したりする能力を提供します);または
マニフェストフォールバックチェーンであり、
パッケージ文書内の
要素で定義されます。
item
それぞれの要素が提供する内在的なフォールバック能力については、 [html] および [svg] 仕様を参照してください。
3.5.2 内在的 フォールバックも、特定の要素についてフォールバックがどのように 解釈されるかに関する追加情報を提供します。
免除リソースは、外来リソースと コアメディアタイプリソースの両方の特性を共有します。 それは、外来リソースと同様に 読書システムのサポートが保証されていませんが、 コアメディアタイプ リソースのようにフォールバックを必要としない点で、外来リソースに最も似ています。
免除リソースには、少数の特別なケースしかありません。例えば動画は、この時点では コアメディアタイプ動画形式について合意がないため(すなわち、フォールバック先となる形式が ないため)、フォールバックから免除されます。同様に、音声および動画トラックは、 EPUB 作成者が読書システムが最もよくサポートする 任意の形式を使用してアクセシビリティ要件を満たせるようにするため、免除されます。
次の一覧では、コンテンツ固有の免除リソースのケースを、その使用場所に関する 制限を含めて詳述します。
フォントコアメディアタイプとして既に扱われていないすべてのフォントリソースは、 免除リソースです。
この免除により、EPUB 作成者は、読書システムのサポート期待に関係なく、 フォールバックなしで任意のフォント形式を使用できます。サポートがない場合には CSS 規則により フォールバックフォントが保証されるためです。
詳細については、フォントに関する読書システムの サポート 要件 [epub-rs-33] を参照してください。
[html] の link 要素から参照される任意のリソースのうち、
既にコアメディアタイプリソース(例:
CSS スタイルシート)でないものは、免除リソースです。
[html] track
要素から参照されるすべての音声および動画トラック(例: [webvtt]
のキャプション、字幕、および説明)は、免除リソースです。
[html]
の
video
— 任意の子
source
要素を含む — から参照されるすべての動画コーデックは、免除リソースです。
上記の免除は、スパインには適用されません。免除リソースが スパインで使用され、それが EPUB コンテンツ文書でもない場合、そのコンテキストでは フォールバックが必要になります。
コンテンツ固有の免除に加えて、リソースは次の場合に 免除リソースとして分類されます。
それがスパインの
要素から参照されていない(すなわち、外来コンテンツ文書として使用されていない)場合;
かつ
itemref
それが EPUB コンテンツ文書に直接埋め込まれていない場合(例: [html] 埋め込みコンテンツおよび [svg] image 要素および foreignObject
要素を介する場合など)。
この免除により、EPUB 作成者は、EPUB 読書システムによる使用を目的としないリソースを EPUB コンテナー に含めることができます。この免除の主要なケースは、スクリプトが構成要素である EPUB コンテンツ文書で使用するため、 または外部アプリケーションが使用するために、データファイルを EPUB 出版物とともに移動できるようにすることです (例: 科学雑誌が、EPUB コンテナーからそれを抽出する方法の指示とともにデータセットを含める場合)。
これはまた、読書システムや EPUB 適合性チェッカーがそれらの リソースのフォールバック能力を理解する必要なしに、EPUB 作成者が外来コンテンツ文書内で外来リソースを使用することを 可能にします(すなわち、外来コンテンツ文書に対するフォールバック要件が、その中の あらゆるレンダリング上の問題をカバーします)。そのリソースは EPUB コンテンツ文書から参照されていないため、 自動的にフォールバックから免除されます。
マニフェストフォールバックは、パッケージ 文書の機能であり、出版リソースに対する マニフェストフォールバックチェーンを作成し、 読書システムが レンダリング可能な代替形式を選択できるようにします。
フォールバックチェーンは、マニフェスト
要素上の itemfallback
属性を使用して作成されます。この属性は、現在の item の
フォールバックである別のマニフェスト item の
ID [xml] を参照します。
読書システムが、指定された item の fallback
属性から開始して到達できるすべての参照の順序付きリストは、その item の完全な
フォールバックチェーンを表します。このチェーンはまた、
EPUB 作成者が優先するフォールバック
順序を表します。
マニフェストフォールバックには 2 つのケースがあります。
EPUB 作成者は、外来コンテンツ 文書に対してフォールバックチェーンを指定しなければなりません(MUST)。 これは、読書システムが常に スパイン項目をレンダリングできるようにするためです。この場合、 チェーンには少なくとも 1 つの EPUB コンテンツ文書が含まれなければなりません(MUST)。
EPUB 作成者は、EPUB コンテンツ文書にフォールバックを提供してもかまいません(MAY) (例: スクリプト付きコンテンツのフォールバックを提供する場合)。
フォールバックチェーンに複数の EPUB コンテンツ文書が含まれる場合、EPUB 作成者は
properties 属性を使用して、
それぞれの目的を区別できます。
EPUB 作成者は、それらを参照する要素が内在的なフォールバック能力を持たない場合、 外来リソースに対してコンテンツフォールバックを提供しなければなりません(MUST)。 この場合、フォールバックチェーンには少なくとも 1 つの コアメディアタイプ リソースが含まれなければなりません(MUST)。
EPUB 作成者は、コアメディア タイプリソースに対してマニフェストフォールバックを提供してもかまいません(MAY)(例: 読書システムが複数の画像形式から選択できるようにする場合)。
指定されたマニフェストフォールバックの種類にかかわらず、フォールバックチェーンには
チェーン内の item 要素への自己参照または循環参照を
含めてはなりません(MUST
NOT)。
data URLで表されるリソースにはマニフェストフォールバックを使用できないため、 EPUB 作成者は、内在的なフォールバック機構が利用可能な場合にのみ、外来リソースを data URL として表すことができます。
以下の節では、特定の要素に関する内在的なフォールバック 要件について追加の明確化を提供します。
EPUB
作成者は、音声の
外来リソースに対する内在的なフォールバックとして、
メディア要素
(すなわち、audio または video)内で、埋め込みの
[html] フローコンテンツを使用してはなりません(MUST
NOT)。
子
source
要素 [html] だけが内在的な
フォールバック能力を提供します。
audio または
video 要素を認識しない古い 読書システム(例: EPUB 2 読書システム)のみが
埋め込み
コンテンツをレンダリングします。読書システムがこれらの要素をサポートしているが利用可能なメディア形式をサポートしていない場合、
それらはユーザー向けに埋め込みコンテンツをレンダリングしません。
フォールバックの要件は、audio および video 要素から参照される
音声外来リソースにのみ適用されます。動画リソースにはフォールバックは必要ありません。
それらは 免除リソースです。
[html]
img
要素で EPUB 作成者が指定できるソースは多様であるため、その
使用には次のフォールバック条件が適用されます。
それが
picture
要素の子である場合:
src
および
srcset
属性で外来リソースを参照してもかまいません(MAY)。
データブロックは、それを含む
XHTML コンテンツ文書とは別個の MIME メディアタイプ
[rfc2046]
を持ちますが、[html]
script
要素にはそのような機構が指定されていないため、内在的なフォールバックを提供することはできません。
また、データブロックは EPUB コンテナー内のスタンドアロンファイルとして定義できず、
常にインラインの script 要素として埋め込まれるため、
マニフェストフォールバックを提供することもできません。
しかし、script 要素はユーザーコンテンツを表しません —
データブロックはスクリプトによって操作されない限りレンダリングされず、
スクリプトによってレンダリングされるコンテンツには既に コア
メディアタイプ要件があります — そのため、生データにフォールバックを要求しても
有用な目的を果たしません。
したがって、EPUB 作成者がスクリプティング 目的でデータ ブロックを含められるようにするため、それらはフォールバック要件から免除されます。
この免除は、データブロックを データファイルに対する免除と整合させます。
[svg] は公開時点でデータブロックを定義していませんが、 将来の更新でこの概念が追加された場合にも、同じ除外が適用されます。
EPUB 作成者は、次の種類の 出版リソースを EPUB コンテナーの外部でホストしてもかまいません(MAY)。
EPUB 作成者は、その他すべてのリソースを EPUB コンテナー内に格納しなければなりません(MUST)。
すべてのリソースを EPUB コンテナー内に格納することは、可能な場合は常に強く推奨されます。 これにより、接続状態にかかわらず、ユーザーが提示全体にアクセスできるためです。
リソースを EPUB コンテナー外に配置しなければならない場合、EPUB 作成者は、
自分たちの出版物およびユーザーをネットワーク攻撃にさらす脅威を制限するため、
安全な https URI スキーム [rfc9110] で
それらを参照することが推奨されます(RECOMMENDED)。読書
システムは、http のような安全でないスキームを使用して参照された
リモートリソースを読み込まない可能性があります。
出版リソースの場所に関するこれらの規則は、指定されたリソースが コアメディアタイプリソースであるか 外来リソースであるかに関係なく適用されます。
マニフェスト
が
リモートリソースを参照していることを示す方法の詳細については、
itemremote-resources プロパティを参照してください。
data: URL スキーム [rfc2397] は、リソースを
URL 文字列に直接エンコードするために使用されます。このスキームの利点は、
EPUB 作成者が
あるリソースを別のリソース内に埋め込むことができ、外部ファイルの必要を避けられる点です。
EPUB 作成者は、トップレベルコンテンツ文書または トップレベル閲覧コンテキスト [html] につながる可能性がある次のシナリオでは、data URL を使用してはなりません(MUST NOT)。
パッケージ文書内の href 属性 — これはマニフェスト
要素とメタデータ
item
要素の両方に適用されます;
link
[html] または [svg] の a
要素の href 属性。ただし、
[html] の
iframe
要素内にある場合を除きます;
[html] の area 要素の
href 属性。ただし、
iframe 要素内にある場合を除きます;
[ecmascript] の
window.open または document.open の呼び出し。
埋め込みの結果として、data URL 内のデータは、マニフェスト報告の目的では、 それ自体の一意な 出版リソースとは見なされません (すなわち、それを含む出版 リソースのみが列挙されます)。ただし、このデータには独自のメディアタイプがあるため、 それはなお 外来リソース制限の対象となります。したがって、EPUB 作成者は data URL を コアメディアタイプリソースとしてエンコードするか、 ホスト形式の内在的なフォールバック 機構を使用してフォールバックを提供しなければなりません(MUST)。
file: URL スキームは、[rfc8089] で
「ホスト(『ファイルシステム』)上の、構造化されたオブジェクト命名およびアクセス環境に格納されたオブジェクト
(『ファイル』)を識別する」ものとして定義されています。これは通常、ローカルのオペレーティング
システムからファイルを取得するために使用されます。
異なるホスト間で転送される可能性のある EPUB 出版物内で file URL を使用することは、 セキュリティリスクを表し、相互運用性もありません。その結果、EPUB 作成者は EPUB 出版物内で file URL を 使用してはなりません(MUST NOT)。
XML ベースのメディアタイプ [rfc2046] である 任意の 出版リソースは、次の条件を満たします。
そのメディアタイプに適した 外部 識別子を参照する 文書型 宣言のみを指定してもよく(MAY) — これは B. 許可される外部 識別子で定義されるものです — または外部識別子を省略してもかまいません [xml]。
XInclude [xinclude] を使用してはなりません(MUST NOT)。
UTF-8 または UTF-16 [unicode] でエンコードされなければならず(MUST)、 UTF-8 が 推奨エンコーディングです(RECOMMENDED)。
上記の制約は、指定された出版リソースが コアメディアタイプリソースであるか、 外来リソースであるかに関係なく適用されます。
この節は非規範的です。
OCF は EPUB 出版物に必須のコンテナー技術です。OCF は 次のワークフローで役割を果たすことがあります。
この節では、ファイル集合を抽象的に構造化するための規則、すなわち「抽象 コンテナー」を定義します。また、この抽象コンテナーを ZIP アーカイブ内で表現するための規則、すなわち「物理コンテナー」も定義します。ZIP 物理コンテナーの規則は、 [odf] で使用される ZIP 技術を基盤としています。
OCF はまた、この機能を必要とする EPUB 出版物のために、 埋め込みフォントを難読化する標準的な方法も定義します。
この節は非規範的です。
OCF 抽象コンテナーのファイルシステムモデルは、 単一の共通 ルートディレクトリーを使用します。すべての コンテナーリソースは、ルートディレクトリーを起点とする ディレクトリーツリー内に配置されますが、 それらに対する特定のファイルシステム構造はこの仕様では義務付けられていません。
このファイルシステムモデルには、META-INF という名前の必須ディレクトリーも含まれます。
これはルートディレクトリーの直接の子であり、次の特別なファイルを格納します。
container.xml
[必須]
signatures.xml
[任意]
さまざまなアセットに対するデジタル署名を含みます。
encryption.xml
[任意]
出版リソースの暗号化に関する情報を含みます。このファイルは、 EPUB 作成者が フォント 難読化を使用する場合に必須です。
metadata.xml
[任意]
OCF ZIP コンテナーに関するメタデータを格納するために使用されます。
rights.xml
[任意]
デジタル権利に関する情報を格納するために使用されます。
manifest.xml
[任意]
Open Document Format [odf] によって許可されるコンテナー内容のマニフェストです。
META-INF ディレクトリー内の各種ファイルに関する適合要件については、
4.2.6
META-INF ディレクトリーを参照してください。
OCF 抽象コンテナーの仮想ファイルシステムは、 コンテナーのすべての内容に対して、単一の共通 ルート ディレクトリーを持たなければなりません(MUST)。
OCF 抽象コンテナーは、
コンテナーのルートディレクトリーの直接の子である、META-INF という名前の
設定ファイル用ディレクトリーを含まなければなりません(MUST)。この
ディレクトリーの内容に関する要件については、4.2.6
META-INF ディレクトリーを参照してください。
ルートディレクトリー内のファイル名 mimetype は、OCF ZIP
コンテナーでの使用のために予約されています。これは
4.3 OCF ZIP
コンテナーで説明されています。
META-INF ディレクトリー内のファイルおよび mimetype ファイルは
出版リソースではないため、マニフェストに
列挙してはなりません(MUST
NOT)。
EPUB 作成者は、OCF 抽象コンテナー内のその他すべての
ファイルを、META-INF
ディレクトリー内でない限り、ルートディレクトリーの任意の子孫位置に配置してもかまいません(MAY)。
EPUB 作成者は、
EPUB 出版物から
META-INF ディレクトリー内のファイルを参照してはなりません(MUST NOT)。
一部の 読書システムは、 パッケージ文書が格納されているディレクトリーの外部にある リソースへのアクセスを提供しません。したがって、EPUB 作成者は相互運用性の問題を避けるため、 すべてのリソースをパッケージ文書を含むディレクトリーまたはその下に配置すべきです。
この問題は、出版物の 複数レンディションを作成する [epub-multi-rend-11] 場合に より一般的に発生します。
OCF 抽象コンテナーの文脈では、ファイルパスおよび ファイル名は スカラー値文字列 [infra] です(すなわち、 それらの値は大文字小文字を区別します)。
さらに、次の制限は、ほとんどのオペレーティングシステムでファイルパスおよびファイル名を 変更なしに使用できるようにするために設計されています。
ファイル名は 255 バイトを超えてはなりません(MUST NOT)。
OCF 抽象コンテナー内の任意のディレクトリーまたはファイルのファイルパスは、 65535 バイトを超えてはなりません(MUST NOT)。
一般的に使用されるオペレーティングシステムではこれらの文字を一貫してサポートしない場合があるため、 ファイル名は次の [unicode] 文字を使用してはなりません(MUST NOT)。
SOLIDUS: / (U+002F)
QUOTATION MARK: " (U+0022)
ASTERISK: * (U+002A)
最後の文字としての FULL STOP: . (U+002E)
COLON: : (U+003A)
LESS-THAN SIGN: < (U+003C)
GREATER-THAN SIGN: > (U+003E)
QUESTION MARK: ? (U+003F)
REVERSE SOLIDUS: \ (U+005C)
VERTICAL LINE: | (U+007C)
DEL (U+007F)
C0 範囲 (U+0000 … U+001F)
C1 範囲 (U+0080 … U+009F)
私用領域 (U+E000 … U+F8FF)
すべての Unicode 非文字、具体的には次のもの。
基本多言語面内の 32 個の連続する文字
(U+FDD0 … U+FDEF)
基本多言語面の最後の 2 つのコードポイント
(U+FFFE および U+FFFF)
補助面の末尾にある最後の 2 つのコードポイント
(U+1FFFE, U+1FFFF … U+EFFFE, U+EFFFF)
Specials (U+FFF0 … U+FFFF)
補助私用領域 A (U+F0000 … U+FFFFF)
補助私用領域 B (U+100000 … U+10FFFF)
Unicode Character Database [uax44] には、 非推奨文字の 一覧も含まれます。EPUB 作成者はこれらの文字も避けることが推奨されます。 EPUB 適合性チェッカーがそれらの 使用を指摘すると予想されるためです。
古い 読書システムとの互換性のため、ファイル名は SPACE (U+0020) 文字を含むべきではありません(SHOULD NOT)。
同じディレクトリー内のすべてのファイル名は、Unicode 正準正規化 [uax15]、その後の完全ケースフォールディング [unicode] に従って一意でなければなりません(MUST)。(詳細については、 Unicode 正準ケースフォールド 正規化ステップ [charmod-norm] を参照してください。)
EPUB 作成者がリソースを動的に統合する場合 (すなわち、命名が自分たちの 制御外である場合)、ファイル名を 255 バイト制限内に収めるための自動切り詰めが 破損につながる可能性があることに注意すべきです。これは、UTF-8 のようなマルチバイトエンコーディングにおける バイトと文字の違いによるものです。したがって、文字の途中での切り詰めを避けることが重要です。 詳細については、[international-specs] の 「文字列の長さを切り詰める、または制限する」の節を参照してください。
OCF 抽象コンテナー内のファイルまたはディレクトリー file が与えられたとき、ファイルパスを導出するには、次のステップを適用します ([infra] の用語を用いて表現します)。
U+002F (/) 文字を使用した path の
連結を返します。
コンテナールート URLは、ルートディレクトリーの URL [url] です。これは実装固有ですが、 EPUB 作成者は、それが次の特性を持つものと想定しなければなりません(MUST)。
/」を
コンテナールート URLを
baseとして解析した結果は、
コンテナールート URLです。
..」を
コンテナールート URLを
baseとして解析した結果は、
コンテナールート URLです。
OCF 抽象コンテナー内のファイルまたはディレクトリーの コンテンツ URLは、そのファイルの ファイルパスを、 コンテナールート URL を baseとして 解析した結果です。
コンテナールート URL は、読書システムが EPUB コンテナーのルートに割り当てる URL です。これは通常、 読書システムが内部でコンテナーファイルシステムをどのように実装しているかに依存します。
ただし、読書システムは任意の URL を恣意的に使用できるわけではなく、上記で定義される制約を 尊重する URL を使用しなければなりません。これらの制約により、EPUB 内にある任意の相対 URL 文字列が、 常にコンテナー内のリソース(存在する場合も存在しない場合もあります)の URL として解析されることが保証されます。 これらの制約の主な理由は、解析された URL がコンテナーファイルの外へ「漏れる」ことによって生じる可能性のある 実行時セキュリティ問題を避けるためです。
例えば、https://localhost:12345/ や
https://www.example.org:12345/ のような URL はこれらの特性を満たします。しかし、
https://localhost:12345/path/to.epub/、
file:///path/to.epub#path=/、または jar:file:/path/to.epub!/EPUB/
のような URL は満たしません(これら 3 つの例を base として URL 文字列「..」を解析すると、
それぞれ https://localhost:12345/path/、file:///path/、および解析
エラーが返されます)。上記で定義される特性に準拠する URL をルート
ディレクトリーに割り当てる責任は、読書システムにあります。
解析により、ファイルパス内の一部の文字が パーセントエンコードされた代替表現に置き換えられることがあります。例えば、
A/B/C/file name.xhtml は A/B/C/file%20name.xhtml になります。
文字列 url は、
path-relative-scheme-less-url
stringであり、任意で U+0023 (#)
および url-fragment string が続き、かつ次の
ステップが true を返す場合、
valid-relative-ocf-URL-with-fragment
string です。
コンテナールート URLを
https://a.example.org/A/ に設定します。
このアルゴリズムの目的は、url がコンテナー外へ「漏れている」と見なされ得るかどうかを
検出することです。そのため、標準の URL 解析アルゴリズムを人工的なルート URL とともに使用します。
「漏れ」の検出は、解析結果と最初のテストパス
セグメント(A)の存在を比較することによって行われます。(なお、人工的なコンテナールート URL は、
このアルゴリズムの目的のために、その最初のテスト
パスセグメントを使用することで、必須特性に意図的に違反しています。)
base を、url が使用されるコンテキスト(文書または環境)によって定義され、 かつ パッケージ文書のコンテンツ URL に従って、 url を解析するために使用されなければならない base URL とします (5.2 パッケージ文書内の URL の解析を参照)。
パッケージ文書内の URL の場合、base 変数は
パッケージ文書のコンテンツ URL に設定されます。
META-INF ディレクトリー内の文書の場合、base 変数は
コンテナールート URL に設定されます(4.2.6.2 META-INF
ディレクトリー内の URL の解析を参照)。XHTML コンテンツ
文書内の URL の場合、解析に使用される base URL は
HTML 標準によって定義されます。通常、それは
コンテンツ文書のコンテンツ URL になります(推奨されない
base 要素が使用されていない限り)。
コンテナールート URLを
https://b.example.org/B/ に設定します。
異なる人工的なコンテナールート URL の設定で同じステップを 2 回繰り返す理由は、
url 文字列にも /A/ が含まれている場合に発生し得る衝突を避けるためです。
例えば、url が ../../A/doc.xhtml である場合を考えてください。
testURLStringA が https://a.example.org/ で始まらない、または
testURLStringB が https://b.example.org/ で始まらない場合、
true を返します。
いずれかの結果がテスト URL のホストを共有していない場合、それは url、
またはその base URL(例えば HTML で base 要素により明示的に設定されている場合)が
絶対であり、コンテナーの外部を指していることを意味します。これは許容されます。
testURLStringA が https://a.example.org/A/ で始まり、かつ
testURLStringB が https://b.example.org/B/ で始まる場合、
true を返します。
最初のテストパスセグメント(それぞれ A、
B)の存在は、その URL がコンテナー外へ漏れていないことを示します。
OCF 抽象コンテナーでは、任意の URL 文字列は absolute-url-with-fragment string または valid-relative-ocf-URL-with-fragment string でなければなりません(MUST)。
さらに、すべての relative-URL-with-fragment strings [url] は、解析後に、OCF 抽象コンテナー内に存在するファイルのコンテンツ URL と等しくなければなりません(MUST)。
URL 文字列に対するこれらの制約は、次のことを意味します。
/ (U+002F) で始まる相対 URL 文字列(例えば
/EPUB/content.xhtml)は許可されません。
EPUB/../../../../config.xml)は
許可されません。
なお、いずれの場合でも、上記で説明した許可されない URL 文字列であっても、 解析後にコンテナー外へ「漏れる」ことはありません(この節の 最初の注記で説明したとおりです)。それでもなお、 非適合またはレガシーの読書システムおよびツールチェーンとの相互運用性を高めるため、 これらは許可されません。
すべての OCF 抽象コンテナーは、
その ルートディレクトリーに META-INF という
ディレクトリーを含まなければなりません(MUST)。
このディレクトリーは、設定ファイル、具体的には 4.2.6.3 予約済みファイルで定義されるもののために予約されています。
META-INF
ディレクトリー内にあるファイルで使用される URL 文字列
url を解析するには、URL パーサーを、コンテナールート URLを
baseとして、url に適用しなければなりません(MUST)。
META-INF ディレクトリー内の必須(REQUIRED)
container.xml ファイルは、OCF 抽象
コンテナーで利用可能な
パッケージ文書を識別します。
この節で定義されるすべての [xml]
要素は、特に指定がない限り、
urn:oasis:names:tc:opendocument:xmlns:container 名前空間 [xml-names] に属します。
このファイルの内容は、他の名前空間からのすべての要素および属性(そのような要素のすべての属性および内容を含む)を削除した後、 この節の定義に対して妥当でなければなりません(MUST)。
XML スキーマも、このファイルの内容を非公式に定義しています。
container 要素は、
container.xml ファイル内のすべての情報をカプセル化します。
rootfiles 要素は、EPUB コンテナーで利用可能な
パッケージ文書の一覧を含みます。
各 rootfile 要素は、EPUB コンテナー内の 1 つの
パッケージ文書の位置を識別します。
rootfile
要素の子として。繰り返し可能。
rootfiles
full-path
[必須]
パッケージ文書の位置を識別します。
この属性の値は、path-relative-scheme-less-URL string [url] でなければなりません(MUST)。パスは ルートディレクトリーに相対的です。
media-type
[必須]
パッケージ文書のメディアタイプを識別します。
この属性の値は
「application/oebps-package+xml」でなければなりません(MUST)。
空
EPUB 作成者が複数の
rootfile 要素を定義する場合、それぞれは同じバージョンの EPUB に適合する
パッケージ文書を参照しなければなりません(MUST)。各パッケージ
文書は EPUB 出版物の 1 つのレンダリングを表します。
EPUB コンテナーは複数のパッケージ文書を参照する能力を提供しますが、 この仕様は利用可能な選択肢をどのように解釈または選択するかを定義しません。 コンテンツの複数のレンダリングをまとめる方法の詳細については、 [epub-multi-rend-11] を参照してください。
links 要素は、
OCF ZIP コンテナーの処理に必要なリソースを識別します。
この仕様は現在、links
要素の用途を定義していません。その使用例については、
[epub-multi-rend-11]
を参照してください。
link
要素の子として。繰り返し可能。
links
href
[必須]
リソースの位置を識別します。
link 要素の href
属性の値は、path-relative-scheme-less-URL
string
[url] でなければなりません(MUST)。パスは
ルート
ディレクトリーに相対的です。
media-type
[任意]
参照されるリソースの種類および形式を識別します。
この属性の値はメディアタイプ [rfc2046] でなければなりません(MUST)。
rel
[必須]
リソースの関係を識別します。
この属性の値は、空白区切りの トークンのリストでなければなりません(MUST)。
空
この節は非規範的です。
META-INF ディレクトリー内の任意(OPTIONAL)の
encryption.xml ファイルは、
コンテナーの内容に関するすべての暗号化情報を保持します。EPUB
作成者がコンテナー内の任意のリソースを暗号化する場合、
使用された暗号化に関する情報を提供するために
encryption.xml ファイルを含めなければなりません(MUST)。
encryption
urn:oasis:names:tc:opendocument:xmlns:container
なし
任意の順序で:
EncryptedKey [1 つ以上]EncryptedData [1 つ以上]encryption 要素は、
[xmlenc-core1]
によって定義される
EncryptedKey および EncryptedData 型の子要素を含みます。
EncryptedKey 要素は、コンテナー内で使用される各
暗号化キーを記述し、EncryptedData 要素は各
暗号化ファイルを記述します。各 EncryptedData 要素は、XML Encryption で説明されるとおり、
EncryptedKey 要素を参照します。
XML スキーマも
encryption.xml ファイルの内容を非公式に定義しています。
OCF は個々のファイルを独立して暗号化し、セキュリティの一部を性能向上と引き換えにしつつ、 コンテナー内容を段階的に復号できるようにします。この方法での暗号化は、パッケージ全体の ディレクトリー構造およびファイル命名を露出させます。
OCF は XML Encryption [xmlenc-core1]
を使用して
暗号化のためのフレームワークを提供し、
さまざまなアルゴリズムを使用できるようにします。XML Encryption は、任意のデータを
暗号化し、その結果を XML で表現するプロセスを指定します。OCF 抽象
コンテナーに非 XML データが含まれる場合でも、EPUB
作成者は XML
Encryption を使用して OCF
抽象コンテナー内のすべてのデータを暗号化できます。OCF
暗号化は、コンテナー内のファイル全体の暗号化のみをサポートし、ファイルの一部はサポートしません。
EPUB 作成者は、
存在する場合に encryption.xml ファイルを暗号化してはなりません(MUST NOT)。
暗号化されたデータは、OCF 抽象コンテナー内の暗号化されていないデータを置き換えます。例えば、
EPUB 作成者が photo.jpeg という名前の画像を暗号化する場合、
photo.jpeg リソースの内容をその暗号化された
内容で置き換えるべきです。ZIP ディレクトリー内では、EPUB 作成者は
暗号化されたファイルを Deflate 圧縮するのではなく格納すべきです(SHOULD)。
なお、一部の状況では、EPUB 出版物から参照される埋め込みフォントを、
無制限の使用のために抽出しにくくするために、その格納を難読化する必要があります。
難読化は暗号化ではありませんが、読書システムは encryption.xml ファイルを
フォント難読化アルゴリズムと組み合わせて使用し、
難読化解除すべきフォントを識別します。
EPUB 作成者は次のファイルを暗号化してはなりません(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
package document =] EPUB 作成者は、その後、XML Signature の Decryption Transform [xmlenc-decrypt] を使用して 署名済みリソースを暗号化してもかまいません(MAY)。この機能により、 読書システムは、 署名前に暗号化されたデータと署名後に暗号化されたデータを区別できます。
OCF ZIP コンテナーに格納する場合、 EPUB 作成者は、 非コーデックコンテンツタイプのデータストリームを 暗号化する前に圧縮すべきです(SHOULD)。 EPUB 作成者は Deflate 圧縮を使用しなければなりません(MUST)。 この実践により、ZIP コンテナーに格納されるファイルエントリーのサイズが小さくなります。
EPUB 作成者は、コーデックコンテンツタイプのデータストリームを 暗号化する前に圧縮すべきではありません(SHOULD NOT)。このような場合、追加の圧縮は 制作時に不要な処理オーバーヘッドをもたらし(特に大きなリソースファイルの場合)、 利用時の音声/動画再生性能に影響します。場合によっては、圧縮と一部の暗号化方式の 組み合わせにより、メディア再生に先立って完全な リソースの長さ(例: HTTP Content-Length ヘッダー)を判断することが技術的に不可能であるため、 読書システムが 部分コンテンツ要求(例: HTTP バイト 範囲)を処理する能力を損なうことさえあります。
EPUB 作成者がデータストリームを暗号化前に圧縮する場合、
以下に定義する Compression XML 要素に従って、
初期リソース(すなわち、圧縮および暗号化前)のサイズを指定するために
追加の EncryptionProperties メタデータを提供すべきです(SHOULD)。EPUB 作成者が
データストリームを暗号化前に圧縮しない場合、初期
リソース(すなわち、暗号化前)のサイズを指定するために、追加の
EncryptionProperties メタデータを提供してもかまいません(MAY)。
Compression
http://www.idpf.org/2016/encryption#compression
EncryptionProperty の任意(OPTIONAL)の子。
[必須]使用された圧縮方式を識別します。
値は「0」(圧縮なし)または「8」
(Deflate アルゴリズム)のいずれかです。
[必須]初期リソースのサイズ(バイト数)を表します。
値は正の整数です。
空
META-INF ディレクトリー内の任意(OPTIONAL)の
manifest.xml ファイルは、
コンテナー内のファイルのマニフェストを提供します。
OCF 仕様は、このマニフェストの形式を義務付けていません。
なお、パッケージ文書は、 EPUB 出版物の処理に使用される唯一のマニフェストを指定します。 読書システムはこのファイルを使用しません。
META-INF ディレクトリー内の任意(OPTIONAL)の
metadata.xml ファイルは、
コンテナーレベルのメタデータ専用です。
EPUB 作成者が metadata.xml
ファイルを含める場合、その中では名前空間修飾された要素
[xml-names] のみを使用すべきです(SHOULD)。
このファイルは、名前空間 http://www.idpf.org/2013/metadata 内の
metadata という
ルート要素 [xml] を
含むべきですが(SHOULD)、この仕様は後方互換性のために
他のルート要素を許可します。
この仕様のこのバージョンは、
metadata.xml ファイルで使用するメタデータを定義していません。この仕様の将来のバージョンは、
コンテナーレベルのメタデータを定義してもかまいません(MAY)。
この仕様は、META-INF ディレクトリー内の任意(OPTIONAL)の
rights.xml ファイルを、権利者、仲介者、およびユーザーの間で
EPUB 出版物を信頼された形で交換するために予約します。
EPUB 作成者が
rights.xml ファイルを含めない場合、
OCF 抽象コンテナーのどの部分も
コンテナーレベルでは権利管理されません。権利表現は EPUB 出版物内に存在する場合があります。
META-INF ディレクトリー内の任意(OPTIONAL)の
signatures.xml ファイルは、
コンテナーおよびその内容に対するデジタル署名を保持します。
signatures
urn:oasis:names:tc:opendocument:xmlns:container
なし
Signature [1 つ以上]signature 要素は、
[xmldsig-core1]
によって定義される
Signature 型の子要素を含みます。
EPUB 作成者は、
EPUB 出版物全体またはその一部に署名を適用でき、任意の種類のデータ(すなわち XML だけではない)の
署名を指定できます。
XML スキーマも
signatures.xml ファイルの内容を非公式に定義しています。
EPUB 作成者が signatures.xml ファイルを含めない場合、
コンテナーレベルでは OCF
抽象コンテナーのいかなる部分にも
署名していません。
デジタル署名は EPUB 出版物内に存在する場合があります。
EPUB 作成者が OCF 抽象
コンテナーに対するデータ署名を作成する場合、signatures 要素の最後の子
Signature
要素としてその署名を追加すべきです(SHOULD)。
signatures.xml ファイル内の各 Signature は、
[xmldsig-core1]
の Manifest 要素およびその Reference サブ要素を使用して、
署名が適用されるデータを URL [url] によって識別します。
EPUB 作成者は、個々のコンテナーファイルに個別またはまとめて署名できます。
各ファイルに個別に署名すると、読書システムが独立して検証できるリソースのダイジェスト値が作成されます。
この方法は Signature
要素を大きくする可能性があります。EPUB 作成者がファイルをまとめて署名する場合、
署名されたファイルの集合を単一の XML Signature Manifest 要素に列挙し、
1 つ以上の Signature 要素で参照できます。
EPUB 作成者は、計算された署名情報を含むことになる
signatures.xml ファイルを除き、OCF 抽象
コンテナー内の任意またはすべてのファイル全体に署名できます。EPUB 作成者が
signatures.xml ファイルに署名するかどうか、およびどのように署名するかは、
その目的によって異なります。
EPUB 作成者が、自分の署名を無効にすることなく OCF
抽象コンテナーに署名を追加または削除できるようにしたい場合、
signatures.xml ファイルに署名すべきではありません(SHOULD
NOT)。
EPUB 作成者が、署名の追加または削除によって自分の署名が無効になるようにしたい場合、
[xmldsig-core1]
の
6.6.4 節で定義される Enveloped Signature
transform を使用して、
作成中の Signature を除外した既存の署名ファイル全体に署名できます。
この変換はすべての以前の署名に署名し、後続の署名がパッケージに追加された場合には
無効になります。
EPUB 作成者が、既存の署名の削除によって自分の署名が無効になるようにしたい一方で、 署名の追加は許可したい場合、既存の署名だけに署名する XPath transform を使用できます。 ただし、そのような変換の詳細はこの仕様の範囲外です。
[xmldsig-core1]
仕様は、署名にいかなるセマンティクスも関連付けていません。エージェントは、例えば、
署名を記述する情報を Signature 要素に追加することで、セマンティック情報を含めることができます。
[xmldsig-core1]
仕様は、SignatureProperties 要素の使用などにより、
追加情報を署名に追加する方法を説明しています。
この節は非規範的です。
OCF ZIP コンテナーは、OCF 抽象コンテナーの 物理的な単一ファイルでの具現化です。このコンテナーにより、次が可能になります。
異なる個人間および/または異なる組織間で進行中の EPUB 出版物を交換すること。
出版者または変換業者から配布または販売チャネルへ EPUB 出版物を転送すること。
EPUB 出版物を EPUB 読書システムまたはユーザーへ配信すること。
OCF ZIP コンテナーは、 [zip] で指定される ZIP 形式を使用しますが、 次の制約および明確化を伴います。
OCF ZIP コンテナーの内容は、適合する OCF 抽象コンテナーでなければなりません(MUST)。
OCF ZIP コンテナーは、ZIP ファイルを複数の記憶媒体にまたがらせたり、 複数のファイルに分割したりできる、ZIP application note [zip] の機能を使用してはなりません(MUST NOT)。
OCF ZIP コンテナーは、ZIP アーカイブ内に、格納(非圧縮)された ZIP エントリーと Deflate 圧縮された ZIP エントリーのみを含まなければなりません(MUST)。
OCF ZIP コンテナーは、application note [zip] の第 V 節 G 項で 「Version 1」として定義される ZIP64 拡張を使用してもかまいません(MAY)が、 コンテンツが必要とする場合にのみそれらの拡張を使用すべきです(SHOULD)。
OCF ZIP コンテナーは、ZIP 形式で定義される暗号化
機能を使用してはなりません(MUST NOT)。代わりに、暗号化は
4.2.6.3.2
暗号化ファイル(encryption.xml)で説明される機能を
使用して行わなければなりません(MUST)。
OCF ZIP コンテナーは、ファイルシステム 名を UTF-8 [unicode] を使用してエンコードしなければなりません(MUST)。
次の制約は、OCF ZIP コンテナーアーカイブ内の特定のフィールドに適用されます。
ローカルファイルヘッダーテーブルでは、
EPUB 作成者は、
version needed to extract フィールドを、指定されたファイルに必要な最大バージョンレベルに一致する
値 10、20、または 45 に設定しなければなりません(MUST)
(例: Deflate の場合 20、ZIP64 の場合 45)。
ローカルファイルヘッダーテーブルでは、EPUB 作成者は
compression method フィールドを値 0 または
8 に設定しなければなりません(MUST)。
EPUB 作成者は、
OCF ZIP
コンテナー内の最初のファイルとして mimetype ファイルを含めなければなりません(MUST)。
さらに:
mimetype ファイルの内容は、US-ASCII [us-ascii]
でエンコードされた
MIME メディアタイプ [rfc2046]
文字列 application/epub+zip でなければなりません(MUST)。
mimetype ファイルは、先頭または末尾に
パディングや空白を含んではなりません(MUST NOT)。mimetype ファイルは、Unicode バイト
オーダーマーク U+FEFF で始まってはなりません(MUST NOT)。mimetype
ファイルを圧縮または暗号化してはなりません(MUST NOT)。application/epub+zip メディアタイプに関する詳細情報については、
I.2
application/epub+zip メディアタイプを参照してください。
フォントを保護するよりよい方法が存在します。例えば [woff] および [woff2] フォントは、 ライセンス情報の埋め込みを可能にし、フォントテーブル圧縮によって一定の保護を提供します。 リモートでホストされるフォントの使用も、フォントサブセット化を可能にします。EPUB 作成者は、 他に利用可能な選択肢がない場合にのみ、この節で定義されるフォント難読化を使用することが推奨されます。 難読化の制限も参照してください。
この節は非規範的です。
OCF ZIP コンテナーは基本的に ZIP ファイルであるため、一般に利用可能な ZIP ツールを使用して、パッケージから暗号化されていない任意のコンテンツストリームを抽出できます。 さらに、ZIP ファイルの性質上、その内容は一部のシステムでは他のネイティブコンテナー(例: フォルダー)のように 見える場合があります。
ZIP ファイルのこの単純さは非常に有用ですが、フォントを暗号化しないことの副作用として フォントを容易に抽出できることが望ましくない場合には問題も生じます。例えば、第三者フォントを 含めたい EPUB 作成者は、通常、そのフォントが他者によって抽出され 再利用されることを望みません。より重要なことに、多くの商用フォントは埋め込みを許可しますが、 フォントを埋め込むことは、それを EPUB 出版物の不可欠な一部にすることを意味し、 元のフォントファイルをコンテンツとともに提供するだけではありません。
統合された ZIP サポートは現代のオペレーティングシステムで非常に普及しているため、 フォントを OCF ZIP コンテナーに単に配置するだけでは、 そのフォントが他の文脈で再利用できないことを示すには不十分です。この不確実性は、 EPUB 出版物の有用なフォント埋め込み能力を損なう可能性があります。
フォントの再利用を抑止するため、一部のフォントベンダーは、フォントが何らかの方法で EPUB 出版物に結び付けられている場合にのみ、EPUB 出版物での使用を許可することがあります。すなわち、そのフォント ファイルが、当該コンピューティングデバイスの組み込みツールでオペレーティングシステム上に直接インストールできず、 他の EPUB 出版物で直接使用できない場合です。
フォントのためのデジタル権利管理または実施システムを提供することは、この仕様の範囲外です。 この節では代わりに、最終的な OCF 受信者が任意の難読化フォントへ一般的にアクセスするために 追加の作業を必要とする難読化の方法を定義します。
この節は非規範的です。
この仕様は、難読化が暗号化を構成すると主張するものではなく、そのリソースが著作権侵害から 安全であることも保証しません。このアルゴリズムが満たすことを期待するのは、 OCF ZIP コンテナーを解凍してリソースをコピーするだけではフォントを抽出できないという、何らかの保証を 要求するベンダーの要件だけです。
難読化は、他の保護方式と同様に、難読化解除された状態でフォントにアクセスされることから 完全に保護することはできません。この機構は、ライセンスの詳細を知らない者に対する障害を提供するだけです。 次のような代替手段を通じて、決意のあるユーザーがフォントへの完全なアクセスを得ることを防ぎません。
その結果、この難読化方法が個々のフォント ライセンスの要件を満たすかどうかは、ライセンサーおよびライセンシーの問題として残ります。 EPUB 作成者は、 難読化の使用がフォントライセンス要件を満たすことを保証する責任を負います。
EPUB 作成者はまた、読書システムはフォントを難読化解除することを要求されないため、 難読化が読書システムで相互運用性の問題につながる可能性があることを認識すべきです。その結果、 出版物の視覚的提示は読書システムごとに異なる可能性があります。
また、このアルゴリズムはフォントの難読化に限定されていることに注意してください。EPUB コンテナー内の 任意のリソースを難読化する汎用的な機構として意図されたものではありません。
EPUB 作成者は、難読化アルゴリズムで使用されるキーを 一意識別子から 導出しなければなりません(MUST)。
XML
1.0 仕様の 2.3 節 [xml]
で定義されるすべての空白文字は、
この識別子から削除されなければなりません(MUST)。具体的には、Unicode コードポイント
U+0020、U+0009、U+000D および
U+000A です。
EPUB 作成者は、Secure Hash Standard [fips-180-4] で指定されるとおり、 得られた文字列の UTF-8 表現の SHA-1 ダイジェストを生成しなければなりません(MUST)。 その後、このダイジェストをアルゴリズムのキーとして使用できます。
フォントの難読化に用いられるアルゴリズムは、フォントファイルの最初の 1040 バイト(約 1KB)を 変更することから成ります。(フォントファイルが 1040 バイト未満であるまれな場合、この処理は ファイル全体を変更します。)
元のデータを難読化するには、埋め込みフォントの最初のバイトとして、生のフォントファイルの最初のバイトと 難読化キーの最初の バイトに対して論理排他的 OR(XOR)を実行した結果を格納します。
この処理をソースおよびキーの次のバイトで繰り返し、キー内のすべてのバイトについて続けます。 この時点で、処理はキーの最初のバイトとソースの 21 番目のバイトから開始して継続します。 この方法で 1040 バイトがエンコードされる(またはソースの末尾に到達する)と、 ソース内に残っているデータはすべて宛先へ直接コピーします。
EPUB 作成者は、フォントを圧縮して
OCF ZIP
コンテナーへ追加する前に難読化しなければなりません(MUST)。難読化は暗号化ではないため、この要件は
4.2.6.3.2
暗号化ファイル(encryption.xml)における、
暗号化前にフォントを圧縮するという要件に違反しないことに注意してください。
次の疑似コードは、難読化アルゴリズムを例示します。
技術的には暗号化データではありませんが、すべての難読化フォントは、
EPUB 出版物に付随する encryption.xml
ファイル内にエントリーを持たなければなりません(MUST)
(4.2.6.3.2
暗号化ファイル(encryption.xml)を参照)。
EPUB 作成者は、各難読化フォントに対して
EncryptedData 要素を指定しなければなりません(MUST)。
各 EncryptedData 要素は、Algorithm 属性が
http://www.idpf.org/2008/embedding という値を持つ子
EncryptionMethod
要素を含まなければなりません(MUST)。この属性の存在は、
この仕様で説明されるアルゴリズムの使用を示します。
EPUB 作成者は、難読化フォントへのパスを CipherData 要素の子
CipherReference に列挙しなければなりません(MUST)。
難読化アルゴリズムはフォントに限定されているため、CipherReference 要素の
URI 属性は フォントコアメディアタイプリソースを参照しなければなりません(MUST)。
埋め込みフォントを他の EPUB 出版物へ簡単にコピーできないようにするため、EPUB 作成者は
難読化キーを
encryption.xml
ファイル内で提供してはなりません(MUST NOT)。
この節で定義されるすべての [xml] 要素は、別途指定されない限り、
http://www.idpf.org/2007/opf
名前空間 [xml-names] に属します。
この節は非規範的です。
パッケージ文書は、EPUB 出版物の特定の側面に関する情報をそれぞれカプセル化する一連の要素で構成される XML 文書です。これらの要素は、メタデータを集約し、個々のリソースを詳述し、そのレンダリングに必要な 読書順序およびその他の情報を提供する役割を果たします。
次の一覧は、パッケージ文書に含まれる情報を要約したものです。
メタデータ — EPUB 出版物に関する情報を含める、または参照するための 仕組み。
マニフェスト — URL [url] によって 識別し、MIME メディアタイプ [rfc4839] によって、 出版リソースの集合を記述します。
スパイン — マニフェスト内のトップレベルリソースへの ID 参照の 順序付きシーケンスであり、そこから 読書システムが集合内の他のすべての リソースに到達または利用できます。スパインは既定の読書順序を定義します。
コレクション — EPUB 出版物内のサブコンポーネントを カプセル化し識別する方法。
マニフェストフォールバックチェーン — トップレベルの リソースの順序付きリストをコンテンツ同等物として定義する仕組み。読書システムは、自身がレンダリング可能なものに 基づいて、それらのリソースから選択できます。
EPUB 出版物は複数のパッケージ文書を参照でき、コンテンツの代替表現を可能にします。詳細については、
4.2.6.3.1
コンテナー・ファイル(container.xml)を参照してください
パッケージ文書のファイルプロパティに関する情報については、I.1
application/oebps-package+xml メディアタイプを参照してください。
パッケージ文書で使用される URL 文字列 url を解析するには、URL パーサー [url] を url に適用しなければなりません(MUST)。 このとき、パッケージ 文書の コンテンツ URLを base とします。
package 要素は、パッケージ文書で表現されるすべての情報をカプセル化します。
package
この順序で:
version 属性は、指定された
EPUB 出版物が適合する EPUB 仕様
バージョンを指定します。この属性は、EPUB 3 への適合を示すために値
「3.0」を持たなければなりません(MUST)。
この仕様の更新は EPUB 3 の新しいバージョンを表すものではありません(すなわち、各新しい 3.X
仕様は EPUB 3 形式の継続です)。作業グループは、既存のコンテンツを無効にするような変更を
最小化することに取り組んでおり、version
属性値を変更せずに維持できるようにしています。
unique-identifier 属性は、推奨または主要な
識別子を提供する
要素を識別する IDREF
[xml] を取ります。
dc:identifier
prefix 属性は、
この仕様で予約されていない接頭辞のための宣言機構を提供します。詳細については、
D.1.4 prefix
属性を参照してください。
metadata 要素はメタ情報をカプセル化します。
metadata
の必須(REQUIRED)の最初の子。
package
なし
任意の順序で:
dc:identifier[1 つ以上]
dc:title[1 つ以上]
dc:language[1 つ以上]
Dublin Core Optional Elements
[0 個以上]
meta[1 つ以上]
link[0 個以上]
パッケージ文書の metadata 要素には、2 つの
主な機能があります。
読書システムが EPUB 出版物を内部的に カタログ化し、ユーザーが利用できるようにする(例えば、 本棚に表示する)ための最小限のメタ情報セットを提供すること。
コンテンツのレイアウトおよび表示を制御するために必要なすべてのレンダリングメタデータ (例えば、固定レイアウトプロパティ)へのアクセスを提供すること。
パッケージ文書は複雑なメタデータ符号化機能を提供しません。EPUB 作成者がより詳細な情報を提供する必要がある場合、
メタデータレコード(例えば、
[onix] のような国際標準に適合するもの、または独自の
目的で作成されたもの)を
要素を使用して関連付けることができます。この方法により、読書システムはメタデータをその
ネイティブ形式で処理でき、最小限のパッケージ文書構造を使用するための変換によって生じる
潜在的な問題や情報損失を避けられます。
link
この方針に従い、パッケージ文書には次の
最小限のメタデータ要件のみがあります。すなわち、[dcterms]
、
dc:title、
および
dc:identifier
要素を、[dcterms]
dc:language
プロパティとともに含まなければなりません(MUST)。
その他すべてのメタデータは任意(OPTIONAL)です。
dcterms:modified
要素は、任意の語彙からのメタデータプロパティを含めるための
汎用的な仕組みを提供します。EPUB 作成者は任意のメタデータ目的でこの仕組みを使用してもかまいませんが(MAY)、
通常は EPUB 仕様で定義されるレンダリングメタデータを含めるために使用します。
meta
アクセシビリティメタデータの推奨事項については、[epub-a11y-11] を参照してください。
Dublin Core 要素 [dcterms] および
要素は、必須の 子テキスト内容
[dom] を持ちます。この仕様では、これらの要素の説明において、この内容を
その要素の 値と呼びます。
meta
これらの要素は、先頭および末尾の ASCII 空白 [infra] が除去された後に、空でない値を持たなければなりません(MUST) (すなわち、少なくとも 1 つの非空白文字から成らなければなりません)。
これらの要素値内の空白は重要ではありません。1 つ以上の空白 文字の連続は、処理中に 単一の 空白へ畳み込まれます [infra]。
dc:identifier 要素 [dcterms] は、
UUID、DOI、または ISBN などの識別子を含みます。
dc:identifier
http://purl.org/dc/elements/1.1/
の必須(REQUIRED)の子。
繰り返し可能。
metadata
id
[条件付き必須]
テキスト
EPUB 作成者は、1 つかつ唯一の
EPUB 出版物に固有の識別子、すなわちその
一意識別子を、
dc:identifier 要素で提供しなければなりません(MUST)。
この dc:identifier 要素は、
要素の packageunique-identifier
属性から参照される値を持つ
id 属性を指定しなければなりません(MUST)。
静的ではありませんが、EPUB 作成者は EPUB 出版物の一意識別子の変更を できるだけ少なくすべきです。一意識別子は、参照および配布の両方の目的で最大限の 永続性を持つべきです。EPUB 作成者は、メタデータの更新、正誤表の修正、または 類似の軽微な変更など、軽微な改訂を行う場合に新しい識別子を発行すべきではありません。
EPUB 作成者は追加の識別子を指定してもかまいません(MAY)。
EPUB 作成者は、可能な限り識別子に absolute-URL strings [url] を使用することが推奨されます。例えば、EPUB 作成者が所有するドメインを含めることで識別子の一意性を高めることができ、また 名前空間 識別子 [rfc8141] を持つ URN を使用すると 読書システムによる処理が向上します。
EPUB 作成者は、dc:identifier 要素の値が確立された体系に適合すること、または
発行機関がそれを付与したことを示すために、
identifier-type
プロパティを使用してもかまいません(MAY)。
dc:title 要素 [dcterms] は、
EPUB 出版物の名前のインスタンスを表します。
dc:title
http://purl.org/dc/elements/1.1/
の必須(REQUIRED)の子。
繰り返し可能。
metadata
テキスト
文書順で最初の dc:title 要素が EPUB 出版物の主題名です
(すなわち、読書システムがユーザーに提示する主要な題名です)。
EPUB 作成者は、読書システムで題名の一貫したレンダリングを確保するため、
dc:title 要素を 1 つだけ使用すべきです。
複数部分からなる題名のために複数の dc:title 要素を含めることは可能ですが、
追加の dc:title
要素に対する読書システムのサポートは一貫していません。読書システムは追加セグメントを無視したり、
予期しない方法で結合したりする場合があります。
例えば、次の例は基本的な複数部分の題名を示しています。
<metadata …>
<dc:title>
THE LORD OF THE RINGS
</dc:title>
<dc:title>
Part One: The Fellowship of the Ring
</dc:title>
…
</metadata>
同じ題名は、代わりに単一の dc:title
要素を使用して次のように表現できます。
<metadata …>
<dc:title>
THE LORD OF THE RINGS, Part One:
The Fellowship of the Ring
</dc:title>
…
</metadata>
この仕様の以前のバージョンでは、複数部分の題名のセグメントを識別および
整形するために、title-type および display-seq プロパティの使用を推奨していました
(Great
Cookbooks example を参照)。これらのセマンティクスを追加することは今でも可能ですが、
それらも十分にはサポートされていません。
dc:language 要素 [dcterms] は、
EPUB 出版物の内容の言語を指定します。
dc:language
http://purl.org/dc/elements/1.1/
の必須(REQUIRED)の子。
繰り返し可能。
metadata
id
[任意]
テキスト
各 dc:language 要素の 値は、
整形式の言語タグ
[bcp47] でなければなりません(MUST)。
EPUB 作成者は、多言語出版物のために
追加の dc:language 要素を指定してもかまいませんが(MAY)、
読書システムは、文書順で最初の
dc:language 要素を EPUB 出版物の主要言語として扱います。
出版
リソースは、dc:language 要素から言語を継承しません。
EPUB 作成者は、その形式に固有の方法を使用してリソースの言語を設定しなければなりません。
[dcterms] 要素のうち、
、
dc:identifier、
および
dc:language
を除くすべては任意(OPTIONAL)として指定されます。これらの要素は次の
一般化された定義に適合します。
dc:title
dc:contributor | dc:coverage | dc:creator
| dc:date | dc:description | dc:format |
dc:publisher | dc:relation |
dc:rights | dc:source | dc:subject |
dc:type
http://purl.org/dc/elements/1.1/
の任意(OPTIONAL)の子。
繰り返し可能。
metadata
テキスト
この仕様は、以降の節で注記される場合を除き、[dcterms] 要素 定義を変更しません。
dc:contributor 要素 [dcterms] は、コンテンツの作成において
副次的な役割を果たした人物、組織などの名前を表すために使用されます。
dc:contributor 要素の要件は、その他すべての点で
要素の要件と同一です。
dc:creator
dc:creator
要素 [dcterms] は、コンテンツの作成に責任を持つ
人物、組織などの名前を表します。EPUB 作成者は、その作成者が果たした機能を示すために、
role プロパティをその要素に
関連付けてもかまいません(MAY)。
dc:creator 要素には、EPUB 作成者が
読書システムに
ユーザーへ表示させたい作成者名を含めるべきです。
EPUB 作成者は、作成者名の正規化形式を
関連付けるために file-as
プロパティを、また別の言語または文字体系で
作成者名を表すために alternate-script
プロパティを使用してもかまいません(MAY)。
EPUB 出版物に複数の作成者がいる場合、
EPUB 作成者はそれぞれを個別の dc:creator 要素で指定すべきです。
metadata セクション内の dc:creator 要素の文書順は
表示優先順位を決定し、最初に出現する dc:creator 要素が
主要作成者となります。
EPUB 作成者は、二次的な貢献者を
要素を使用して表すべきです。
dc:contributor
dc:date 要素
[dcterms] は、
EPUB 出版物の出版日を定義します。出版日は、
最終更新日(EPUB
作成者が EPUB 出版物を最後に変更した時点)と
同じではありません。
日付文字列は [iso8601-1]、 特に W3C Date and Time Formats [datetime] で表されるサブセットに 適合することが推奨されます(RECOMMENDED)。そのような文字列は人間にも 機械にも読み取り可能だからです。
EPUB 作成者は、追加の日付を [dcterms] 語彙、または類似の語彙で利用可能な 専用の日付プロパティを使用して表現すべきです。
EPUB 出版物は複数の
dc:date 要素を含んではなりません(MUST NOT)。
dc:subject
要素 [dcterms] は、
EPUB 出版物の主題を識別します。EPUB 作成者は、この要素の
値を人間が読める見出しまたはラベルに設定すべきですが、
主題分類体系が別個の説明ラベルを提供していない場合はコード値を使用してもかまいません。
EPUB 作成者は、その要素の 値を取得した体系またはスキームを、
authority プロパティを使用して識別してもかまいません(MAY)。
スキームが識別される場合、EPUB 作成者は
term プロパティを使用して主題コードを
関連付けなければなりません(MUST)。
term プロパティは、スキームを指定しない
dc:subject 要素に
関連付けてはなりません(MUST NOT)。
dc:subject 要素および
term プロパティの 値は、
指定されたスキームが要求する場合にのみ大文字小文字を区別します。
dc:type 要素
[dcterms] は、EPUB 出版物が特殊な種類であることを示すために
使用されます(例えば、EPUB 形式でパッケージ化された注釈や辞書)。
EPUB 作成者は、任意の テキスト文字列を 値として使用してもかまいません(MAY)。
以前の IDPF EPUB 3 作業グループは、この要素で使用するために 特殊な EPUB 出版物タイプの 非規範的な登録簿を維持していました。この作業グループはもはやその登録簿を維持しておらず、 新しい特殊出版物タイプを開発する予定もありません。
meta 要素は、パッケージメタデータを含めるための汎用的な手段を提供します。
meta
要素の子として。繰り返し可能。
metadata
テキスト
各 meta 要素はメタデータ式を定義します。
property 属性は、式で行われる記述を定義する
property
データ型値を取り、要素のテキスト内容はその表明を表します。(詳細については
D.1 語彙関連付け機構を参照してください。)
この仕様は、EPUB 作成者が meta
要素を使用して定義できる 2 種類のメタデータ式を定義します。
meta 要素で定義される式が
EPUB 出版物の何らかの側面を確立するものです。
refines 属性を省略した meta 要素は、主式を定義します。
meta 要素で定義される式が、refines 属性を使用して
別の式またはリソースと関連付けられ、その意味を強化するものです。副式は、例えば、
メディアクリップの継続時間を表すことでそれを精密化したり、人物の役割を定義することで
作成者または貢献者の式を精密化したりできます。
EPUB 作成者は、他の副式の意味を精密化するために副式を使用し、 それによって情報のチェーンを作成してもかまいません(MAY)。
すべての [dcterms] 要素は主式を表し、 meta 要素の副式による精密化を許可します。
Meta Properties Vocabulary は、property
属性で使用する 既定の語彙です。
EPUB 作成者は、D.1 語彙関連付け 機構で定義されるように、他の語彙から用語を追加してもかまいません(MAY)。
scheme 属性は、EPUB
作成者がその要素の 値を取得した体系またはスキームを識別します。
この属性の値は、そのスキームを定義する
リソースに解決される property データ型
値でなければなりません(MUST)。scheme 属性には
既定の語彙がありません(すなわち、すべての値は
接頭辞を必要とします)。
metadata セクションは、最終更新日を含む
dcterms:modified
プロパティ [dcterms] を
ちょうど 1 つ含まなければなりません(MUST)。
このプロパティの 値は、拡張形式
YYYY-MM-DDThh:mm:ssZ に一致する、日付および時刻の
[iso8601-1]
完全表現でなければなりません(MUST)。
EPUB 作成者は、最終更新日を協定世界時(UTC)で表現しなければならず(MUST)、
かつ「Z」(Zulu)タイムゾーン指示子で終端しなければなりません(MUST)。
EPUB 作成者は、EPUB 出版物に変更を加えるたびに、最終更新日を更新すべきです。
EPUB 作成者は、パッケージ文書メタデータに追加の modified プロパティを指定してもかまいませんが(MAY)、
それらは異なる主語を持たなければなりません(MUST)
(すなわち、要素またはリソースを参照する
refines 属性を必要とします)。
最終更新日に関する要件は、EPUB 出版物の リリース 識別子 [epubpackages-32] を定義していた EPUB 3 の以前のバージョンとの互換性を確保するためのものです。
link 要素は、メタデータ
レコードなどのリソースを EPUB
出版物に関連付けます。
link
の子として。
繰り返し可能。
metadata
href
[必須]
hreflang
[任意]
id
[任意]
media-type
[条件付き必須]
properties
[任意]
refines
[任意]
rel
[必須]
空
要素は 0 個以上の metadatalink 要素を含んでもよく(MAY)、
それぞれは必須(REQUIRED)の
href 属性で、出版リソースまたは
リンクリソースの位置を識別します。
link 要素から参照されるリソースは、次の場合にのみ
出版リソースです。
スパインから参照される場合。 または
EPUB コンテンツ文書に含まれる、または埋め込まれる場合
(例えば、RDFa [rdfa-core] としてシリアル化された、または
[html] script
要素に埋め込まれた JSON-LD [json-ld11] としてのメタデータレコード)。
その他すべての場合(例えば、独立した [onix] レコードへリンクする場合)、 参照されるリソースは 出版リソースではありません (すなわち、コア メディアタイプ要件の対象ではありません)。また、EPUB 作成者は、それらを マニフェストに列挙してはなりません(MUST NOT)。
EPUB 作成者は、リンクリソースを EPUB コンテナー内または外部に配置してもかまいませんが(MAY)、 読書システムは EPUB コンテナー外の リソースを取得することを要求されない点を考慮すべきです。
リンクリソースが EPUB コンテナーの外部にある場合、
同じ URL [url] から複数の
メディアタイプが提供される可能性があるため、
media-type
属性は任意(OPTIONAL)です。EPUB 作成者は、
EPUB コンテナー内のすべてのリンクリソースについてこの属性を指定しなければなりません(MUST)。
任意(OPTIONAL)の hreflang 属性は、
リンクされたリソースの言語を識別します。この値は
整形式の言語
タグ [bcp47] でなければなりません(MUST)。
必須(REQUIRED)の rel 属性は、
リンクされたリソースが EPUB 出版物と持つ関係を確立する
プロパティ値の空白区切りリストを取ります。
media-type 属性の値は、リンクリソースの種類を識別するために常に十分であるとは限りません
(例えば、多くの XML ベースのレコード形式はメディアタイプ
「application/xml」を使用します)。そのような汎用リソースの識別において
読書システムを支援するため、EPUB 作成者は
properties 属性にセマンティック識別子を指定してもかまいません(MAY)。
Metadata Link Vocabulary は、rel および
properties 属性の
既定の語彙です。
EPUB 作成者は、D.1 語彙 関連付け機構で定義されるように、他の語彙から関係およびプロパティを追加してもかまいません(MAY)。
EPUB 作成者は、 1 つ以上の リンクされたメタデータレコードを提供してもかまいません(MAY)。
EPUB 作成者が EPUB 出版物にリンクできるメタデータレコード形式およびシリアル化は多様であり、 それらの間でメタデータプロパティを比較することは複雑であるため、この仕様は読書システムに リンクされたレコードの処理を要求しません。
完全なレコードに加えて、EPUB 作成者は
link 要素を使用して、代替形式で利用可能な
個別のメタデータプロパティを識別してもかまいません(MAY)。
manifest 要素は、コンテンツのレンダリングで使用される
出版リソースの網羅的な一覧を提供します。
パッケージ
文書を除き、
manifest は、出版リソースが
コンテナーリソースであるか
リモートリソースであるかにかかわらず、すべての出版リソースを
列挙しなければなりません(MUST)。
パッケージ文書はすでに
container.xml ファイルによって識別されているため、
manifest はそれに対する item 要素を指定してはなりません(MUST NOT)
(すなわち、自己参照は何の目的にも役立ちません)。
マニフェストは出版リソースを列挙するためだけのものです。リンクリソースおよび
OCF
コンテナー処理用の特別なファイル(すなわち、META-INF ディレクトリー内のファイル、および
mimetype ファイル)は、含めることが制限されています。
出版リソースの完全なマニフェストを提供しないと、レンダリングの問題につながる可能性があります。 読書システムは、そのような リソースを展開しない場合や、セキュリティ上の理由からそれらへのアクセスを妨げる場合があります。
item 要素は、出版リソースを表します。
item
の子として。
繰り返し可能。
manifest
fallback
[条件付き必須]
href
[必須]
id
[必須]
media-overlay
[任意]
media-type
[必須]
properties
[任意]
空
各 item 要素は、その
href
属性内の URL [url] によって出版リソースを識別します。この値は
absolute- または path-relative-scheme-less-URL
文字列 [url] でなければなりません(MUST)。
EPUB 作成者は、
解析後に各 URL が
manifest スコープ内で一意であることを保証しなければなりません(MUST)。
item 要素によって識別される出版リソースは、
media-type 属性で提供される
MIME メディアタイプ [rfc2046]
から推定される適用可能な仕様に適合しなければなりません(MUST)。
コアメディアタイプリソースについて、EPUB 作成者は
3.2
コアメディアタイプで指定されたメディアタイプを
使用しなければなりません(MUST)。
fallback 属性は、参照される出版リソースの
フォールバックを指定します。fallback 属性の
IDREF [xml] 値は、
manifest 内の別の item に解決されなければなりません(MUST)。
ある item のフォールバックは、別の
item へのフォールバックを指定してもよく(MAY)、
以降同様に、フォールバックオプションのチェーンを作成できます。フォールバックチェーンの使用に関連する
追加要件については、3.5.1
マニフェストフォールバックを参照してください。
media-overlay 属性は、この
item によって記述されるリソースの
メディアオーバーレイ文書を識別する
IDREF [xml] を取ります。
詳細については、9.3.5
メディアオーバーレイのパッケージ化を参照してください。
manifest 内の item 要素の順序は重要ではありません。
要素がコンテンツ文書の提示シーケンスを提供します。
spine
properties 属性は、
リソースの内容に関する情報を 読書システムへ提供します。
この情報により、表紙画像や EPUB
ナビゲーション文書などの重要なリソースを
発見できます。また、例えば、そのリソースが埋め込みスクリプト、MathML、または SVG を
含むかどうかを示すことで、読書システムがレンダリングを最適化できるようにします。
Manifest Properties
Vocabulary は、properties 属性の
既定の語彙です。
EPUB 作成者は、
item 要素によって参照されるリソースがそれぞれの定義に一致する場合、
常に次のプロパティを設定しなければなりません(MUST)。
これらのプロパティは、リソースに取り込まれたコンテンツ(例えば、
[html]
iframe
要素を介したもの)へ再帰的には適用されません。例えば、スクリプトなしの
XHTML コンテンツ文書が
スクリプト付きコンテンツ
文書を埋め込む場合、埋め込まれた文書のマニフェスト
item
properties 属性だけが scripted 値を持ちます。
EPUB 作成者は、nav プロパティを使用して、
ちょうど 1 つの item を EPUB
ナビゲーション文書として宣言しなければなりません(MUST)。
EPUB 出版物に表紙画像が含まれている場合、
cover-image プロパティを設定することが推奨されますが、
このプロパティの設定は任意(OPTIONAL)です。
EPUB 作成者は、D.1 語彙関連付け 機構で定義されるように、他の語彙から用語を追加してもかまいません(MAY)。
bindings 要素は、この仕様でサポートされていないメディアタイプに対する
カスタムハンドラーの集合を定義します。
この要素の使用は非推奨です。
詳細については、[epubpublications-301] の
bindings
要素定義を参照してください。
spine 要素は、既定の読書順序を表すマニフェスト
item 参照の順序付きリストを定義します。
spine は少なくとも 1 つの
EPUB コンテンツ文書または
外部コンテンツ文書を指定しなければなりません(MUST)。
EPUB 作成者は、
spine 内の出版リソースからハイパーリンクされるすべての EPUB および
外部コンテンツ文書を、spine に列挙しなければなりません(MUST)。ここでハイパーリンクとは、ユーザーに現在のリソースから
離れるナビゲーションを要求する任意のリンク機構を包含します。一般的なハイパーリンク機構には、
[html]
a
および
area
要素の
href
属性、およびスクリプト化リンク(例えば、
DOM Events やフォーム要素の使用)が含まれます。ハイパーリンクされたリソースを列挙する要件は
再帰的に適用されます(すなわち、EPUB 作成者はハイパーリンクされた文書から
ハイパーリンクされるすべての EPUB および外部コンテンツ文書を列挙しなければならず、
以降も同様です)。
EPUB 作成者は、EPUB ナビゲーション文書を spine に含めるかどうかにかかわらず、
EPUB ナビゲーション文書から
ハイパーリンクされるすべての EPUB および外部コンテンツ文書も
spine に列挙しなければなりません(MUST)。
page-progression-direction
属性は、コンテンツが流れるグローバルな方向を設定します。許可される値は
ltr(左から右)、rtl(右から左)、および default です。
EPUB 作成者が default 値を指定する場合、方向の希望を示しておらず、
読書システムがレンダリング方向を選択できます。
page-progression-direction 属性はグローバルなフロー方向を設定しますが、
個々の EPUB コンテンツ文書および EPUB コンテンツ文書の一部は、この設定を
上書きしてもかまいません(MAY)
(例えば、CSS の writing-mode プロパティを介して)。読書システムも、
既定方向を上書きする機構(例えば、代替スタイルシートの適用を可能にする
ボタンや設定)を提供する場合があります。
itemref 要素は、既定の読書順序における
EPUB コンテンツ文書または
外部コンテンツ文書を識別します。
itemref
の子として。
繰り返し可能。
spine
id
[任意]
idref
[必須]
linear
[任意]
properties
[任意]
空
各 itemref 要素は、その
idref 属性内の
IDREF [xml] を介して、
マニフェスト内の
の ID [xml] を
参照しなければなりません(MUST)。
itemitem 要素の ID は複数回参照してはなりません(MUST NOT)。
参照される各マニフェスト item は、
a) EPUB コンテンツ文書、または b) その
マニフェストフォールバックチェーンに
EPUB コンテンツ
文書を含む 外部コンテンツ文書のいずれかでなければなりません(MUST)。
EPUB 出版物には EPUB ナビゲーション 文書が必要ですが、それを スパインに含めることは必須ではありません。
linear 属性は、参照される
item が、主要な読書順序に寄与し、
読書システムが順次読む必要のある内容
(「yes」)を含むか、または主要コンテンツを補強・拡張し、読書システムが
順序外でアクセスできる補助コンテンツ
(「no」)を含むかを示します。補助コンテンツの例には、注釈、説明、解答
キーが含まれます。
linear 属性により、読書システムは、ユーザーが既定の読書順序の一部として
アクセスすべきコンテンツと、読書システムが例えばポップアップウィンドウで提示したり
音声レンダリングから省略したりできる補足コンテンツとを区別できます。
コンテンツが非線形であると指定しても、読書システムにそれを特定の方法で提示することを 要求するものではありません。これは目的に関するヒントにすぎません。例えば、読書システムは 非線形コンテンツをスパイン内に現れる場所で提示してもよく、またはユーザーがスパインの 末尾に到達するまでそれをスキップしてもかまいません。
EPUB 作成者は、ユーザーが線形スパイン項目の間で それに遭遇することが意味を持つ場合を除き、非線形コンテンツをスパインの末尾に列挙すべきです。
線形 itemref 要素とは、linear
属性値が明示的に「yes」に設定されているもの、またはその
属性を省略しているものです — 読書システムは、属性を持たない
itemref 要素について値「yes」を想定します。スパインは少なくとも
1 つの線形 itemref 要素を含まなければなりません(MUST)。
EPUB 作成者は、 すべての非線形コンテンツにアクセスする手段(例えば、コンテンツ内のハイパーリンク、または EPUB ナビゲーション文書からのリンク)を提供しなければなりません(MUST)。
Spine Properties
Vocabulary は、properties 属性の
既定の語彙です。
EPUB 作成者は、D.1 語彙関連付け 機構で定義されるように、他の語彙から用語を追加してもかまいません(MAY)。
collection 要素は、関連するリソースのグループを定義します。
collection
package の任意(OPTIONAL)の第 6 要素。繰り返し可能。
この順序で: metadata
[0 または 1], (
collection[1 つ以上] または (
collection[0 個以上], link
[1 つ以上] ))
collection 要素により、EPUB 作成者は、
さまざまな潜在的用途のためにリソースを論理的な
グループへまとめることができます。例えば、複数の EPUB コンテンツ文書に分割された
意味のあるコンテンツ単位(例えば、複数の
文書に分割された索引)への再構成を可能にすること、特殊な目的のためにリソースを識別すること
(例えば、プレビューコンテンツ)、または EPUB 出版物に関する追加情報を提示するリソースを
まとめることです。
EPUB 作成者は、各
collection
要素の役割をその role 属性で識別しなければならず(MUST)、
その値は 1 つ以上の NMTOKEN
[xmlschema-2] および/または
absolute-URL-with-fragment
strings [url] でなければなりません(MUST)。
特殊なコレクションを作成するための要件は、それぞれの仕様によって定義されます。
新しい collection 要素の役割を作成することは、現在
非推奨です。
特殊なコレクションの作成に関する詳細(その使用に関する要件および制限を含む)については、
[epubpackages-32] の
collection
要素定義を参照してください。
パッケージ文書のレガシー機能は、EPUB 2 出版物のみをサポートする 読書システムで、ある程度機能できるコンテンツを EPUB 作成者が作成できるようにするためだけに、 EPUB 2 から保持されています。
これらの機能は、主に EPUB 3 読書システムが開発されていた移行期間に対応するために追加されました。 当時は、ユーザーが EPUB 2 読書システムで EPUB 3 出版物を開く可能性がまだ高かったためです。
EPUB 2 出版物のみを扱う読書システムは現在ではまれであるため、EPUB 作成者は これらのレガシー機能を追加する労力をかける前に、自分たちの出版物がその種の古いデバイスで なお開かれる可能性を考慮すべきです。
EPUB 作成者は、EPUB 2 読書システムとの互換性の 目的で、この節で定義されるレガシー機能を含めてもかまいません(MAY)。
EPUB 3 読書システムは、出版物をユーザーに提示するときにこれらの機能を使用しません。
EPUB 適合性チェッカーは、 EPUB 出版物に レガシー機能が存在することについて、EPUB 作成者に警告すべきではありません。後方互換性のために それらを含めることは妥当だからです。EPUB 適合性チェッカーは、レガシー機能がその定義に 適合しない場合、またはその他の方法で使用要件に違反する場合には、EPUB 作成者に警告しなければなりません。
meta
要素 [opf-201] は、EPUB 2
読書システム向けの
汎用メタデータを含める手段を提供します。
詳細については、 [opf-201] の
meta
要素定義を参照してください。
EPUB 3 の
要素は、異なる属性を使用し、テキスト内容を必要とするものであり、
EPUB 3 読書システム向けのメタデータ機能を提供します。
meta
[opf-201] の meta 要素は、
EPUB 2 読書システム向けに表紙
画像を識別することも EPUB 作成者に許可します。EPUB 3 では、表紙画像は画像用の
マニフェスト
上の itemcover-image プロパティを使用して識別しなければなりません。
guide
要素 [opf-201] は、
EPUB 2 読書システムにおける主要構造への
機械処理可能なナビゲーションを提供します。
詳細については、 [opf-201] の
guide 要素
定義を参照してください。
landmarks nav は、 EPUB ナビゲーション文書内で、 EPUB 3 読書システムにこの機能を提供します。
NCX [opf-201] は、EPUB 2 読書システム向けの目次を提供します。
詳細については、 [opf-201] の NCX 定義を参照してください。
EPUB ナビゲーション文書は、EPUB 3 読書システム向けに NCX を置き換えます。
この節は非規範的です。
この節は、XHTML コンテンツ文書を作成するための [html] のプロファイルを定義します。このプロファイルに適合する XML 文書のインスタンスは、コアメディアタイプリソースであり、 この仕様では XHTML コンテンツ文書と呼ばれます。
6.1.4 HTML の逸脱および制約で明示的に上書きされない限り、[html] によって定義されるすべての 文書構成要素の適合性基準に適合しなければなりません(MUST)。
6.1.3 HTML 拡張で定義されるように、[html] 文法への拡張を含めてもかまいません(MAY)。 また、そこで定義されるすべての内容適合性制約に適合しなければなりません(MUST)。
別途指定されない限り、XHTML コンテンツ文書は、セマンティクス、 構造、および処理動作に関するすべての定義を [html] 仕様から継承します。
EPUB 出版物が [epub-a11y-11] のアクセシビリティ要件に従うという推奨は、 XHTML コンテンツ文書に適用されます。アクセシビリティを参照してください。
この節は、基礎となる [html] 文書モデルに対する EPUB 3 XHTML コンテンツ文書 拡張を定義します。
EPUB 作成者は、
XHTML コンテンツ文書内で
構造セマンティクスを表現するために、
属性を使用してもかまいません(MAY)。
epub:type
[html-rdfa] 仕様は、 EPUB 作成者が XHTML コンテンツ文書内でコンテンツをセマンティックに 豊かにするために使用してもよい(MAY)属性セットを定義しています。これらの属性の使用は、 [html-rdfa] で定義される要件に適合しなければなりません(MUST)。
[html-rdfa] 仕様は、著者が RDFa 属性を使用するときの [html] 内容モデルへの変更を定義しています。 この変更された内容モデルは XHTML コンテンツ文書で妥当です。
RDFa の列挙は作業グループ側の優先を表すものではなく、これらの属性が HTML 文法の拡張を表すことだけを示します。EPUB 作成者は、XHTML コンテンツ文書内で microdata 属性 [html] および リンクデータ [json-ld11] も指定できます。どちらもネイティブにサポートされているためです。
switch 要素は、EPUB 作成者が
ユーザーに表示されるコンテンツを調整できる簡単な仕組みを提供します。これは
EPUB 読書システムの
スクリプト機能に依存しません。
この要素の使用は非推奨です。
詳細については、 [epubcontentdocs-301] の
switch
要素定義を参照してください。
trigger 要素は、スクリプト付きおよびスクリプトなしの両方のコンテキストで、
音声や動画の再生などのマルチメディアオブジェクトを制御するための、
マークアップ定義のユーザーインターフェイスの作成を可能にします。
この要素の使用は非推奨です。
詳細については、 [epubcontentdocs-301] の
epub:trigger
要素定義を参照してください。
XHTML コンテンツ文書は、 カスタム属性を含んでもかまいません(MAY)。カスタム属性とは、 その名前空間 URL の ドメイン [url] に次のいずれの文字列も含まない、 接頭辞付き [xml-names] 属性です。
w3.orgidpf.orgカスタム属性を使用する場合、コンテンツは、どの 読書システムで レンダリングされるかにかかわらず、情報損失やその他の重大な劣化なしに ユーザーが利用可能なままでなければなりません(MUST)。
カスタム属性は通常、読書システム固有の方法で定義され、他の読書システムでの 使用を意図していません。この仕様は、複数の独立した読書システムが使用できる 拡張を提供するよう拡張されるべきです。
この節は、EPUB 3 XHTML コンテンツ文書に適用される、 基礎となる [html] 文書 モデルからの逸脱およびそれに対する制約を定義します。
XHTML コンテンツ文書は、埋め込み [mathml3] をサポートします。 MathML マークアップの出現箇所は、次の追加制限とともに、 MathML 仕様 [mathml3] に示される制約に 適合しなければなりません(MUST)。
math 要素は、
annotation-xml 要素内を除き、
Presentation MathML のみを
含まなければなりません(MUST)。
EPUB
作成者は、XHTML コンテンツ文書内の MathML マークアップに
Content MathML を含めてもかまいません(MAY)。
そして、存在する場合、それを
semantics
要素の annotation-xml 子要素内に含めなければなりません(MUST)。
EPUB 作成者が前の条件に従って Content MathML を含める場合、
その annotation-xml
要素の encoding 属性を、機能的に等価な値
MathML-Content または application/mathml-content+xml のいずれかに
設定し、name 属性を contentequiv に設定しなければなりません(MUST)。
このサブセットは、[html] ユーザー エージェントとの互換性を保持しつつ、読書システムの実装負担を軽減し、 アクセシビリティを促進します。
マニフェストの item
要素の mathml プロパティは、XHTML コンテンツ文書が
埋め込み MathML を含むことを示します。
XHTML コンテンツ文書は、SVG の埋め込みをサポートします。
img
または
object
要素から。参照によって埋め込まれる SVG は SVG
コアメディアタイプであるため、その要件はすでに
6.2 SVG コンテンツ文書で定義されています。
この節は非規範的です。
[html] の base
要素は、URL を解析する目的で
文書ベース URLを指定するために使用できます。
これを EPUB 出版物で使用すると、
base 要素の解釈によって、意図せず
リモートリソースへの参照が生じる可能性があります。また、
読書システムがハイパーリンクの位置を誤解する原因にもなり得ます
(例えば、base 要素が絶対 URL を指定している場合、出版物内の他の文書への
相対リンクが Web サイトへのリンクのように見える可能性があります)。重大な相互運用性の問題を
避けるため、EPUB
作成者は
base 要素を使用すべきではありません。
[html] の
rp
要素は、ルビマークアップを認識しない古い
読書システムに
フォールバックを提供することを意図しています(すなわち、ruby マークアップの周囲に
括弧表示を行うこと)。EPUB 3 読書システムはルビを認識し、フォールバックを提供できるため、
EPUB 作成者は
rp 要素を使用すべきではありません。
[html] の embed
要素は、スクリプトをサポートしない
読書システムに対して
フォールバックコンテンツを提供する内在的な機能を含まないため、参照されるリソースに
スクリプトが含まれる場合、EPUB 作成者は
この要素の使用を避けることが推奨されます。[html] の
object
要素は、内在的なフォールバック
機能を含むため、よりよい代替です。
読書システムは、 [svg] のすべての機能を サポートしていない場合や、読書システムが動作するすべての プラットフォームでそれらをサポートしていない場合があります。そのような機能を利用する場合、 EPUB 作成者は 相互運用性および文書の長期利用性に固有のリスクを考慮すべきです。
この節は非規範的です。
Scalable Vector Graphics (SVG) 仕様 [svg] は、 最終形式のベクターグラフィックスおよびテキストを表現する形式を定義します。
EPUB 作成者は通常、XHTML コンテンツ文書を トップレベル文書型として使用しますが、 SVG コンテンツ文書 の使用も許可されています。EPUB 作成者が SVG を必要とするのは通常、特定の特殊な場合に限られます。 例えば、最終形式のページ画像がコンテンツの唯一適切な表現である場合(表紙アート、 または漫画やコミックブックの文脈など)です。
この節は、[svg] 文書のプロファイルを定義します。このプロファイルに 適合する XML 文書のインスタンスは コアメディアタイプリソースであり、この 仕様では SVG コンテンツ文書と呼ばれます。
この節は SVG コンテンツ文書の適合性要件を定義します。XHTML コンテンツ文書に埋め込まれる SVG の適合性要件については、6.1.4.2 埋め込み SVG を参照してください。
SVG コンテンツ文書は、 適合 SVG スタンドアロンファイル [svg] であり、6.2.3 SVG に関する 制限で示されるすべての内容適合性制約に適合しなければなりません(MUST)。
EPUB 出版物が [epub-a11y-11] のアクセシビリティ要件に従うという推奨は、 SVG コンテンツ文書に適用されます。アクセシビリティを参照してください。
この仕様は、SVG コンテンツ文書および XHTML コンテンツ文書内に包含によって埋め込まれる SVGの内容モデルを、次のように制限します。
[svg] の
foreignObject
要素:
[html] の
フローコンテンツ、またはちょうど 1 つの
[html] の
body 要素のいずれかを
含まなければなりません(MUST)。
包含によって埋め込まれる SVGの場合、
[html] で定義される
SVG に関する制限に従い、
body 要素は許可されません。
6.1.2 XHTML の要件で定義される XHTML コンテンツ文書モデルに適合する 妥当な文書フラグメントを含まなければなりません(MUST)。
[svg] の
title
要素がマークアップ付きテキストを含む場合、そのマークアップは
HTML 名前空間 [infra]
で宣言された要素のみを
含まなければなりません(MUST)。
指定される場合、
属性は、
レンダリング可能要素 [svg] にのみ
含められなければなりません(MUST)。
epub:type
SVG 内容モデルは、著者が
名前空間付き属性を含めることを許可しているため、
この仕様で
属性や 語彙関連付け
機構を許可する必要はありません。
epub:type
ただし、参照によって埋め込まれる SVG と包含によって埋め込まれる SVG の重要な違いの 1 つは、
包含によって埋め込まれる SVG は、そのルート
svg
要素に epub:prefix 属性を持てないことです
[svg]。詳細については、D.1.4
prefix 属性を参照してください。
この節は、XHTML および SVG コンテンツ文書の両方で使用可能な技術の要件を定義します。
この節は非規範的です。
CSS は Open Web Platform の不可欠な一部です。読者、出版社、および文書著者は、 HTML が「そのまま動作する」ことを期待するように、CSS も「そのまま動作する」ことを期待します。
過去には、EPUB は、特定のプロパティのサポートを義務付け、多数のその他のプロパティの 接頭辞付きバージョンを提供する CSS のプロファイルを定義していました。CSS Working Group は 接頭辞付きプロパティの使用をもはや推奨していませんが、この仕様は既存コンテンツを壊さないために 一部の接頭辞付きプロパティを維持しています。ただし、この節で定義される小さな例外を除き、 EPUB は CSS の定義を W3C に委ねます。
一部の 読書システムは、CSS の望まれるすべての機能を サポートしないことに留意してください。次のものは特に問題が多いことが知られています。
読書システムによって誘発されるページ分割は、読書システムが列を使用してページ分割することがあるため、 スタイルシートとうまく相互作用しない場合があります。これにより、ビューポートサイズに対して 不正な値が生じる可能性があります。固定配置および絶対配置は特に問題になります。
一部の種類の画面では、アニメーションやトランジションがうまくレンダリングされない場合があります (例えば、高遅延のもの)。
CSS スタイルシートは:
次の例外を除き、任意の CSS プロパティを含んでもかまいません(MAY)。
direction
プロパティ [css-writing-modes-3]
を含んではなりません(MUST NOT)。
unicode-bidi
プロパティ [css-writing-modes-3]
を含んではなりません(MUST NOT)。
6.3.1.3 接頭辞付きプロパティで定義される接頭辞付きプロパティを 含んでもかまいません(MAY)。
UTF-8 または UTF-16 [unicode] で符号化されなければならず(MUST)、 UTF-8 が推奨(RECOMMENDED)エンコーディングです。
EPUB の以前のバージョンには、世界の諸言語に関連する多くの CSS 機能がまだ成熟していなかったため、 接頭辞付き CSS プロパティが含まれていました。これらの接頭辞を使用して作成されたコンテンツの 後方互換性を確保するため、この仕様ではそれらが保持されています。別途注記されない限り、 接頭辞付きプロパティおよび値は、適切な CSS 仕様に記述される接頭辞なしの同等物と まったく同じように動作します。接頭辞付きプロパティは E. 接頭辞付き CSS プロパティに記載されています。
EPUB 作成者は接頭辞なしのプロパティを使用すべきであり、 読書システムは 現在の CSS 仕様をサポートすべきです。この仕様は、[epubcontentdocs-301] から広く使用されている接頭辞付き プロパティを保持しますが、使用頻度の低いもののサポートは削除します。EPUB 作成者は、削除されたプロパティについて、利用可能な場合は常に CSS ネイティブの解決策を 使用すべきです。
作業グループは、現在これらの接頭辞付きプロパティを使用している EPUB 作成者に対し、 サポートが許す限り早く接頭辞なしのバージョンへ移行することを推奨します。作業グループは、 EPUB の次のメジャーバージョンでそれらをサポートすることを想定していないためです。
EPUB コンテンツ文書は、それぞれの基礎仕様
([html] および [svg])でこれについて定義されている機能を使用して、
スクリプトを含んでもかまいません(MAY)。EPUB コンテンツ文書がスクリプトを含む場合、この仕様ではそれを
スクリプト付きコンテンツ文書と呼びます。この
ラベルは、[html]
form
要素を含む XHTML コンテンツ文書にも
適用されます。
マニフェストの item 要素の
scripted プロパティは、EPUB コンテンツ文書が
スクリプト付きコンテンツ文書であることを示すために使用されます。
[html] の script 要素が
データ
ブロック [html] を含む場合、それはスクリプト付きコンテンツを表しません。
[svg] は公開時点でデータブロックを定義していませんが、 将来の更新でこの概念が追加された場合、同じ除外が適用されます。
EPUB 作成者は、 読書システムが、各 EPUB 出版物に一意の オリジン [html] が割り当てられたかのように振る舞うことを 要求されている点に注意すべきです。実際には、これはスクリプトが EPUB 出版物間で データを共有できないことを意味します。
スクリプトがどの コンテキストで使用されるかも、 読書システムがそれに与える権限および制限を決定します(詳細については Scripting [epub-rs-33] を参照)。
読書システムは、他の EPUB 機能を無効にしたり、異なるレンダリングおよびユーザー体験を 提供したりする方法で、スクリプト付きコンテンツ文書をレンダリングする場合があります (例えば、ページ分割を無効にすることによって)。
EPUB 3 は、スクリプト実行のために 2 つのコンテキストを定義します。
iframe
要素内で発生する場合。および
スクリプトは他のコンテキストで実行される場合がありますが、これらのコンテキストに対する
読書システムのサポートは
任意です。例えば、スクリプト付き SVG 文書は、[html]
object
要素から参照される場合があります。
詳細については、スクリプトの処理 [epub-rs-33] を参照してください。
EPUB 作成者がコードを
script 要素内に直接埋め込むか、
その要素の src 属性を介して参照するかは、その
実行コンテキストに違いを生じさせません。
EPUB 作成者がスクリプトに使用するコンテキストは、次の 小節で説明されるように、スクリプトが実行できる動作と、読書システムでサポートされる可能性の両方に 影響します。
2 つのコンテキストの違いの例については、 H.2 スクリプトコンテキストを参照してください。
コンテナー制約付きスクリプトとは、次のいずれかです。
[html]
script
要素のインスタンスであり、[html]
iframe
要素を使用して XHTML コンテンツ文書に埋め込まれる
XHTML
コンテンツ文書内に含まれるもの。
[svg] の script
要素のインスタンスであり、[html]
iframe
要素を使用して XHTML コンテンツ文書に埋め込まれる
SVG
コンテンツ文書内に含まれるもの。
コンテナー制約付きスクリプトは、それを埋め込む
EPUB コンテンツ文書(すなわち、
iframe 要素を含むもの)の DOM を変更する命令を含んではなりません(MUST
NOT)。また、その包含矩形のサイズを操作する命令も含んではなりません(MUST NOT)。
EPUB 作成者は、 読書システムにおけるコンテナー制約付きスクリプトの サポートが、リフロー可能文書でのみ推奨されていることに注意すべきです [epub-rs-33]。さらに、 読書システムの 固定レイアウト文書でのサポートは任意です。
EPUB 作成者は、スクリプトをサポートしない読書システムで、コンテナー制約付きスクリプトが 適切に劣化するようにすべきです(6.3.2.5 スクリプトのフォールバックを参照)。
スクリプトの使用をコンテナー制約付きモデルに限定する EPUB 作成者は、 スクリプト付きコンテンツとスクリプトなしコンテンツの間で、より一貫したユーザー体験 (例えば、一貫したページ分割動作)を確保できます。
スパインレベルスクリプトとは、
トップレベルコンテンツ文書内に含まれる、
[html]
script
または [svg] の
script
要素のインスタンスです。
EPUB 作成者は、 読書システムにおける スパインレベルスクリプトのサポートは、固定レイアウト文書 および スクロールに設定されたリフロー可能文書 [epub-rs-33] でのみ推奨されていることに 注意すべきです。さらに、その他すべてのコンテキストでの読書システムの サポートは任意です。
スパインレベル スクリプトを含む トップレベルコンテンツ文書は、 スクリプトが無効または利用できない場合でも(例えば、 プログレッシブエンハンスメント技術や フォールバックを採用することにより)、 情報損失やその他の重大な劣化なしにユーザーが利用可能なままであるべきです(SHOULD)。 トップレベルコンテンツ文書でスクリプトなし環境を考慮しないと、 EPUB 出版物が読めなくなる可能性があります。
この節は非規範的です。
EPUB 作成者は、自身の EPUB 出版物にスクリプト機能を追加する場合、 読書システム 実装の多様性を考慮すべきです(例えば、すべてのデバイスに物理キーボードがあるわけではなく、 多くの場合、ソフトキーボードはテキスト入力要素に対してのみ有効化されます)。したがって、 EPUB 作成者はキーボードイベントだけに依存すべきではありません。目的の動作をトリガーするための 代替手段を常に提供すべきです。
スクリプトを含む EPUB コンテンツ文書は、 コンテンツがすべてのユーザーに利用可能なままであることを確保するため、関連する [wai-aria] アクセシビリティ技術を採用すべきです(SHOULD)。
スクリプトを含む
EPUB コンテンツ文書は、
そのようなコンテンツに対してフォールバックを提供してもかまいません(MAY)。
これは、([html]
object
および
canvas
要素で利用できるものなどの)内在的なフォールバック機構を使用するか、内在的な
フォールバックが適用できない場合は、マニフェストレベルの
フォールバックを使用することによります。
EPUB 作成者は、スクリプトが コアメディアタイプリソースまたはそのフラグメントのみを 生成することを保証しなければなりません(MUST)。
この節は非規範的です。
すべてのレンダリング情報を、EPUB が基盤として構築されている技術によって表現できるわけではありません。 例えば、CSS を伴う HTML は強力なレイアウト機能を提供しますが、それらの機能は レンダリングされる文書の範囲に限定されます。
この節は、EPUB 作成者がパッケージレベルの レンダリング意図(すなわち、EPUB 読書システムによってのみ実装できる機能)を表現できるようにするプロパティを定義します。読書システムが 目的のレンダリングをサポートする場合、これらのプロパティにより、EPUB 作成者が最適に設計した形で コンテンツをユーザーに提示できます。
この節は非規範的です。
EPUB 出版物は、印刷本や PDF ファイルとは異なり、 変化するように設計されています。コンテンツは、画面に合わせ、ユーザーのニーズに合わせて 流動、またはリフローします。Rendering and CSS で述べられているように、 「コンテンツの提示はユーザーに適応し、ユーザーがコンテンツの特定の提示に適応する必要はありません。」 [epub-overview-33]
しかし、この原則がすべての種類の文書に有効なわけではありません。コンテンツとデザインが 非常に密接に結び付いていて、それらを分離できないことがあります。見た目を少しでも変えると、 意味が変わったり、すべての意味が失われたりする危険があります。 固定レイアウト文書は、 リフロー可能な EPUB がコンテンツに適さない場合に、EPUB 作成者が提示をより細かく制御できるようにします。
EPUB 作成者は、パッケージ文書プロパティの集合を使用して、 読書システムでのレンダリングを制御することで、 固定レイアウトを定義します。さらに、それぞれの EPUB コンテンツ文書内で 各固定レイアウト文書の寸法を設定します。
EPUB 3 は、固定レイアウトコンテンツを表現する複数の仕組みを提供します。固定レイアウト コンテンツが必要な場合、EPUB 作成者がどの仕組みを選ぶかは、望まれる精度の度合い、 ファイルサイズ、アクセシビリティなど、多くの要因に依存します。この節は、EPUB 作成者が 選ぶ仕組みを規定しようとするものではありません。
rendition:layout プロパティは、コンテンツがリフロー可能であるか、
事前ページ分割済みであるかを指定します。
rendition:layout
プロパティが meta 要素で指定される場合、ページ分割済みまたは
リフロー可能なレイアウトスタイルがグローバルに適用されることを示します(すなわち、すべてのスパイン項目に対して)。
EPUB 作成者は、rendition:layout
プロパティで次の値のいずれかを使用しなければなりません(MUST)。
コンテンツは事前ページ分割されていません(すなわち、 読書システムがレンダリング時に動的なページ分割を 適用します)。既定値です。
コンテンツは事前ページ分割済みです(すなわち、読書システムはレンダリング時に
スパイン
ごとに正確に 1 ページを生成します)。
itemref
読書システムは通常、ユーザーまたはユーザーエージェントのスタイルシートを 事前ページ分割済み文書に適用することを制限または拒否します。これは、動的なスタイル変更が そのような文書の内在的な特性に意図しない結果をもたらす可能性が高いためです。EPUB 作成者は、 リフロー可能コンテンツではなく事前ページ分割済みコンテンツを使用することを選ぶ際、これらの 制限が使いやすさとアクセシビリティに与える悪影響を考慮すべきです。関連情報については、 ガイドライン 1.4 - テキスト設定を提供する [uaag20] を参照してください。
スパイン項目について
プロパティが pre-paginated に設定されている場合、そのコンテンツ寸法は
8.2.2.6
コンテンツ文書の寸法で定義されるように設定されなければなりません(MUST)。
EPUB 作成者は、rendition:layout プロパティを複数回宣言してはなりません(MUST NOT)。
また、refines 属性を使用してこのプロパティを宣言してはなりません(MUST NOT)。個々の
EPUB コンテンツ文書に対してプロパティを設定する方法については、
8.2.2.1.1 レイアウト
上書きを参照してください。
EPUB 作成者は、
与えられたスパイン項目についてグローバル値を上書きするために、
次のプロパティを
スパイン
要素上にローカルに指定してもかまいません(MAY)。
itemref
EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。
rendition:orientation プロパティは、EPUB
作成者が意図する、コンテンツがレンダリングされる向きを指定します。
rendition:orientation
プロパティが
要素で指定される場合、
意図された向きがグローバルに適用されることを示します(すなわち、すべての
スパイン項目に対して)。
meta
EPUB 作成者は、
rendition:orientation プロパティで次の値のいずれかを使用しなければなりません(MUST)。
読書システムは、コンテンツを横向きでレンダリングすべきです。
読書システムは、コンテンツを縦向きでレンダリングすべきです。
コンテンツは向きに制約されません。既定値です。
EPUB 作成者は、
rendition:orientation プロパティを複数回宣言してはなりません(MUST NOT)。
また、refines 属性を使用してこのプロパティを宣言してはなりません(MUST NOT)。個々の
EPUB コンテンツ文書に対してプロパティを設定する方法については、
8.2.2.2.1 向きの
上書きを参照してください。
EPUB 作成者は、
与えられたスパイン項目についてグローバル値を上書きするために、
次のプロパティを
スパイン
要素上にローカルに指定してもかまいません(MAY)。
itemref
EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。
rendition:spread プロパティは、意図された
読書システムの
合成見開き動作を指定します。
rendition:spread プロパティが
meta 要素で指定される場合、意図された
合成見開き動作が
グローバルに適用されることを示します(すなわち、すべてのスパイン項目に対して)。
EPUB 作成者は、rendition:spread
プロパティで次の値のいずれかを使用しなければなりません(MUST)。
スパイン項目を合成見開きに組み込みません。読書システムは、画面中央に配置された 単一の ビューポート内に 項目を表示すべきです。
デバイスが横向きの場合にのみ、スパイン項目の合成見開きをレンダリングします。
縦向きの場合にのみ見開きを使用することは非推奨です。
EPUB 作成者は、代わりに値「both」を使用すべきです。縦向きで読める見開きは、
横向きでも読めるためです。
デバイスの向きにかかわらず合成見開きをレンダリングします。
EPUB 作成者は明示的な合成見開き動作を定義していません。既定値です。
EPUB 作成者は、rendition:spread プロパティを複数回宣言してはなりません(MUST NOT)。
また、refines 属性を使用してこのプロパティを宣言してはなりません(MUST NOT)。個々の
EPUB コンテンツ文書に対してプロパティを設定する方法については、
8.2.2.3.1 合成見開き
上書きを参照してください。
合成見開きが
XHTML および
SVG コンテンツ文書の文脈で使用される場合、
viewport meta 要素および
viewBox 属性を介して与えられる寸法は、
それぞれ見開き内の 1 ページのサイズを表します。
page-progression-direction 属性を使用したグローバルなフロー方向性の宣言、および
コンテンツ文書内のローカルなページ進行方向については、
要素を参照してください。
spine
EPUB 作成者は、
与えられたスパイン項目についてグローバル値を上書きするために、
次のプロパティを
スパイン
要素上にローカルに指定してもかまいません(MAY)。
itemref
rendition:spread-portrait プロパティは非推奨です。
spread-portrait
プロパティ定義を参照してください。
EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。
読書システムが
合成見開きをレンダリングする場合、既定の動作は、
次の EPUB コンテンツ文書を、次に利用可能な未配置の
ビューポートにレンダリングすることで見開きを埋めることです。
次に利用可能なビューポートは、与えられたページ進行方向または
EPUB コンテンツ文書内の
ローカル宣言によって決定されます。EPUB 作成者は、スパイン
itemref
要素で次のプロパティのいずれかを指定することにより、この
自動配置動作を上書きし、読書システムに文書を特定のビューポートへ配置させてもかまいません(MAY)。
rendition:page-spread-center
rendition:page-spread-center プロパティは、スパイン項目を中央揃えするための
spread-none プロパティの別名です。
rendition:page-spread-left
rendition:page-spread-left プロパティは、スパイン項目を 2 ページ見開きの
左側スロットに配置するための
page-spread-left プロパティの別名です。
rendition:page-spread-right
rendition:page-spread-right プロパティは、スパイン項目を 2 ページ見開きの
右側スロットに配置するための
page-spread-right プロパティの別名です。
rendition:page-spread-center、rendition:page-spread-left、および
rendition:page-spread-right プロパティは、事前ページ分割済みコンテンツと
リフロー可能コンテンツの両方に適用されます。これらは、読書システムが合成
見開きを作成している場合にのみ適用されます。
EPUB 作成者は、特定のデバイスの向きで見開きを使用するよう示すことがよくありますが、
コンテンツ自体が真の見開きを表しているわけではありません(すなわち、2 ページ地図のように、可読性のために
読書システムが連続する 2 ページを横に並べてレンダリングしなければならない場合)。連続する 2 ページが
真の見開きを表すことを示すために、EPUB 作成者は、隣接する 2 つの EPUB コンテンツ文書に対応する
スパイン項目で
rendition:page-spread-left および rendition:page-spread-right
プロパティを使用し、1 ページ表示または 2 ページ表示のどちらでも同等に許容されるスパイン項目では
それらのプロパティを省略すべきです(SHOULD)。
EPUB 作成者は、任意の与えられたスパイン項目で、複数の
rendition:page-spread-* プロパティ
および/または接頭辞なしの同等物を宣言してはなりません(例えば、読書システムがプロパティの一方のみを
サポートする場合に備えて「rendition:page-spread-left page-spread-left」の両方を指定することは妥当です)。
rendition:page-spread-left および rendition:page-spread-right
プロパティは、すべての固定レイアウトプロパティに単一の語彙を使用できるようにするために
作成されました。EPUB 作成者はどちらのプロパティ集合も使用できますが、古い読書システムは
接頭辞なしのバージョンのみを認識する場合があります。
rendition:page-spread-center は、2 ページ見開きと単一の中央揃えページの間で
切り替えるプロセスを EPUB 作成者が理解しやすくするために作成されました。EPUB 作成者は、
読書システムで見開き動作を無効にするために、rendition:page-spread-center
または spread-none のどちらも使用できます。
rendition:viewport プロパティにより、EPUB
作成者は、rendition:layout プロパティが
pre-paginated に設定されている
XHTML および SVG コンテンツ文書について、CSS
初期包含ブロック(ICB)[css2]
を
表現できます。
このプロパティの使用は非推奨です。
詳細については、 [epubpublications-301] の
rendition:viewport
プロパティ定義を参照してください。
この節は、固定レイアウト文書の寸法プロパティの 表現および解釈の規則を定義します。
固定レイアウト文書は、その形式に適用される方法で 初期 包含ブロック [css2] を指定します。
XHTML 固定レイアウト
文書では、初期
包含ブロック [css2]
は、
viewport
meta タグ内の必須(REQUIRED)の
height および width 定義から取得されます。ここで:
height
プロパティは、その
値として正の
数値 [css2]
またはキーワード
device-height を持たなければなりません(MUST)。および
width プロパティは、その値として正の
数値 [css2]
またはキーワード
device-width を持たなければなりません(MUST)。
device-width および device-height の値は、それぞれ読書システムの
ビューポートの幅および高さの 100% を指します。
height および width 定義は、[html]
head 要素内の文書順で最初の
viewport meta タグに指定されなければなりません(MUST)。
読書システムは後続の viewport meta タグを無視します。
EPUB 作成者は、viewport meta タグ内に複数の height
または
width 定義を指定してはなりません(MUST NOT)。
SVG 固定レイアウト
文書では、初期包含ブロック [css2]
寸法は、viewBox
属性 [svg] を使用して表現されなければなりません(MUST)。
初期包含ブロック定義は、それが定義されている文書にのみ影響します。同じ出版物内の 他のコンテンツ文書における包含ブロックの寸法は異なる場合があります。
EPUB コンテンツ文書のレンダリングを制御して固定レイアウトを作成することは、 他の技術では扱われない明白な必要性ですが、EPUB 出版物に固有の、リフロー可能コンテンツに関する考慮事項もあります (例えば、ビューポート内でのコンテンツの流れをどのように扱うか)。この節は、 EPUB 作成者がリフロー可能コンテンツの提示面を制御できるようにする プロパティを定義します。
rendition:flow プロパティは、
EPUB 作成者が、
読書システムにコンテンツのオーバーフローをどのように扱ってほしいかについての
希望を指定します。
rendition:flow プロパティが
meta 要素で指定される場合、オーバーフローコンテンツ処理についての EPUB 作成者の
グローバルな希望を示します(すなわち、すべての
スパイン項目に対して)。
EPUB 作成者は、動的なページ分割またはスクロールの希望を示してもかまいません(MAY)。
スクロールされるコンテンツについては、連続する
EPUB コンテンツ文書を 1 つの連続スクロール表示として
レンダリングするか、それぞれを別々にレンダリングするか(すなわち、各文書の間に動的なページ区切りを伴うか)を
指定することも可能です。
EPUB 作成者は、rendition:flow
プロパティで次の値のいずれかを使用しなければなりません(MUST)。
すべてのオーバーフローコンテンツを動的にページ分割します。
すべての EPUB コンテンツ文書を、オーバーフローコンテンツがスクロール可能になるようにレンダリングし、 EPUB 出版物を、スパイン項目からスパイン項目へ 1 つの連続 スクロールとして提示します(ローカルに上書きされる場合を除く)。
連続スクロール表示は EPUB 読書システムで問題となるため、EPUB 作成者は、 異なるリソースが異なるブロックフロー方向を持つ出版物を作成すべきではない(SHOULD NOT)ことに注意してください。
すべての EPUB コンテンツ文書を、オーバーフローコンテンツがスクロール可能になるようにレンダリングし、 各スパイン項目を別々のスクロール可能文書として提示します。
該当する場合、読書システムの既定の方法またはユーザー設定のいずれかを使用して オーバーフローコンテンツをレンダリングします。既定値です。
2 つのリフロー可能 EPUB コンテンツ文書が
スパイン内で連続して出現する場合、それらの [html]
body 要素の既定レンダリングは、
page-break-before
プロパティ [csssnapshot] が
always に設定されていることと一致します。EPUB 作成者は、
rendition:flow プロパティを使用することに加え、読書システムがそのような上書きをサポートする場合、
適切なスタイルシート宣言を通じてこの動作を上書きしてもかまいません(MAY)。
EPUB 作成者は、rendition:flow プロパティを複数回宣言してはなりません(MUST NOT)。
また、refines
属性を使用してこのプロパティを宣言してはなりません(MUST NOT)。個々の EPUB コンテンツ文書に
対してプロパティを設定する方法については、
8.3.1.1
スパイン上書きを参照してください。
rendition:flow が paginated に設定された
EPUB 出版物のレンダリング。
3 つの列状の矩形が、左から中央、中央から右へそれぞれ矢印で結ばれており、 テキストが 1 つの矩形から次の矩形へ流れています。テキストは「Chapter 1」、「2」、 「3」と記された見出しで区切られています。最も左の矩形はタブレットの模式図内に 囲まれています。
rendition:flow が paginated に設定された
EPUB 出版物のレンダリング。3 つの列状の矩形が、左から中央、中央から右へそれぞれ矢印で結ばれており、 テキストが 1 つの矩形から次の矩形へ流れています。テキストは「Chapter 1」、「2」と 記された見出しで区切られています。「Chapter 2」のセクションは最も右の矩形の上部から始まり、 中央の矩形の下部に空きスペースを残しています。最も左の矩形はタブレットの模式図内に 囲まれています。
rendition:flow が scrolled-continuous に設定された
EPUB 出版物のレンダリング。テキストが帯に沿って下へ流れる、単一の列状の帯(すなわち、下辺のない矩形)です。 テキストは「Chapter 1」、「2」と記された見出しで区切られています。帯の上部は タブレットの模式図内に囲まれています。
rendition:flow が scrolled-doc に設定された EPUB 出版物のレンダリング。
3 つの列状の帯(すなわち、下辺のない矩形)が、左から中央、中央から右へそれぞれ矢印で 結ばれており、それぞれに帯に沿って下へ流れるテキストが含まれています。テキストは 「Chapter 1」、「2」、「3」と記された見出しで区切られています。各帯は章見出しから始まり、 帯に沿って下へ流れます。最も左の帯の上部はタブレットの模式図内に囲まれています。
EPUB 作成者は、
与えられたスパイン項目についてグローバル値を上書きするために、
次のプロパティを
スパイン
要素上にローカルに指定してもかまいません(MAY)。
itemref
EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。
rendition:align-x-center プロパティは、与えられた
スパイン項目を
ビューポートまたは見開き内で水平方向に中央揃えすべきことを指定します。
このプロパティは、すべての
EPUB コンテンツ文書に対してグローバルに設定してはなりません(MUST NOT)
(すなわち、refines 属性を持たない
要素内で)。これは、
meta
要素の itemrefproperties 属性を介して、個々の EPUB コンテンツ文書に対するスパイン上書きとしてのみ
利用できます。
このプロパティは、主にコンテンツレンダリング内で信頼できる中央揃え制御がない場合に、 「Naka-Tobira(中扉)」(節のタイトルページ)を扱うために開発されました。ただし、 CSS におけるページ媒体のサポートが進化するにつれて、このプロパティは非推奨になることが 期待されています。EPUB 作成者は、有効な場合には CSS による解決策を 使用することが推奨されます。
この節は非規範的です。
同期された音声ナレーションを含む作品の例として、一般向け電子書籍、教育用ツール、および 印刷物を読むことに障害のある人向けに整形された電子書籍があります。EPUB 3 では、 EPUB 作成者は、 事前録音された音声ナレーションのタイミング、およびそれが EPUB コンテンツ文書のマークアップとどのように関連するかを記述するメディアオーバーレイ文書を使用して、 これらの種類の書籍を作成できます。この仕様は、メディアオーバーレイのファイル形式を [smil3] のサブセットとして定義します。 これは、XML で同期マルチメディア情報を表すための W3C 勧告です。
メディアオーバーレイによって可能になるテキストと音声の同期は、従来の書籍のテキストを追うことが 難しいすべてのユーザーに対してアクセシビリティを向上させます。メディアオーバーレイはまた、 何らかの理由でテキストを読むことができない読者に、従来の音声埋め込み技術では提供できない、 連続したリスニング体験を提供します。さらに、従来はアクセシビリティ上の関心事とは見なされない目的 (例えば言語学習)にも有用です。
メディアオーバーレイ機能は、この機能をサポートしない EPUB 読書システムに対して透過的です。 EPUB 出版物にメディアオーバーレイを含めても、 メディアオーバーレイを認識しない読書システムが、メディアオーバーレイが存在しないかのように EPUB 出版物をレンダリングする能力には影響しません。
EPUB のメディアオーバーレイはオーディオブックと同等ではありません。オーディオブックは主に音声ベースであり、 テキストは代替形式として時折提供されるものだからです。W3C [audiobooks] 勧告は、 音声出版物を構築するためのものです。
この仕様の将来のバージョンでは、動画メディアのサポート(例えば、同期テキスト/手話書籍)が組み込まれる 可能性がありますが、このバージョンでは、音声メディアを EPUB コンテンツ文書と同期することのみを サポートします。
G.3 メディアオーバーレイ スキーマで定義されるメディアオーバーレイスキーマに対して妥当でなければならず(MUST)、 9.2.2 メディアオーバーレイ文書定義で表されるすべての内容適合性 制約に適合しなければなりません。
複数の EPUB コンテンツ文書を参照してもかまいません(MAY)が、 複数のメディアオーバーレイ文書が同じ EPUB コンテンツ文書を参照してはなりません(MUST NOT)。
別途指定されない限り、この節で定義されるすべての要素 [xml] は
https://www.w3.org/ns/SMIL
名前空間 [xml-names] に属します。
smil 要素は、メディアオーバーレイ文書内のすべての情報を包含します。
smil
version
[必須]
メディアオーバーレイ文書が準拠する [smil3] 仕様のバージョン番号を指定します。
この属性は値「3.0」を持たなければなりません(MUST)。
id
[任意]
epub:prefix
[任意]
追加のメタデータ語彙接頭辞を宣言します。
詳細については、9.3.3 オーバーレイにおける構造セマンティクスを参照してください。
この順序で:
head 要素は、メディアオーバーレイ文書内のメタデータのコンテナーです。
この仕様は、メディアオーバーレイ文書に出現しなければならないメタデータプロパティを定義しないため、
head 要素は任意(OPTIONAL)です。
metadata 要素は、メディアオーバーレイ文書のメタデータを表します。
metadata 要素は、任意のメタ情報構造化言語からのメタデータを含めることを可能にする
拡張点です。
metadata
要素の子として。
head
なし
任意の名前空間の要素 [0 個以上]
この仕様は、メディアオーバーレイ文書内のメタデータプロパティを必須とはしません。
metadata 要素は、カスタムメタデータ要件のために提供されます。
body 要素は、
メディアオーバーレイ文書に含まれる提示の開始点です。
これは、
および
par
要素の主系列を含みます。
seq
body
body 要素は、
要素の必須(REQUIRED)の子です。
この要素は、
smil
要素が存在する場合、その後に続きます。
head
epub:type
[任意]
対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。
値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。
id
[任意]
epub:textref
[任意]
関連付けられた EPUB コンテンツ文書を参照し、任意でその特定部分を識別します。
値は、path-relative-scheme-less-URL
文字列でなければならず(MUST)、任意で
U+0023 (#) と
URL-fragment 文字列が続きます。
任意の順序で:
少なくとも 1 つの par または seq を含まなければなりません(MUST)。
seq 要素は、メディアオブジェクトおよび/または子時間コンテナーのための
逐次時間コンテナーです。
seq
epub:type
[任意]
対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。
値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。
id
[任意]
epub:textref
[必須]
関連付けられた EPUB コンテンツ文書を参照し、 任意でその特定部分を識別します。
値は、path-relative-scheme-less-URL
文字列でなければならず(MUST)、任意で
U+0023 (#) と
URL-fragment 文字列が続きます。
詳細については、9.3.2.1 オーバーレイ構造を参照してください。
任意の順序で:
少なくとも 1 つの par または seq を含まなければなりません(MUST)。
par 要素は、メディアオブジェクトのための並列時間コンテナーです。
par
epub:type
[任意]
対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。
値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。
id
[任意]
任意の順序で:
text 要素は、EPUB コンテンツ文書内の要素を参照します。
text 要素は通常テキスト要素を参照しますが、他の
EPUB コンテンツ文書のメディア要素を参照することもできます。
兄弟の
要素が存在しない場合、この要素によって参照されるテキストコンテンツは
テキスト読み上げによってレンダリングされてもかまいません。
audio
text
要素の必須(REQUIRED)の子として。
par
src
[必須]
関連付けられた EPUB コンテンツ文書を参照し、任意でその特定部分を識別します。
値は、path-relative-scheme-less-URL
文字列でなければならず(MUST)、任意で
U+0023 (#) と
URL-fragment 文字列が続きます。
id
[任意]
空
この仕様は、text 要素の src 属性に制限を課しません。
ただし、EPUB 作成者は、
スタイル情報との関連付けを有効にするために、
CSS でスタイル付けできるコンテンツを参照すべきです(すなわち、XHTML では
知覚可能コンテンツ、SVG では
パス、
基本図形、または
テキスト要素)。
[epub-rs-33] は、時間指定メディアの再生
(すなわち、参照されるメディアの自動開始)について、読書システム向けの指針をもはや提供していません。
text 要素の src 属性は、埋め込み時間指定メディアを参照する場合があります
(例えば、[html] video
要素を介して)が、そのようなメディアを参照すると予測できない結果になる可能性があります。
audio 要素は、音声メディアのクリップを表します。
audio
要素の任意(OPTIONAL)の子です。
par
id
[任意]
src
[必須]
音声ファイルへの 相対または 絶対 URL 文字列 [url] 参照です。音声ファイルは コアメディアタイプリソース表に列挙されている音声形式の いずれかでなければなりません(MUST)。
clipBegin
[任意]
音声クリップの開始点に対応する物理メディア内のオフセットを指定するクロック値です。
[smil3] クロック 値でなければなりません(MUST)。
H.4 クロック 値を参照してください。
clipEnd
[任意]
音声クリップの終了点に対応する物理メディア内のオフセットを指定するクロック値です。
[smil3] クロック 値でなければなりません(MUST)。
H.4 クロック 値を参照してください。
終了位置の時系列オフセットは、clipBegin 属性で指定される
開始オフセットより後でなければなりません(MUST)。
空
この節は非規範的です。
EPUB 作成者は、出版物の事前録音ナレーションを、 それぞれが EPUB コンテンツ文書の一部に対応する 一連の音声クリップとして表現できます。例えば、1 つの音声クリップは通常、単一の句または段落を 表しますが、他のクリップや文書のテキストとの相対的な順序は推論しません。メディアオーバーレイは、 [smil3] マークアップを使用して、 構造化された音声ナレーションを EPUB コンテンツ文書内の対応するテキスト(またはその他のメディア)に 結び付けることで、この同期の問題を解決します。メディアオーバーレイは、実際には、 これらのクリップの再生順序を定義する SMIL 3.0 の簡略化されたサブセットです。
メディアオーバーレイの構造化に主に使用される SMIL 要素は、
(主系列に使用)、
body
(系列)、および
seq
(並列)です。(これらおよびその他の SMIL 要素についての詳細は、
9.2.2
メディアオーバーレイ文書定義を参照してください。)
par
par 要素はメディアオーバーレイの基本的な構成要素であり、
EPUB コンテンツ文書内の句に対応します。この要素は、コンテンツを同期するための 2 つの重要な情報を提供します:
1) その句のナレーションを含む音声クリップ、および 2) 関連付けられた EPUB コンテンツ文書フラグメントへの
ポインターです。par 要素は、この情報を表すために 2 つのメディア要素の子を使用します:
要素と
audio
要素です。textpar 要素のメディアオブジェクト子は並列に時間指定されるため、読書システムは
音声クリップと EPUB コンテンツ文書フラグメントを同時にレンダリングし、その結果、同期された提示になります。
text 要素の src 属性は、関連付けられた句、文、または
EPUB コンテンツ文書のその他のセグメントを、その URL [url] 参照によって参照します。
audio 要素の src 属性も同様に、対応する音声クリップの場所を参照し、
クリップ内の特定のオフセットを示すために、任意(OPTIONAL)の
clipBegin および clipEnd
属性を追加します。
EPUB 作成者は、句または文の系列を形成するために、par 要素を順に並べます。
EPUB コンテンツ文書のすべての要素が、メディアオーバーレイ文書内で対応する
par 要素を持つわけではなく、音声ナレーションに関連するものだけが持ちます。
EPUB 作成者は、seq 要素に par 要素を追加して、部や章などの
より複雑な構造を定義することもできます(9.3.2.1 オーバーレイ構造を参照)。
この節では、EPUB コンテンツ文書は XHTML コンテンツ 文書であると想定します。EPUB 作成者は SVG コンテンツ文書で メディアオーバーレイを使用してもかまいませんが、再生動作は一貫しない可能性があり、したがって相互運用性は 保証されません。
EPUB 作成者はまた、リフロー可能および固定レイアウトの両方の EPUB コンテンツ文書の再生について、 読書システムのサポートが保証されないことにも 注意すべきです。読書システムのページ分割方針の違いにより、一部の読書システムは、 どちらか一方のレイアウト形式でのみメディアオーバーレイをサポートする場合があります。
メディアオーバーレイ文書の
は 2 種類の要素から構成されます:
body
要素と
par
要素です。これらの要素の順序は、再生中に
読書システムが、対応する
EPUB コンテンツ文書内のコンテンツをどのように
レンダリングするかを表します。
seq
par 要素は、単語、句、文、表のセル、リスト項目、画像、またはマークアップ内の
その他の識別可能なコンテンツ片など、コンテンツのセグメントを表します。各要素は、
再生中に、表示するコンテンツ(
要素内)と同期する音声(
text
要素内)の両方を識別します。
audio
seq 要素は、系列、すなわちコンテンツの論理的構成要素をまとめて表す
seq および/または par 要素の集合を表します。
EPUB 作成者は、セクション、補足欄、
ヘッダー、表、リスト、脚注などの入れ子コンテナーを表すためにこれを使用できます。
これにより、EPUB 作成者は、これらのコンテナーに固有の構造をメディアオーバーレイ文書内に
保持できます。
seq 要素は
epub:textref 属性を含まなければなりません(MUST)。
seq 要素は同期命令を提供しないため、この属性により
読書システムは、
フラグメントをテキスト内の位置に対応付けることができます。
セクション、図、表、脚注などの構造を seq 要素内でグループ化する理由は、
読書システムが再生中にそれらの開始位置と終了位置を識別できるようにするためです。
これにより読書システムは、長い図を飛ばす、ページ区切り通知のレンダリングをオフにする
(9.4
スキップ可能性と脱出可能性を参照)、または
表などの構造に合わせて読み上げモードをカスタマイズするなど、コンテンツのレイアウトに合わせた
再生オプションを提供できます。
epub:textref 属性と
要素の textsrc
属性はどちらも、関連付けられた
EPUB コンテンツ文書の特定部分
(例えば、その ID による要素)を参照する
URL-fragment 文字列を含んでもかまいません。
XHTML および SVG コンテンツ文書では、URL-fragment 文字列は、 それぞれ、ID による特定要素への参照、または SVG Fragment Identifier [svg] であるべきです(SHOULD)。
EPUB 作成者は他のフラグメント識別子スキームを使用してもかまいません(MAY)が、 読書システムは そのような識別子をサポートしない場合があります。
この節は非規範的です。
メディアオーバーレイの粒度レベルは、EPUB
作成者が
EPUB コンテンツ文書をどのようにマークアップするか、
および
要素の textsrc 属性と
要素の seqepub:textref
属性で使用するフラグメント識別子の種類に依存します。例えば、[html] 要素を参照する場合、最も細かい
マークアップレベルが段落レベルであれば、それがメディアオーバーレイ同期で可能な最も細かいレベルです。
同様に、句や文を表す [html]
span
要素などの段落内マークアップが利用可能であれば、メディアオーバーレイでより細かい粒度が可能です。
より細かい粒度は、単語または句で移動する場合やテキストを検索する場合に、同期再生の結果を
より正確にユーザーへ提供しますが、
メディアオーバーレイ文書のファイルサイズを増加させます。
要素の存在に依存しないフラグメント識別子スキームは、サポートされる場合には、さらに細かい粒度を
提供できる可能性があります。
この仕様は、事前録音された音声クリップに加えて、テキスト読み上げ(TTS)、すなわち EPUB 出版物のテキスト内容を、 合成音声を用いた人工的な人間の発話としてレンダリングすることを許可します。
メディアオーバーレイの
要素がその
par
要素を省略する場合、その
audio
要素は読書システムで TTS によってレンダリングされてもかまいません。テキストフラグメントが
TTS レンダリングに適していない場合(例えば、テキスト要素でない、かつ/またはテキストフォールバックを持たない場合)、
予期しない結果を生じる可能性があります。
text
EPUB 出版物で TTS 技術を使用する方法の詳細については、 EPUB 3 Text-to-Speech Support [epub-tts-10] を参照してください。
構造セマンティクスを
メディアオーバーレイ文書内で表現するために、
EPUB 作成者は、
属性を
epub:type、
par、
および
seq
要素に指定してもかまいません(MAY)。
body
epub:type 属性は、示されたセマンティック型に適した
読書システムの動作を容易にします。
これらの動作の例には、スキップ可能性と脱出可能性、および
表読み上げモード [epub-rs-33] があります。
メディアオーバーレイ文書は、
epub:type 属性に対して、該当する語彙関連付け機構を使用して
追加のセマンティクスを定義してもかまいません(MAY)。
EPUB 作成者は、現在再生中の EPUB コンテンツ文書要素の視覚的レンダリング情報を、 作者定義のクラスを使用して CSS スタイルシート内に表現してもかまいません(MAY)。
使用する場合、EPUB 作成者は、
パッケージ文書内で
active-class および
playback-active-class プロパティを使用して
クラス名を宣言しなければなりません(MUST)。
EPUB 作成者は、定義する各プロパティに正確に 1 つの CSS クラス名を定義しなければなりません(MUST)。 各プロパティは、妥当な CSS クラス 名を定義しなければならず(MUST)、セレクター [css2] は 含めません。この仕様は、これらのプロパティで使用する名前を予約しません。
EPUB 作成者は、指定された CSS クラスに任意の CSS プロパティを定義してもかまいません(MAY)が、 関連付けられた メディアオーバーレイ文書を持つ各 EPUB コンテンツ文書が、クラス定義を含む CSS スタイルシート(埋め込みまたはリンク)を含むことを 確保しなければなりません。そのような定義がない場合、 読書システムは独自のスタイルを提供するか、 まったくスタイルを提供しない場合があります。
EPUB 作成者は、active-class および
playback-active-class
プロパティを refines 属性と併用してはなりません(MUST
NOT)。
これらは常に
EPUB 出版物全体に適用されるためです。
EPUB コンテンツ文書が
メディアオーバーレイ文書によって
全体または一部参照される場合、その
マニフェストの
要素は itemmedia-overlay 属性を指定しなければなりません(MUST)。
この属性は、対応するメディアオーバーレイ文書のマニフェスト item の
ID [xml] を
参照しなければなりません(MUST)。
EPUB 作成者は、EPUB コンテンツ文書を参照するマニフェスト
item 要素にのみ media-overlay 属性を指定しなければなりません(MUST)。
メディアオーバーレイ文書のマニフェスト項目は、メディアタイプ
application/smil+xml を持たなければなりません(MUST)。
EPUB 作成者は、
パッケージ文書内で、
EPUB 出版物全体の継続時間を、
duration プロパティを持つ
要素を使用して指定しなければなりません(MUST)。
meta
さらに、EPUB 作成者は、各
メディアオーバーレイ文書の継続時間を提供しなければなりません(MUST)。
EPUB 作成者は、各継続時間宣言を対応する
マニフェスト
に
関連付けるために、itemrefines
属性を使用しなければなりません(MUST)。
各メディアオーバーレイ文書の継続時間の合計は、 総継続時間との差が 1 秒以内であるべきです(SHOULD)。
個々の継続時間の合計は、時刻を秒の最も近い小数部へ丸めることにより、総継続時間と 正確に一致しない場合がありますが、1 秒を超える差は、その他の問題に起因する不一致を示します。
EPUB 作成者は、
パッケージ文書内で narrator 情報、および現在再生中の
EPUB コンテンツ文書要素に適用する
作者定義の CSS クラス名を指定してもかまいません(MAY)。
media: 接頭辞は、これらのプロパティをパッケージメタデータに含めるために
予約されています。
読書中、ユーザーは脚注、ページ番号、またはその他の種類の二次的コンテンツなど、コンテンツの特定機能を
オンまたはオフにしたい場合があります。この機能をスキップ可能性と呼びます。
読書システムは、メディアオーバーレイ
要素の epub:type 属性によって提供される
セマンティック情報を使用して、スキップ可能な機能の選択肢をユーザーに提示する時期を決定します。
EPUB 作成者は、スキップ可能性を有効にするために、 次のセマンティクスを使用してもかまいません(MAY)。
ただし、このリストは網羅的ではありません。これは、読書システムがスキップ可能性の選択肢を 提供する可能性が最も高い、Structural Semantics Vocabulary [epub-ssv-11] の用語を表しています。
脱出可能な項目とは、表やリストなどの入れ子構造であり、ユーザーがその構造を飛び越えて、 その入れ子構造の直後の位置から読み続けたい場合があります。脱出可能性機能は、項目の型全体を 有効または無効にするのではなく、それらからの出口を提供する点で、スキップ可能性機能とは異なります (例えば、ユーザーは内容の一部を聞いてから脱出することを選択できます)。
EPUB 作成者は、脱出可能性を有効にするために、 次のセマンティクスを使用してもかまいません(MAY)。
ただし、このリストは網羅的ではありません。これは、 読書システムが脱出可能性の選択肢を 提供する可能性が最も高い、Structural Semantics Vocabulary [epub-ssv-11] の用語を表しています。
脱出可能な構造が脱出可能な構造を含む場合があります。例えば、表は多くの行とセルで構成され、 ユーザーはそれぞれから個別に脱出したい場合があります。そのような構造からの脱出に対する 読書システムのサポートは複雑で、現時点では十分にはサポートされていません。EPUB 作成者は、 よりよいサポートが利用可能になるまで、入れ子の脱出可能構造を識別することを避けるべきです。
この節は非規範的です。
EPUB 3 は、基盤技術に組み込まれた構造、セマンティクス、ひいてはアクセシビリティを 活用できるよう、明示的に Open Web Platform の上に構築されています。
アクセシブルな Web コンテンツを作成するための要件と実践は、すでに W3C の Web Content Accessibility Guidelines (WCAG) [wcag2] に文書化されています。 これらのガイドラインは、EPUB 出版物におけるアクセシビリティを定義する基礎にもなります。
現在の WCAG ガイドライン(バージョン 2)は Web ページに大きく焦点を当てているため、別の仕様である EPUB Accessibility [epub-a11y-11] が、その標準を EPUB 出版物に適用する方法を定義しています。また、メタデータ、ページ分割、メディアオーバーレイに関する EPUB 固有の要件と推奨事項も追加しています。
この仕様は、EPUB 出版物が [epub-a11y-11] で定義される アクセシビリティ要件に適合することを推奨します。この推奨に従う利点は、 EPUB 出版物が世界各地の法域で法制化されているアクセシビリティ要件を満たすことを 確実にする助けになることです。
しかし、EPUB 作成者は、法的要請を超えて考え、 すべてのコンテンツに対する要件としてアクセシビリティを扱うべきです。EPUB 出版物のアクセシビリティが高いほど、 それらの潜在的な読者層は大きくなります。
この仕様は、アクセシビリティ要件が EPUB 仕様とは独立して適応し発展できるようにするため、 それらの要件を統合していません。アクセシビリティの実践は、より頻繁な更新を必要とすることが 多いためです。アクセシビリティ仕様は、過去、現在、および将来の EPUB バージョンで使用されることも 意図されています。別仕様とするこの方式により、EPUB の発展がアクセシビリティを特定の時点に 固定しないことが保証されます(すなわち、古いバージョンの EPUB の制作者が最新の アクセシビリティ要件を参照できるようになります)。
この節は非規範的です。
EPUB 出版物の特徴はその構造にあります。 EPUB 形式は、HTML、CSS、SVG、JavaScript、およびその他のリソースを含む、構造化され セマンティクスが強化された Web コンテンツを、単一ファイルコンテナーで配布するために 表現、パッケージ化、エンコードする手段を提供します。
これは、EPUB 3 のセキュリティおよびプライバシーの問題が主としてそれらの形式の機能に結び付いており、 Web コンテンツが提示する脅威を強く反映していることを意味します。
コンテンツのリスクは、意図的に悪意のある著作意図と同一視されることが多いものの、 EPUB 作成者は、善意で従っている多くの実践が、 ユーザーをプライバシーおよびセキュリティの問題にさらす可能性があることを認識する必要があります。 この節の残りでは、EPUB 作成者がこれらのリスクを認識し軽減する助けとなることを目的として、 EPUB 3 のリスクモデルを検討します。
読書システムに関連するリスクについては、 [epub-rs-33] の セキュリティとプライバシーの節を 参照してください。
この節は非規範的です。
EPUB 出版物は、疑いを持たないユーザーに対して、 さまざまなプライバシーおよびセキュリティ上の脅威をもたらします。これらの脅威の多くは Web コンテンツと交差しますが、EPUB は、ユーザーをだまして悪意のあるコンテンツにアクセスさせたり、 機密情報を提供させたりするために使用できる、独自の攻撃方法も導入します。 EPUB 作成者と ユーザーが認識しておく必要がある、より重要な攻撃ベクトルには次が含まれます:
EPUB 3 は、一部の 出版リソースを リモートでホストすることを許可しています。具体的には、 EPUB 出版物のダウンロードや開封に悪影響を与える可能性のあるサイズのリソース (例えば、音声、動画、フォント)です。意図されたとおりに使用される場合にはユーザーに有用ですが、 これらの例外は、出版物に悪意のあるコンテンツを注入するためにも使用できます。
この脅威は、悪意のある行為者によって作成されたコンテンツにアクセスする場合に限られません。 EPUB 作成者が信頼できないソース(例えば、第三者の音声や動画)からコンテンツを埋め込む場合、 ユーザーが侵害されたリソースを受け取る可能性は常にあります。
配布時にマルウェアやエクスプロイトを検査することも、常に信頼できるとは限りません。 悪意のあるコンテンツは、EPUB コンテナー内に 埋め込まれたリソースとは異なり、出版後いつでも差し替えられる可能性があるためです。
EPUB のオリジンは、EPUB 作成者には不明であり、
かつ各読書システム実装に固有です。その結果、EPUB 作成者が自分の管理する Web サーバー上に
リモートリソースをホストしている場合、
そのサーバーは、CORS 用ヘッダー、
Content-Security-Policy、
または X-Frame-Options など、
許可されるオリジンの指定を必要とするセキュリティ機能を実質的に使用できません。
意図的であるかどうかにかかわらず、外部 Web サイトやリソースへのリンクは、 ユーザーを、読書システムまたはオペレーティングシステムを侵害する可能性のあるエクスプロイトに さらします。外部リンクは通常 Web ブラウザーで開かれ、ブラウザーのセキュリティモデルの対象になりますが、 それでもすべてのエクスプロイトからユーザーを保護するわけではありません。
EPUB 作成者の意図が悪意あるものではない場合でも、外部リンクに追跡情報を追加することは、 ユーザーの同意なしにユーザーの活動を追跡できるため、ユーザープライバシーの観点で問題があります。
壊れたリンクの乗っ取り、すなわちドメインの有効期限が切れ、別の当事者がそれを購入して そのリンクを悪用することも、EPUB 作成者が意図していないリソースへユーザーが誘導される原因になります。
EPUB コンテナーに埋め込まれたリソースも、特に EPUB 出版物が信頼できないソースから取得された場合、 悪意のある行為者から免れるわけではありません。リソースは、エクスプロイトや、意図しない相手に 機密情報を送信する可能性のあるフォームを含む場合があります。そのような行為者はまた、 シンボリックリンクやファイルエイリアスなどのファイル間接参照技術を使用して、 リモートリソースへのアクセスを 試みる場合があります。
ゲームやクイズなどの第三者コンテンツの使用も、EPUB 作成者がそのコンテンツを十分に検証できない場合、 セキュリティおよびプライバシーの問題につながる可能性があります。
スクリプトがデバイスのネットワークにアクセスできる場合、ユーザーを悪用するためのさまざまな経路を提供します:
ネットワークアクセスにより、たとえ EPUB 作成者の意図ではなくても、第三者コンテンツがユーザーを 悪用できる可能性があります。
デジタル著作権管理方式を使用した EPUB 出版物の暗号化および復号は、 ユーザー、そのユーザーが利用するベンダー、および読書の選択に関する個人識別情報を 第三者へ中継することを可能にする場合があります。
これらの攻撃の有効性は、ユーザーがやり取りしている出版物が信頼できるソースからのものだと 信じ込ませることに依存することも多くあります。こうした欺瞞は次の形をとる可能性があります:
EPUB 出版物は、正当なソースから来たものだとユーザーに信じ込ませるために、 自分自身に関する虚偽の情報を含む場合があります。悪意のある EPUB 作成者は、例えば、 作品のタイトル、著者、識別子、および出版社を偽装するかもしれません。
この誤情報自体が直ちに害をもたらすわけではありませんが、ユーザーが EPUB 出版物内の悪意のあるフォーム、リンク、その他のコンテンツを、信頼できるソースからのものだと 信じて信用してしまう可能性があります。
悪意のある EPUB 作成者は、ユーザーをだましてそのコンテンツを信頼させるために、 プラットフォームの体験を模倣または再現するようにコンテンツを設計する場合もあります。
EPUB 3 は、その基盤となる技術を拡張することを避けようとしていますが、いくつかの新しい機能を 導入しています。ただし、これらの機能の制限された範囲は、それらがもたらしうる脅威を制限します:
コンテンツ切り替えと マルチメディア制御要素は、HTML 内のコンテンツの非表示と、 スクリプトなしの再生制御のみを許可します。さらに、EPUB 3.0 の最初のリリースで導入された これらの機能は非推奨であり、もはや使用は推奨されません。
HTML および SVG における構造セマンティクスの表現は、 要素に注釈を付けることのみを許可します。
潜在的な唯一の例外は、epubReadingSystem オブジェクト
[epub-rs-33] です。これは、
EPUB 作成者が現在の
読書システムに関する情報を照会できるようにします。
EPUB 作成者は、このオブジェクトによって公開される情報を、自分たちのコンテンツのレンダリングを改善するためだけに
使用するよう注意する必要があります(すなわち、その情報を使ってユーザーやその環境をプロファイリングすることを
避けるべきです)。
EPUB 作成者は、ユーザーを悪用するすべての方法を防ぐことはできませんが、 最終的には自分たちのコンテンツを安全に構築する責任があります。つまり、前節で説明した種類の 悪意あるエクスプロイトに EPUB 出版物がさらされることを制限するため、予防策を講じる必要があります。
実践的な手順には次が含まれます:
EPUB 作成者はまた、ユーザーのプライバシー権を考慮し、意図的にデータを収集する状況を 避ける必要があります。理想的には、EPUB 作成者はユーザーを追跡すべきではありません(SHOULD NOT)が、 これはすべての種類の出版にとって現実的ではありません。
EPUB 作成者がユーザーを追跡しなければならない場合、EPUB 出版物を開く前に、 情報収集についてユーザーの承認を得るべきです(SHOULD) (例えば、教育課程の教材において)。これが不可能な場合は、ユーザーが EPUB 出版物に 初めてアクセスするときに許可を得るべきです(SHOULD)。 EPUB 作成者はまた、ユーザーが追跡をオプトアウトできるようにし、収集された自分に関するデータを 管理および削除できる機能をユーザーに提供すべきです(SHOULD)。
EPUB 作成者はまた、ユーザーに関する情報の意図しない収集を考慮する必要があります。 出版社の Web サイト上のコンテンツへリンクすること、またはそのサーバー上でリソースをリモートホストすることは、 特に一意な追跡識別子が URL に追加されている場合、ユーザーのプロファイリングにつながる可能性があります。
EPUB 出版物内でユーザー情報を収集および保存する場合(例えば、 Cookie や Web Storage [html] の使用を通じて)、EPUB 作成者は、 読書システム上の他の EPUB 出版物によるデータ窃取の可能性を考慮する必要があります。[epub-rs-33] は EPUB 出版物に対する 一意なオリジン要件を導入し、 攻撃の可能性を制限していますが、それでも読書システムが EPUB 出版物に共有永続ストレージへのアクセスを 許可するリスクがあります(例えば、更新されていない古い読書システムや、適合していない新しい読書システム)。 したがって、EPUB 作成者は、機密性の高いユーザーデータを永続ストレージに保存すべきではありません(SHOULD NOT)。EPUB 作成者が機密データを保存しなければならない場合、 エクスプロイトが発生した場合にそれへ容易にアクセスされることを防ぐため、そのデータを暗号化すべきです(SHOULD)。
出版社およびベンダーがデジタル著作権管理方式を使用しなければならない場合、暗号化または復号を 実行するために、ユーザーまたはそのコンテンツに関する情報を外部の当事者へ利用または送信しない方式を 優先すべきです。
セキュリティおよびプライバシーのリスクを最大限に低減するため、EPUB 作成者は 長期保存を目標として EPUB 出版物を作成すべきです(SHOULD)。 このように作成された EPUB 出版物は通常、自己完結型であり、ネットワークアクセスに依存せず、 デジタル著作権管理によって暗号化されていないため、多くの可能な攻撃ベクトルを除去します。 [iso22424] は、 EPUB 出版物のそのような保存形式の一例です。すべての EPUB 作成者がこれらの自己完結性の水準を 達成できるわけではないことは理解されていますが、これらの実践にできるだけ多く従うことは、 全体としてユーザーのプライバシーとセキュリティに利益をもたらします。
この仕様には、読書システムでまだ十分にサポートされていない機能、 ワーキンググループがもはや使用を推奨しない機能、または EPUB 2 読書システムとの相互運用性のためにのみ 保持されている機能が含まれています。この節は、これらの機能に付与される指定の意味と そのサポート期待値を定義します。
実装不足の機能とは、EPUB 3.3 より前に導入された機能であり、ワーキンググループが十分な 実装 経験を確立できていないものです。
これらの機能は、この制限にもかかわらず保持することが重要だと考えられています。なぜなら、 EPUB 作成者によって実装されていることが知られている (すなわち、それらを非推奨にすると既存コンテンツが無効になる)ため、および/または EPUB が構築されている内容モデルに不可欠であるためです。
この仕様がある機能を実装不足として指定している場合、EPUB 作成者は、説明されているとおりに その機能を使用してもかまいません(MAY)。
EPUB 適合性チェッカーは、EPUB 出版物内で 実装不足の機能に遭遇した場合、その存在を EPUB 作成者に通知すべきですが、 それらを含めることを標準違反として扱ってはなりません(すなわち、エラーや警告を出してはなりません)。
実装不足ラベルが標準の将来のバージョンで削除されるか、非推奨に置き換えられるかは、 現時点では判断できません。EPUB 作成者は、これらの機能を使用する際、現在および将来の両方で 生じる可能性のある相互運用性の問題を強く考慮すべきです。
機能を実装不足としてマークすることは、EPUB が W3C に取り込まれる前に開発されていた 異なるプロセスを考慮するための一度限りの措置です。このラベルは、 W3C のプロセスの下で開発される新機能には 使用されません。
非推奨の機能とは、この仕様のバージョンでワーキンググループがもはや使用を 推奨しない機能です。非推奨機能は通常、読書システムでのサポート、および/または EPUB 出版物での使用が限定的であるか、存在しません。
この仕様がある機能を非推奨として指定している場合、EPUB 作成者は その機能を EPUB 出版物で使用すべきではありません(SHOULD NOT)。
EPUB 適合性チェッカーは、EPUB 出版物内で 非推奨機能に遭遇した場合、その存在を EPUB 作成者に通知すべきです。
次の表は、公開識別子および システム 識別子 [xml] のうち、 文書型宣言で許可されるものを列挙しています。 [xml]
EPUB 作成者は、これらの外部識別子を、 出版リソースのうち、その マニフェスト宣言で指定される 列挙されたメディアタイプ [rfc2046] を 持つものに限り、使用してもかまいません(MAY)。(詳細については、 3.9 XML 適合性を参照してください。)
| メディアタイプ | 公開識別子 | システム識別子 |
|---|---|---|
|
-//W3C//DTD MathML 3.0//EN
|
http://www.w3.org/Math/DTD/mathml3/mathml3.dtd
|
application/x-dtbncx+xml
|
-//NISO//DTD ncx 2005-1//EN
|
http://www.daisy.org/z3986/2005/ncx-2005-1.dtd
|
image/svg+xml
|
-//W3C//DTD SVG 1.1//EN
|
http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd
|
この節は非規範的です。
構造セマンティクスは、要素が果たす特定の構造上の目的について、追加の意味を付与します。
属性は、EPUB
コンテンツ文書および メディアオーバーレイ文書で
ドメイン固有のセマンティクスを表現するために使用され、それが持つ構造情報は
基盤となる語彙を補完します。
epub:type
適用されたセマンティクスは、類似する
role
属性 [html] を使用した場合に起こるように、
支援技術に対して包含要素の性質を変えることなく、その意味を精密化します。
言い換えれば、この属性はコンテンツのアクセシビリティを向上させるものではなく、
目的に関するヒントを提供するだけです。
セマンティックメタデータは、出版ワークフローでの利用や作者定義の目的のためにコンテンツを豊かにします。 また、読書システムが文書の構造と内容について より多くを知ることも可能にします (例えば、メディアオーバーレイでスキップ可能性と脱出可能性を 有効にするため)。
この仕様は、属性軸を使用して構造セマンティクスを追加する方法を定義します。すなわち、
新しい要素を追加するのではなく、EPUB 作成者は、
既存の要素に epub:type
属性を付加して、望ましいセマンティクスを追加できます。
epub:type
http://www.idpf.org/2007/ops
XHTML、SVG、および メディアオーバーレイの要件を参照してください。
プロパティ値の空白区切りリストであり、 D.1 語彙関連付け機構で定義される制約に従います。
空白は、[xml] で 定義される文字の集合です。
epub:type 属性は、その性質において
role
属性 [html] と似ていますが、これらの属性は異なる目的を
果たします。epub:type 属性の値は、スクリーンリーダーのような支援技術を通じた
アクセスを向上させません。これらの値は、そうした技術で使用されるアクセシビリティ
API にマップされないためです。
これは、[html]
div
や
span
のようなセマンティクス上中立な要素に epub:type 値を追加しても、
支援技術に対してそれらがよりアクセシブルになるわけではないことを意味します。そのような要素を
支援技術がどのように理解するかに影響するのは、ARIA ロールのみです。
したがって、epub:type 属性は、出版セマンティクスおよび
読書システムの拡張のみを意図しています。
読書システムは、支援技術との相互作用が不可欠ではない場合に、組み込みの読み上げや
メディアオーバーレイ機能のようなアクセシビリティ拡張を提供するため、
epub:type 値を使用してもかまいません。
アクセシブルな出版ロールの詳細については、Digital Publishing WAI-ARIA Module [dpub-aria] を参照してください。
epub:type 属性は、それが現れる要素にセマンティクスを付与します。その値は、
文書インスタンスに関連付けられた外部語彙に由来する、1 つ以上の空白区切りの用語です。
epub:type 属性の既定の語彙は、
EPUB 3 Structural Semantics Vocabulary [epub-ssv-11] です。
EPUB 作成者は、この語彙の一部ではない接頭辞なしの用語を含めてもかまいません(MAY)が、カスタム
セマンティクスを追加するための推奨される方法は、それらに接頭辞を
使用することです。詳細については、
D.1 語彙関連付け
機構を参照してください。
この付録は、この仕様内の属性が語彙からの用語を参照できる一般的な機構の集合を定義します。 また、これらの属性とともに使用する EPUB 固有の語彙も定義します。
この節は非規範的です。
EPUB は、メタデータおよびセマンティック語彙で定義される用語とプロパティを、
property データ型を使用して参照する正式な方法を
定義します。例えば、
epub:type 属性は、EPUB コンテンツ文書および
メディアオーバーレイ文書内でこのデータ型を使用して
構造セマンティクスを追加し、一方で
property 属性と rel 属性は、このデータ型を使用して
パッケージ
文書内のプロパティと関係を定義します。
property 値は CURIE [rdfa-core] に似ており、 URL [url] を コンパクトな形式で表します。この式は接頭辞と参照から構成されます。接頭辞は、リテラルであれ 暗黙であれ、通常は用語語彙に解決される URL の短縮マッピングです。 読書システムが接頭辞を その URL 表現に変換し、参照と結合すると、結果として得られる URL は通常、その語彙内の フラグメントに解決され、その用語についての人間可読および/または機械可読な情報を含みます。
オーサリングの複雑さを軽減するため、property データ型を取る各属性は、 既定の語彙も定義します。既定の語彙から参照される用語と プロパティには接頭辞を含めません。読書システムが URL へマップするために使用するマッピングが 事前定義されているためです。
property データ型の力は、その容易な拡張性にあります。新しい用語やプロパティを 組み込むために、EPUB 作成者は 接頭辞を宣言するだけで済みます。別のオーサリング上の便宜として、 この仕様は、一般的に使用される多くの出版語彙について 接頭辞を予約しています(すなわち、それらの宣言は任意です)。
以下の節では、property データ型と語彙関連付け機構について、追加の詳細を提供します。
property データ型は、URL [url] を表す コンパクトな手段であり、コロンで参照から区切られた任意(OPTIONAL)の 接頭辞で構成されます。
| property |
=
|
[ prefix , ":" ] , reference; | |
| prefix |
=
|
? xsd:NCName ? ; | |
| reference |
=
|
? path-relative-scheme-less-URL 文字列 [url] ? ; | /* [url] で定義されるとおり */ |
この仕様は、property データ型を [rdfa-core] で定義される CURIE データ型から 派生させています。property は CURIE のサブセットを表します。
ただし、CURIE とは 2 つの重要な違いがあります。
空の reference は、上記の定義に対しては妥当であっても、妥当な property 値を表しません(すなわち、接頭辞とコロンだけで構成される property 値は妥当ではありません)。
空文字列は、上記の定義に対しては妥当であっても、妥当な property を 表しません。
EPUB 作成者が property 値から接頭辞を 省略した場合、表現された参照は、その属性の既定の語彙からの 用語を表します。
既定の語彙とは、EPUB 作成者が、 property 値が期待される場所でその用語と プロパティを使用するために、接頭辞を宣言する必要がない語彙です。 EPUB 作成者は、既定の語彙からの用語とプロパティに接頭辞を追加してはなりません(MUST NOT)。
EPUB 作成者は、
prefix 属性を使用して、これらの語彙に関連付けられた
URL に接頭辞を割り当ててはなりません(MUST NOT)。
既定の語彙に関する詳細については、 property データ型を取る各属性の定義を 参照してください。
prefix 属性は、property
値で使用する接頭辞マッピングを定義します。
prefix 属性の値は、次の形式の 1 つ以上の接頭辞から URL へのマッピングの
空白区切りリストです。
| prefixes |
=
|
mapping , { whitespace, { whitespace } , mapping } ; | |
| mapping |
=
|
prefix , ":" , space , { space } , ? xsd:anyURI ? ; | |
| prefix |
=
|
? xsd:NCName ? ; | |
| space |
=
|
#x20 ; | |
| whitespace |
=
|
(#x20 | #x9 | #xD | #xA) ; |
予約済み接頭辞を除き、
EPUB 作成者は、文書内で使用するすべての接頭辞を
宣言しなければなりません(MUST)。
EPUB 作成者は、それぞれの形式の
ルート要素
[xml] にのみ
prefix 属性を指定しなければなりません(MUST)。
この属性は、パッケージ 文書で使用される場合、名前空間付きではありません。
EPUB 作成者は、EPUB コンテンツ文書および
メディアオーバーレイ文書では、名前空間
http://www.idpf.org/2007/ops でこの属性を宣言しなければなりません(MUST)。
prefix 属性は、[rdfa-core] の
同名の prefix 属性をモデルにしていますが、EPUB 作成者はこれらの属性を
互換的に使用することはできません。EPUB コンテンツ文書における名前空間なしの
prefix 属性は RDFa 属性です。
RDFa 式も指定する EPUB コンテンツ文書では、両方の属性が出現することが一般的です。
<html … prefix="…"
xmlns:epub="http://www.idpf.org/2007/ops"
epub:prefix="…"> …
</html>
組み込みによって埋め込まれた SVGについては、接頭辞は
[html] ルート
html
要素で宣言されなければならないことに注意してください(MUST)。
衝突を避けるため、EPUB 作成者は prefix 属性を使用して
既定の語彙にマップされる接頭辞を宣言してはなりません(MUST NOT)。
EPUB 作成者は、接頭辞 '_' を宣言してはなりません(MUST NOT)。 この仕様は、RDFa [rdfa-core] 処理との将来の互換性のためにこの接頭辞を予約しているためです。
パッケージ文書の代替直列化との将来の互換性のため、EPUB 作成者は Dublin Core /elements/1.1/ 名前空間 [dcterms] のための接頭辞を宣言してはなりません(MUST NOT)。 EPUB 作成者は、 パッケージ文書メタデータで許可される [dcterms] 要素のみを使用しなければなりません(MUST)。
予約済み接頭辞はオーサリング上の便宜ではありますが、 EPUB 作成者は、それらに依存することを避けるべきです。相互運用性の問題を引き起こす可能性があるためです。 例えば、EPUB 適合性チェッカーは、 その開発者がツールを仕様の最新バージョンに更新するまで、新しい接頭辞を拒否することがよくあります。 EPUB 作成者は、そのような問題を避けるため、使用するすべての接頭辞を宣言すべきです。
EPUB 作成者は、property 値を
期待する属性で、prefix 属性で宣言することなく
予約済み接頭辞を使用してもかまいません(MAY)。
EPUB 作成者は、prefix 属性内で予約済み接頭辞を上書きすべきではありません(SHOULD NOT)。
EPUB 作成者が使用できる予約済み接頭辞は、文脈によって異なります。
EPUB 作成者は、宣言することなく、パッケージ文書属性で次の接頭辞を使用してもかまいません (MAY)。
| 接頭辞 | URL |
|---|---|
| a11y | http://www.idpf.org/epub/vocab/package/a11y/# |
| dcterms | http://purl.org/dc/terms/ |
| marc | http://id.loc.gov/vocabulary/ |
| media | http://www.idpf.org/epub/vocab/overlays/# |
| onix | http://www.editeur.org/ONIX/book/codelists/current.html# |
| rendition | http://www.idpf.org/vocab/rendition/# |
| schema | http://schema.org/ |
| xsd | http://www.w3.org/2001/XMLSchema# |
EPUB 作成者は、宣言することなく、epub:type
属性で次の予約済み接頭辞を
使用してもかまいません(MAY)。
| 接頭辞 | URL |
|---|---|
| msv | http://www.idpf.org/epub/vocab/structure/magazine/# |
| prism | http://www.prismstandard.org/specifications/3.0/PRISM_CV_Spec_3.0.htm# |
語彙定義表内のフィールドには、次の暗黙の要件があります。
[xmlschema-2] データ型を使用して、 値の必須(REQUIRED)の型を指定します。
EPUB 作成者が、どの出版リソース型にこのプロパティを指定してもかまわないか(MAY)を指定します。
このフィールドは、properties 属性で使用されるプロパティに出現します。
EPUB 作成者が、このプロパティを、グローバルに、または別の要素やプロパティに付加して、 指定してもかまわない(MAY)回数を指定します。
最小出現回数が 1 のプロパティは、指定されなければなりません(MUST)。
プロパティの目的を説明し、EPUB 作成者が従わなければならない追加の使用要件を指定します。
非規範的な使用例を提供します。
EPUB 作成者がこのプロパティを関連付けてもかまわない(MAY)対象を識別します。
メタデータ内に現れなければならない(MUST)プロパティ名を指定します。
この語彙のプロパティは、
要素の metaproperty 属性で使用できます。
その「Extends」フィールドで別途示されない限り、この節で定義されるプロパティは
副式を定義するために使用されます。言い換えれば、
この節で定義されるプロパティを持つ
要素は、拡張されるリソースまたは式を参照する
metarefines 属性を持たなければなりません(MUST)。
これらのプロパティを参照するための接頭辞 URL は
http://idpf.org/epub/vocab/package/meta/# です。
| 名前: |
alternate-script
|
|---|---|
| 説明: |
このプロパティは通常、国際化の目的で |
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or more
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
belongs-to-collection
|
|---|---|
| 説明: |
読書システムが
コレクションを整理し、命名の衝突を避けられるようにするため(例えば、
無関係なコレクションが似た名前を共有している場合や、コレクションの異なる版が
リリースされる場合)、EPUB
作成者は、コレクションのインスタンスを
一意に識別する識別子を提供すべきです(SHOULD)。 コレクションは、 コレクション内での EPUB 出版物の位置は、
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or more
|
| 拡張対象: | EPUB 出版物に適用され、自身の他のインスタンスを精密化できます。 |
| 名前: |
collection-type
|
|---|---|
| 説明: |
この仕様は、スキームが指定されない場合の次のコレクション型も定義します。
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or one
|
| 拡張対象: |
belongs-to-collection
|
| 名前: |
display-seq
|
|---|---|
| 説明: |
このプロパティは、優先順位規則がすでに定義されていない場合にのみ適用されます (例えば、作成者には文書順での出現に基づいて 優先順位が与えられます)。 |
| 許可される値: |
xsd:unsignedInt
|
| 出現回数: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
file-as
|
|---|---|
| 説明: | file-as プロパティは、並べ替えのために関連付けられたプロパティの
正規化された形式を提供します。 |
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
group-position
|
|---|---|
| 説明: |
EPUB 作成者は、そのグループを確立する任意の
メタデータプロパティに EPUB 出版物は、複数のグループに属することができます。 |
| 許可される値: | 単一の xsd:unsignedInt または小数点で区切られた数値列(例えば、
1 または 2.2.1)。
|
| 出現回数: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
identifier-type
|
|---|---|
| 説明: |
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or one
|
| 拡張対象: |
,
dc:source
|
このプロパティの使用は非推奨です。
詳細については、[epubpublications-30] の
meta-auth
プロパティ定義を参照してください。
| 名前: |
role
|
|---|---|
| 説明: |
個人または組織に複数の役割を付加する場合、その役割の重要度は、それらを含む
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or more
|
| 拡張対象: |
,
,
dc:publisher
|
| 名前: |
source-of
|
|---|---|
| 説明: |
この仕様は、参照される |
| 許可される値: |
pagination
|
| 出現回数: |
zero or one
|
| 拡張対象: |
dc:source
|
アクセシブルなページ ナビゲーションを提供する方法については、[epub-a11y-tech-11] を参照してください。
| 名前: |
term
|
|---|---|
| 説明: |
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or one
|
| 拡張対象: |
|
| 名前: |
title-type
|
|---|---|
| 説明: |
|
| 許可される値: |
xsd:string
|
| 出現回数: |
zero or one
|
| 拡張対象: |
|
この語彙のプロパティは、メタデータ
要素の linkrel 属性および properties 属性で使用できます。
これらのプロパティを参照するための接頭辞 URL は
http://idpf.org/epub/vocab/package/link/# です。
次の値は、link 要素の
rel 属性で使用して、
href 属性で参照されるリソースの関係を確立できます。
| 名前: |
alternate
|
|---|---|
| 説明: |
|
| 出現回数: |
0 個以上
|
| 拡張対象: | EPUB 出版物またはコレクションにのみ適用されます。
refines
属性が存在する場合は使用してはなりません(MUST
NOT)。
|
| 例: |
<link rel="alternate" href="package.json"
media-type="application/json-ld"/>
|
marc21xml-record キーワードの使用は非推奨です。
これは、record キーワードと、
media-type 属性値
"application/marcxml+xml" に置き換えられます。
詳細については、[epubpublications-30] の
marc21xml-record
プロパティ定義を参照してください。
mods-record キーワードの使用は非推奨です。これは、
record キーワードと、
media-type 属性値
"application/mods+xml" に置き換えられます。
詳細については、[epubpublications-30] の
mods-record
プロパティ定義を参照してください。
onix-record キーワードの使用は非推奨です。これは、
record キーワードと、
properties 属性値
onix に置き換えられます。
詳細については、[epubpublications-30] の
onix-record
プロパティ定義を参照してください。
| 名前: |
record
|
|---|---|
| 説明: |
参照されるリソースがメタデータレコードであることを示します。 このキーワードが指定される場合、レコードのメディアタイプは
一般的にリンクされるメタデータレコード型の一覧については、 EPUB Linked Metadata Guideを参照してください。 レコードの型をメディアタイプから識別できない場合、
識別子プロパティを
|
| 出現回数: |
0 個以上
|
| 拡張対象: | EPUB 出版物または
コレクションにのみ適用されます。refines 属性が存在する場合は
使用してはなりません(MUST NOT)。 |
| 例: |
<link rel="record" href="book/52.atom"
media-type="application/atom+xml;type=entry;profile=opds-catalog"/>
|
| 名前: |
voicing
|
|---|---|
| 説明: |
参照される音声ファイルが、refines 属性で指定された式またはリソース (通常はタイトルまたは作成者)の聴覚的表現を提供することを示します。 このキーワードが指定される場合、音声ファイルのメディアタイプは
|
| 出現回数: |
0 個以上
|
| 拡張対象: | すべてのプロパティ。この値が使用される場合、
refines 属性は
存在しなければなりません(MUST)。
|
| 例: |
<link refines="#title" rel="voicing" media-type="audio/mpeg"
href="title.mp3" />
|
xml-signature キーワードの使用は非推奨です。
これは別のリンク方法に置き換えられていません。
詳細については、[epubpublications-30] の
xml-signature
プロパティ定義を参照してください。
xmp-record キーワードの使用は非推奨です。
詳細については、[epubpublications-30] の
xmp-record
プロパティ定義を参照してください。
次の値は、メタデータ
要素の
linkproperties 属性で使用して、参照されるリソースが表すレコードの型を確立できます。
これらの値は、メディアタイプによって一意に識別できないレコード形式のために提供されます。
| 名前: |
onix
|
|---|---|
| 説明: | onix プロパティは、参照されるリソースが ONIX レコード
[onix] であることを示します。 |
| 例: |
<link rel="record" href="pub/meta/nor-wood-onix.xml"
media-type="application/xml" properties="onix"/>
|
これらのプロパティを参照するための接頭辞 URL は
http://www.idpf.org/vocab/rendition/# です。
"rendition:" 接頭辞は、パッケージレンダリングプロパティでの
使用のために予約されており、
パッケージ文書で宣言する必要はありません。
この付録の他の語彙とは異なり、Package Rendering Vocabulary のプロパティは、
要素で表現されるプロパティと、
meta
要素で表現される スパイン上書きの混合で構成されます。
itemref
使用要件も、この付録ではなく 8. レイアウトレンダリング制御で定義されています。 次の表は、プロパティ、上書き、およびそれらが定義される場所への対応を示します。
| プロパティ | 上書き | 定義箇所 |
|---|---|---|
rendition:layout |
|
8.2.2.1 レイアウト |
rendition:orientation |
|
8.2.2.2 向き |
rendition:spread |
|
8.2.2.3 合成見開き |
| — |
|
8.2.2.4 見開き配置 |
rendition:viewport(非推奨) |
— | 8.2.2.5 ビューポート寸法 (非推奨) |
rendition:flow |
|
8.3.1
rendition:flow プロパティ |
| — |
|
8.3.2
rendition:align-x-center プロパティ |
読書システム開発者は、 EPUB コンテンツ文書のレンダリングにおける 読書システム固有の問題に対処するため、この仕様で定義されていない機能を導入してもかまいません。
この実験を容易にするため、EPUB 作成者は、
rendition: 接頭辞を使用しないことを条件として、
パッケージ文書で使用する
カスタムプロパティおよび スパイン上書きを含めてもかまいません(MAY)。
カスタムプロパティは、特定の読書システムに固有のレンダリング問題のみに対処すべきです。 複数の独立した読書システムが使用できる拡張を提供するためには、 この仕様を拡張すべきです。
この語彙のプロパティは、マニフェスト
要素の itemproperties 属性で使用できます。
これらのプロパティを参照するための接頭辞 URL は
http://idpf.org/epub/vocab/package/item/# です。
| 名前: |
cover-image
|
|---|---|
| 説明: | cover-image プロパティは、記述される
出版
リソースを、
EPUB 出版物の
表紙画像として識別します。
|
| 適用対象: | すべてのラスター画像型およびベクター画像型 |
| 出現回数: |
ちょうど 0 または 1 つ
|
| 名前: |
mathml
|
|---|---|
| 説明: | mathml プロパティは、記述される
出版
リソースに、MathML マークアップの 1 つ以上のインスタンスが含まれることを示します。
|
| 適用対象: | EPUB コンテンツ 文書 |
| 出現回数: |
0 個以上
|
| 名前: |
remote-resources
|
|---|---|
| 説明: |
詳細については、3.6 リソースの場所を参照してください。 |
| 適用対象: | 内部参照機能を持つすべての出版リソース (例えば、XHTML コンテンツ 文書、SVG コンテンツ 文書、 CSS スタイルシート、および メディアオーバーレイ文書)。 |
| 出現回数: |
0 個以上
|
| 名前: |
scripted
|
|---|---|
| 説明: | scripted プロパティは、記述される
出版
リソースが
スクリプト付きコンテンツ
文書であることを示します(すなわち、スクリプトおよび/または
[html]
form
要素を含むこと)。
|
| 適用対象: | EPUB コンテンツ 文書 |
| 出現回数: |
0 個以上
|
| 名前: |
svg
|
|---|---|
| 説明: |
このプロパティは、SVG マークアップがリソースに直接含まれる場合に設定されなければならず
(MUST)、
SVG がリソースから参照される場合に設定してもかまいません(MAY)
(例えば、[html]
|
| 適用対象: | XHTML コンテンツ 文書。この値は SVG コンテンツ文書については暗黙的です。 |
| 出現回数: |
0 個以上
|
| 名前: |
switch
|
|---|---|
| 説明: |
|
| 適用対象: | XHTML コンテンツ 文書。 |
| 出現回数: |
0 個以上
|
この語彙のプロパティは、スパイン
要素の
itemrefproperties 属性で使用できます。
これらのプロパティを参照するための接頭辞 URL は
http://idpf.org/epub/vocab/package/itemref/# です。
| 名前: |
page-spread-left
|
|---|---|
| 説明: |
|
| 名前: |
page-spread-right
|
|---|---|
| 説明: |
|
この語彙のプロパティは、
要素の
metaproperty 属性で使用できます。
これらのプロパティを参照するための接頭辞 URL は
http://www.idpf.org/epub/vocab/overlays/# です。
接頭辞「media:」は、この語彙のプロパティでの
使用のために予約されており、
パッケージ文書で宣言する必要はありません。
| 名前: |
active-class
|
|---|---|
| 説明: | 現在再生中の EPUB コンテンツ文書 要素に適用する、EPUB 作成者定義の CSS クラス名。 |
| 許可される値: |
xsd:string
|
| 出現回数: |
0 または 1
|
| 例: |
<meta
property="media:active-class">-epub-media-overlay-active</meta>
|
| 名前: |
duration
|
|---|---|
| 説明: | プレゼンテーション全体、または特定の メディアオーバーレイ 文書の継続時間。 指定される継続時間は、オーサリング時に既知の音声クリップを考慮したものであり、 外部リソースからのライブストリーミングおよび音声合成は除外します。 |
| 許可される値: | |
| 出現回数: | EPUB 出版物について ちょうど 1 つ、および各 メディアオーバーレイ 文書についてちょうど 1 つ。 |
| 例: |
<meta property="media:duration">1:36:20</meta>
|
| 名前: |
narrator
|
|---|---|
| 説明: | ナレーターの名前。 |
| 許可される値: |
xsd:string
|
| 出現回数: |
0 個以上
|
| 例: |
<meta property="media:narrator">Joe Speaker</meta>
|
| 名前: |
playback-active-class
|
|---|---|
| 説明: | 再生がアクティブなときに、 EPUB コンテンツ 文書の 文書要素に適用する、作者定義の CSS クラス名。 |
| 許可される値: |
xsd:string
|
| 出現回数: |
0 または 1
|
| 例: |
<meta
property="media:playback-active-class">-epub-media-overlay-playing</meta>
|
この付録は、EPUB でサポートされる接頭辞付き CSS プロパティについて説明します。
接頭辞の定義は、もはや対応する CSS の定義と同期されていません。場合によっては、 これらのプロパティの接頭辞なしバージョンが、現在では追加の値をサポートしています。 読書システムは、 接頭辞付きプロパティで新しい構文をサポートしないことがあるため、 EPUB 作成者には、 新しい機能には接頭辞なしバージョンを使用することが推奨されます。
この節は、[css-writing-modes-3] の
-epub- 接頭辞付きプロパティについて説明します。
このプロパティは、
text-orientation
プロパティ [css-writing-modes-3] の
接頭辞付きバージョンです。
| 名前: | -epub-text-orientation |
|---|---|
| 値: | mixed | upright | sideways | sideways-right |
既存コンテンツとの互換性のため、-epub-text-orientation プロパティは、
非推奨の vertical-right、rotate-right、および
rotate-normal キーワードもサポートします。次の表は、それらが指定された場合の
効果を示します。
| 非推奨の値 | 使用される値 |
|---|---|
vertical-right |
mixed |
rotate-right |
sideways |
rotate-normal |
sideways |
このプロパティは、
writing-mode プロパティ
[css-writing-modes-3] の
接頭辞付きバージョンであり、同じ構文と動作を持ちます。
| 名前: | -epub-writing-mode |
|---|---|
| 値: | horizontal-tb | vertical-rl | vertical-lr |
これらのプロパティは、
text-combine-upright
プロパティ [css-writing-modes-3] の
接頭辞付きバージョンですが、
-epub-text-combine は
非推奨です。
| 名前: | -epub-text-combine-horizontal |
|---|---|
| 値: | none | all |
| 名前: | -epub-text-combine(非推奨) |
|---|---|
| 値: | none | horizontal | horizontal <number> |
既存コンテンツとの互換性のため、-epub-text-combine-horizontal および
-epub-text-combine プロパティは、いくつかの非推奨キーワードもサポートします。
次の表は、それらが指定された場合の効果を示します。
| 接頭辞付きバージョン | CSS での等価表現 |
|---|---|
-epub-text-combine-horizontal: none |
text-combine-upright: none |
-epub-text-combine-horizontal: all |
text-combine-upright: all |
-epub-text-combine: none |
text-combine-upright: none |
-epub-text-combine: horizontal |
text-combine-upright: all |
-epub-text-combine: horizontal <number> |
等価表現なし |
この節は、[css-text-3] の
-epub- 接頭辞付きプロパティ(および 1 つの接頭辞付き値)について説明します。
このプロパティは、
hyphens プロパティ [css-text-3] の接頭辞付きバージョンです。
| 名前: | -epub-hyphens |
|---|---|
| 値: | none | manual | auto | all |
既存コンテンツとの互換性のため、-epub-hyphens プロパティは
非推奨の all キーワードもサポートします。この値は CSS ではもはやサポートされておらず、
その代わりに使用できる等価表現はありません。
このプロパティは、
line-break プロパティ [css-text-3] の接頭辞付きバージョンです。
| 名前: | -epub-line-break |
|---|---|
| 値: | auto | loose | normal | strict |
このプロパティは、
text-align-last プロパティ
[css-text-3] の接頭辞付きバージョンです。
| 名前: | -epub-text-align-last |
|---|---|
| 値: | auto | start | end | left | right | center | justify |
このプロパティは、
word-break プロパティ [css-text-3] の接頭辞付きバージョンです。
| 名前: | -epub-word-break |
|---|---|
| 値: | normal | keep-all | break-all |
このプロパティは、
text-transform プロパティ
[css-text-3] の接頭辞付き値です。
| 名前: | text-transform |
|---|---|
| 値: | -epub-fullwidth |
既存コンテンツとの互換性のため、text-transform プロパティは
非推奨の -epub-fullwidth キーワードもサポートします。指定された場合、
これは text-transform: full-width と同じ効果を持ちます。
この節は、[css-text-decor-3] の
-epub- 接頭辞付きプロパティについて説明します。
このプロパティは、
text-emphasis-color
プロパティ [css-text-decor-3] の
接頭辞付きバージョンです。
| 名前: | -epub-text-emphasis-color |
|---|---|
| 値: | <color> |
このプロパティは、
text-emphasis-position
プロパティ [css-text-decor-3] の
接頭辞付きバージョンです。
| 名前: | -epub-text-emphasis-position |
|---|---|
| 値: | [ over | under ] && [ right | left ] |
このプロパティは、
text-emphasis-style
プロパティ [css-text-decor-3] の
接頭辞付きバージョンです。
| 名前: | -epub-text-emphasis-style |
|---|---|
| 値: | none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string> |
このプロパティは、
text-underline-position
プロパティ [css-text-decor-3] の
接頭辞付きバージョンです。
| 名前: | -epub-text-underline-position |
|---|---|
| 値: | auto | [ under || [ left | right ] ] | alphabetic |
既存コンテンツとの互換性のため、-epub-text-underline-position
プロパティの値は、非推奨の alphabetic キーワードもサポートします。指定された場合、
これは text-underline-position: auto と同じ効果を持ちます。
この節は非規範的です。
以前の EPUB 3 のバージョンで使用されていた、viewport meta タグの
Safari
HTML 定義は公式に認められた標準ではないため、この仕様は、
EPUB 作成者が
幅および高さの寸法を表現し、
固定レイアウト文書のレンダリングで使用できるようにするため、
基本構文を定義します。
この文法の構文は、[css-viewport-1] で定義される
viewport
meta タグの解析アルゴリズムにも影響を受けています。
この仕様の範囲には、考えられるすべてのプロパティおよび値を定義することは含まれないため、 構文は意図的に可能な限り汎用的なままにされています。これは、プロパティと値のペアを 定義するための基本要件、および式の間で可能な区切りのみを定義します。
固定レイアウト文書については、viewport
meta タグ [html] は、次の定義に
適合する name 属性および content 属性を持たなければなりません(MUST)。
name
属性 [html] の値は、viewport でなければなりません
(MUST)。
空白
正規化 [xml] 後の
content
属性 [html] の値は、次の形式でなければなりません(MUST)。
| viewport | = | property, { sep, property } ; |
| property | = | name, [ assign, value ] ; |
| name | = | ? character data ? ; |
| value | = | ? character data ? ; |
| sep | = | sep-char, { sep-char } ; |
| sep-char | = | ( ";" | "," | space ) ; |
| assign | = | [ space ], "=", [ space ] ; |
| space | = | #x20 ; |
プロパティの名前および値に対する唯一の制限は、それらが 区切り文字または 代入文字を含んではならない(MUST NOT) ことです。
この節のオーサリング要件は、 空白正規化 [xml] の 後に適用されます(すなわち、読書システムが先頭および末尾の空白を除去し、 属性内の複数の空白のすべてのインスタンスを単一の空白に圧縮した後)。 EPUB 作成者は、その結果がこの定義に対して妥当である限り、作成されたタグ内に任意の 空白 文字 [xml] を含めてもかまいません (MAY)。
[html]
文法によって
meta 要素で許可されるその他の属性には
制限はありません。
必須の height および width
プロパティ、ならびにそれらの必須値の指定に関する詳細については、
8.2.2.6
コンテンツ文書の寸法を参照してください。
viewport meta タグは、EPUB 作成者が
height および width 以外のプロパティを使用すること、
およびこれらのプロパティに値を含めないことを許可しますが、
そのような使用は強く推奨されません。他のプロパティを設定すると、
固定レイアウト文書のレンダリングに意図しない結果をもたらす可能性があります。
この節は非規範的です。
パッケージ文書のスキーマは、https://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/package-30.nvdl で利用できます。
このスキーマを使用した検証には、[nvdl]、 [relaxng-schema]、 [isoschematron] および [xmlschema-2] を サポートするプロセッサが必要です。
NVDL スキーマ層は、埋め込まれた RELAX NG および ISO Schematron スキーマのみを使用する 複数パス検証で置き換えることができます。
これらのスキーマは、この仕様の正式な改訂の外で更新および修正される場合があります。 その結果、それらはいつでも変更される可能性があります。
container.xml ファイルのスキーマは、
https://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/ocf-container-30.nvdl
で利用できます。
このスキーマを使用した検証には、[relaxng-schema] および [xmlschema-2] を サポートするプロセッサが必要です。
encryption.xml
ファイルのスキーマは、[xmlsec-rngschema-20130411] に含まれています。
signatures.xml
ファイルのスキーマは、[xmlsec-rngschema-20130411] に含まれています。
メディアオーバーレイ文書のスキーマは、https://github.com/w3c/epubcheck/tree/main/src/master/resources/com/adobe/epubcheck/schema/30/media-overlay-30.nvdl で利用できます。
このスキーマを使用した検証には、[nvdl]、 [relaxng-schema]、 [isoschematron] および [xmlschema-2] を サポートするプロセッサが必要です。
NVDL スキーマ層は、埋め込まれた RELAX NG および ISO Schematron スキーマのみを使用する 複数パス検証で置き換えることができます。
この節は非規範的です。
パッケージ文書および XHTML コンテンツ文書の次の抜粋を考えます。
<package …>
<metadata …>
…
<link rel="record"
href="meta/data.xml"
media-type="application/marc"/>
<link rel="record"
href="https://www.example.org/meta/data2.xml"
media-type="application/marc"/>
…
</metadata>
<manifest>
…
<item id="page"
href="page.xhtml"
media-type="application/xhtml+xml"/>
<item id="nav"
href="nav.xhtml"
media-type="application/xhtml+xml"
properties="nav"/>
<item id="style"
href="style.css"
media-type="text/css"/>
<item id="font_otf"
href="fonts/font-file.otf"
media-type="font/otf"/>
<item id="font_otf_remote"
href="https://www.example.org/fonts/font-file2.otf"
media-type="font/otf"/>
<item id="font_cff"
href="fonts/font-file.cff"
media-type="font/sfnt"/>
<item id="pls"
href="speech/cmn.pls"
media-type="application/pls+xml"/>
<item id="image_1"
href="media/image_1.png"
media-type="image/png"/>
<item id="image_2"
href="media/image_2.png"
media-type="image/png"
fallback="image_desc"/>
<item id="image_desc"
href="image_desc.xhtml"
media-type="application/xhtml+xml"/>
<item id="image_3_heic"
href="media/image_3.heic"
media-type="image/heic"/>
<item id="image_3_png"
href="media/image_3.png"
media-type="image/png"/>
<item id="widget"
href="widget.xhtml"
media-type="application/xhtml+xml"/>
…
</manifest>
<spine>
…
<itemref idref="page_001"/>
<itemref idref="image_2"/>
…
</spine>
</package>
<html …>
<head …>
…
<link rel="stylesheet" type="text/css" href="style.css"/>
<link rel="pronunciation" type="application/pls+xml" href="speech/cmn.pls"/>
…
</head>
<body>
<img src="media/image1_png"/>
…
<a href="media/image_2.png">…</a>
…
<picture>
<source srcset="media/image_3.heic" type="image/heic"/>
<img src="media/image_3.png"/>
</picture>
…
<iframe src="widget.xhtml"></iframe>
…
<a href="https://www.example.org/some_content">…</a>
</body>
</html>
EPUB 出版物内の各種リソースは、 次のように分類できます。(これらのカテゴリに関する詳細については、3. 出版リソースを参照してください。)
meta/data.xmlこのリソースはメタデータレコードであり、EPUB
コンテナー内に格納されています。これは、パッケージ文書メタデータ内の
要素を介してリンクされています。したがって、これは
マニフェストプレーン上の
リンクされた
リソースです(すなわち、マニフェストには列挙されません)。
他のどのプレーンにも含まれません。
link
https://www.example.org/meta/data2.xmlこのリソースはメタデータレコードであり、リモートに格納されています。これは、
パッケージ文書メタデータ内の
要素を介してリンクされています。したがって、これはマニフェストプレーン上のリンクされたリソースです
(すなわち、マニフェストには列挙されません)。他のどのプレーンにも含まれません。
link
page.xhtmlこのリソースは XHTML 文書です。これは [[EPUB spine | spine=] に列挙されています。 これはマニフェストプレーン上の 出版リソースであり、 コンテナーリソースであり、 スパインプレーン上の EPUB コンテンツ文書であり、 コンテンツプレーン上には存在しません。フォールバックは 必要ありません。
nav.xhtmlこのリソースは EPUB ナビゲーション 文書です。これはスパインには列挙されていません。これはマニフェストプレーン上の 出版リソースであり、コンテナーリソースであり、スパインプレーンおよびコンテンツプレーンの いずれにも存在しません。フォールバックは必要ありません。
style.cssこのリソースは CSS ファイルです。これはスパインには列挙されていませんが、
[html]
link 要素から参照されます。
これはマニフェストプレーン上の出版リソースであり、コンテナーリソースであり、
スパインプレーン上には存在せず、コンテンツプレーン上の
コアメディアタイプ
リソースです。フォールバックは必要ありません。
font/font-file.otfこのリソースは TrueType フォントファイルです。これはスパインには列挙されていませんが、 CSS ファイルから参照されます。これはマニフェストプレーン上の出版リソースであり、 コンテナーリソースであり、スパインプレーン上には存在せず、コンテンツプレーン上の コアメディアタイプリソースです。フォールバックは必要ありません。
https://www.example.org/fonts/font-file2.otfこのリソースは TrueType フォントファイルです。これはスパインには列挙されていませんが、 CSS ファイルから参照されます。これはマニフェストプレーン上の出版リソースであり、 リモートリソースであり、 スパインプレーン上には存在せず、コンテンツプレーン上のコアメディアタイプリソースです。 フォールバックは必要ありません。
font/font-file.cffこのリソースは Compact Font Format のフォントファイルです。これはスパインには 列挙されていませんが、CSS ファイルから参照されます。そのメディアタイプは コアメディアタイプとして列挙されていません。 これはマニフェストプレーン上の出版リソースであり、コンテナーリソースであり、 スパインプレーン上には存在せず、コンテンツプレーン上の 免除リソースです。フォールバックは 必要ありません。
speech/cmn.plsこのリソースは Pronunciation Lexicon ファイルです。これはスパインには列挙されていませんが、
[html] link 要素から参照されます。これは
マニフェストプレーン上の出版リソースであり、コンテナーリソースであり、スパインプレーン上には
存在せず、コンテンツプレーン上の免除リソースです。フォールバックは必要ありません。
image/image_1.pngこのリソースは PNG 画像ファイルです。これはスパインには列挙されていませんが、
[html]
img
要素から参照されます。これはマニフェストプレーン上の出版リソースであり、コンテナー
リソースであり、スパインプレーン上には存在せず、コンテンツプレーン上の
コアメディアタイプリソースです。フォールバックは必要ありません。
image/image_2.pngこのリソースは PNG 画像ファイルです。これは [html]
a
要素を介して参照されます。ハイパーリンクから参照されるため、これはスパインに
列挙されなければなりません(must)。これはマニフェストプレーン上の出版
リソースであり、コンテナーリソースであり、スパインプレーン上の
外部コンテンツ文書であり、
コンテンツプレーン上のコアメディアタイプリソースです。外部コンテンツ文書として、
フォールバックが必要であり、それはマニフェストフォールバックを介して提供されます。
image_desc.xhtmlこのリソースは XHTML 文書です。これはマニフェストフォールバックの「ターゲット」であるため、 スパインには明示的に列挙されません(ただし、必要に応じて既存のスパイン項目を 「置き換え」ます)。これはマニフェストプレーン上の出版リソースであり、 コンテナーリソースであり、スパインプレーン上の EPUB コンテンツ文書であり、別の EPUB コンテンツ文書をレンダリングするときに「使用」されないため、コンテンツプレーン上には 存在しません。フォールバックは必要ありません。
image/image_3.heicこのリソースは High Efficiency(HEIC)画像ファイルです。これはスパインには
列挙されていませんが、[html]
source
要素から参照されます。そのメディアタイプはコアメディアタイプ
として列挙されていません。これはマニフェストプレーン上の出版リソースであり、
コンテナーリソースであり、スパインプレーン上には存在せず、コンテンツプレーン上の
外部リソースです。外部リソースとして、フォールバックが必要であり、それは
[html]
picture
要素内の兄弟 [html]
img
要素を介して提供されます。
image/image_3.pngこのリソースは PNG 画像ファイルです。これはスパインには列挙されていませんが、
[html]
img
要素から参照され、その要素は [html]
picture
要素の内在的フォールバックとして使用されます。これはマニフェストプレーン上の出版リソースであり、
コンテナーリソースであり、スパインプレーン上には存在せず、コンテンツプレーン上の
コアメディアタイプリソースです。フォールバックは必要ありません。
widget.xhtmlこのリソースは XHTML 文書です。これはスパインには列挙されていませんが、
[html]
iframe
要素から参照されます。これはマニフェストプレーン上の出版リソースであり、コンテナー
リソースであり、スパインプレーン上には存在せず、別の EPUB コンテンツ文書を
レンダリングするときに「使用」されるため、コンテンツプレーン上の
コアメディアタイプリソースです。フォールバックは必要ありません。
https://www.example.org/some_contentこのリソースは [html]
a
要素を介して参照され、EPUB
コンテナー内には格納されていません。読書システムは通常、このリンクを別個のブラウザーインスタンスで
開きます。これは、この仕様で定義されるいずれのプレーン上にもありません。
異なる種類のリソースの使用に関する追加の例は、5.6.2.2 例にあります。
次の例のパッケージ文書を考えます。
<package …>
…
<manifest>
…
<item id="chap01"
href="scripted01.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="inset01"
href="scripted02.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="slideshowjs"
href="slideshow.js"
media-type="text/javascript"/>
</manifest>
<spine …>
<itemref idref="chap01"/>
…
</spine>
…
</package>
および次のファイル scripted01.xhtml を考えます。
<html …>
<head>
…
<script type="text/javascript">
const te = navigator.epubReadingSystem.hasFeature("touch-events");
const te_message = te ? "passes" : "does not pass";
alert(`The reading system ${te_message} touch events to the content.`);
</script>
</head>
<body>
…
<iframe src="scripted02.xhtml" … />
…
</body>
</html>
および次のファイル scripted02.xhtml を考えます。
<html …>
<head>
…
<script type="text/javascript" href="slideshow.js"></script>
</head>
<body>
…
</body>
</html>
これらの例から、次のことが成り立ちます。
scripted01.xhtml 内の head にある
script 要素内のコードは、文書がスパインから参照されているため、
スパインレベルスクリプトです。
scripted02.xhtml 内の script 要素内のコードは、
それが現れる XHTML 文書が iframe 要素を介して
scripted01.xhtml に含まれているため、
コンテナー制約付きスクリプトです。
この例は、OCF 形式を使用して、署名および暗号化された EPUB 出版物を OCF ZIP コンテナー内に含める方法を示します。
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 SHA-1 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 used to validate the signature
-->
<KeyInfo>
<KeyValue>
<DSAKeyValue>
<P>…</P>
<Q>…</Q>
<G>…</G>
<Y>…</Y>
</DSAKeyValue>
</KeyValue>
</KeyInfo>
<!--
The list of resources to sign (note that the canonical
form of XML documents is signed, while the binary form
of all other resources 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
data enumerated in EncryptedData blocks below
-->
<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 resource
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.0"
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>
次は許可されるクロック値の例です。
5:34:31.396 = 5 時間、34 分、31 秒、396 ミリ秒
124:59:36 = 124 時間、59 分、36 秒
0:05:01.2 = 5 分、1 秒、200 ミリ秒
0:00:04 = 4 秒
09:58 = 9 分 58 秒
00:56.78 = 56 秒 780 ミリ秒
76.2s = 76.2 秒 = 76 秒 200 ミリ秒
7.75h = 7.75 時間 = 7 時間 45 分
13min = 13 分
2345ms = 2345 ミリ秒
12.345 = 12 秒 345 ミリ秒
この付録は、EPUB パッケージ文書のためのメディアタイプ
application/oebps-package+xml を登録します。この登録は RFC4839 に取って代わります(https://www.rfc-editor.org/rfc/rfc4839 を参照)。
パッケージ文書は、EPUB 出版物を記述する XML ファイルです。これは EPUB 出版物内のリソースを 識別し、メタデータ情報を提供します。パッケージ文書およびそれに関連する仕様は、 World Wide Web Consortium(W3C)によって維持され、定義されています。
application
oebps-package+xml
なし。
なし。
UTF-8 の場合は 8bit、UTF-16 の場合は binary。
パッケージ文書は XML であり、UTF-8 または UTF-16 のいずれかで表現されます。 パッケージ文書が UTF-8 で書かれている場合、そのファイルは 8bit 互換です。 UTF-16 で書かれている場合は、binary content-transfer-encoding を使用しなければなりません。 詳細については、[rfc7303] を参照してください。
パッケージ文書は、XML 1.0 仕様に適合する整形式 XML を含みます。
例えば不正な形式のデータを含む悪意あるファイルを作成することは、明らかに可能です。 ほとんどの XML パーサーは、適合性を厳格に強制することにより、そのような攻撃から自身を保護します。
パッケージ文書を読み取るすべてのプロセッサは、取得したデータのサイズと妥当性を厳格に チェックすべきです。
EPUB 3 仕様には、パッケージ文書形式内での暗号化、署名、または認証に関する現在の規定はありません。
なし。
このメディアタイプ登録は、https://www.w3.org/TR/epub-33/ にある EPUB 3 仕様で説明される EPUB パッケージ文書のためのものです。
EPUB 3 仕様は、https://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm
にある Open Packaging Format 2.0.1 仕様に取って代わります。同仕様も
application/oepbs-package+xml メディアタイプを使用しています。
このメディアタイプは、EPUB 形式の電子書籍の配布に広く使用されています。
なし
.opf
TEXT
EPUB Canonical Fragment Identifiers は、EPUB 出版物のために定義された カスタムフラグメント識別子です。出版物のために定義された任意の 出版リソース内の任意のコンテンツを 参照するために使用できます。これらの識別子は https://idpf.org/epub/linking/cfi/ で定義されています。
EPUB 3 Working Group (public-epub-wg@w3.org)
COMMON
World Wide Web Consortium (W3C)
この付録は、EPUB Open Container
Format(OCF)のためのメディアタイプ application/epub+zip を登録します。
OCF ZIP コンテナー、または EPUB コンテナーのファイルは、zip アーカイブ形式に基づく コンテナー技術です(https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT を参照)。 これは EPUB 出版物をカプセル化するために使用されます。OCF およびそれに関連する標準は、 World Wide Web Consortium(W3C)によって維持され、定義されています。
application
epub+zip
なし。
なし。
OCF ZIP コンテナーファイルは、
application/zip メディアタイプでエンコードされたバイナリファイルです。
OCF ZIP コンテナーファイルを読み取るすべてのプロセッサは、取得したデータのサイズと 妥当性を厳格にチェックすべきです。
さらに、OCF ZIP コンテナーファイルにはさまざまなコンテンツ型を埋め込むことができるため、
application/epub+zip は、ここで述べたものを超えるセキュリティ上の
含意を持つコンテンツを記述する場合があります。ただし、プロセッサが追加コンテンツを認識して
処理する場合、またはそのコンテンツのさらなる処理を他のプロセッサに委任する場合に限り、
セキュリティ上の問題が発生する可能性があります。そのような場合、セキュリティに関する事項は
この登録文書の範囲外となります。
application/zip に適用されるセキュリティ上の考慮事項は、OCF ZIP
コンテナーファイルにも適用されます。
なし。
このメディアタイプ登録は、https://www.w3.org/TR/epub-33/
にある EPUB 3 仕様で説明される EPUB Open Container Format(OCF)のためのものです。
EPUB 3 仕様は、RFC 4839 と、
https://idpf.org/epub/20/spec/OCF_2.0.1_draft.doc
にある Open Container
Format 2.0.1 仕様の両方に取って代わります。同仕様も
application/epub+zip メディアタイプを使用しています。
このメディアタイプは、EPUB 形式の電子書籍の配布に広く使用されています。
0: PK 0x03 0x04, 30: mimetype, 38:
application/epub+zip
OCF ZIP コンテナーファイルは、ほとんどの場合
.epub 拡張子で識別されます。
ZIP
EPUB Canonical Fragment Identifiers は、EPUB 出版物のために定義された カスタムフラグメント識別子です。出版物のために定義された任意の 出版リソース内の任意のコンテンツを 参照するために使用できます。これらの識別子は https://idpf.org/epub/linking/cfi/ で定義されています。
EPUB 3 Working Group (public-epub-wg@w3.org)
COMMON
World Wide Web Consortium (W3C)
audio
§9.2.2.8
body
§9.2.2.4
collection
§5.8.1
Compression
§4.2.6.3.2.2
container
§4.2.6.3.1.1
dc:contributor
§5.5.3.2.2
dc:creator
§5.5.3.2.3
dc:date
§5.5.3.2.4
dc:identifier
§5.5.3.1.1
dc:language
§5.5.3.1.3
dc:subject
§5.5.3.2.5
dc:title
§5.5.3.1.2
dc:type
§5.5.3.2.6
EncryptedData
§4.2.6.3.2.1
EncryptedKey
§4.2.6.3.2.1
encryption
§4.2.6.3.2.1
epub:type
§C.2
head
§9.2.2.2
item
§5.6.2
itemref
§5.7.2
link
§5.5.6
links
§4.2.6.3.1.4
manifest
§5.6.1
meta
§5.5.4
metadata
§5.5.1
package
§5.4
par
§9.2.2.6
rootfile
§4.2.6.3.1.3
rootfiles
§4.2.6.3.1.2
seq
§9.2.2.5
signatures
§4.2.6.3.6.1
smil
§9.2.2.1
spine
§5.7.1
text
§9.2.2.7
a
要素
area
要素
base
要素
bdo
要素
canvas
要素
content 属性(meta
要素用)
dir 属性(html-global
要素用)
div
要素
embed
要素
form
要素
href 属性(a 要素用)
html
要素
iframe
要素
img
要素
li
要素
name 属性(meta
要素用)
object
型
ol
要素
picture
要素
role
属性
rp
要素
script
要素
source
要素
span
要素
src 属性(source
要素用)
src 属性(img 要素用)
srcset 属性(source
要素用)
srcset 属性(img
要素用)
track
要素
type 属性(source
要素用)
video
要素
list 用)
svg
要素
title
要素
この節は非規範的です。
この変更履歴は、EPUB 3.2 以降の実質的な変更、すなわち EPUB 出版物の適合性に影響を与える可能性がある変更のみを 識別していることに注意してください。
対応されたすべての課題の一覧については、Working Group の issue tracker を参照してください。
viewport meta タグで許可される空白の定義を、XML 標準で
許可される文字を参照するように修正しました。issue 2637
を参照してください。epub:type が許可される場所を、レンダリング可能な
要素の定義を使用するように更新しました。issue
2556 を参照してください。epub:type 属性が許可される場所に関する制限を、すべての SVG 定義に適用されるように
移動しました。
issue 2555 を参照してください。
name を
hasFeature に置き換えました。issue
2543 を参照してください。
dir 属性を
under-implemented としてマークしました。pull request
2515 を参照してください。viewport meta タグ内になければならないことを明確化しました。pull
request 2503 を参照してください。
acquire および xmp プロパティを削除しました。issue 2489 を参照してください。
epub:type 属性は
head 要素およびメタデータコンテンツでは許可されないことを明確化しました。issue 2486 を参照してください。
viewport meta タグ定義で、値のないプロパティを許可しました。
pull request 2457 を参照してください。
viewport meta の高さと幅を複数回宣言してはならないという
追加要件を加えました。issue
2442 を参照してください。epub:type 属性の使用定義における軽微な矛盾を削除しました。
issue 2434 を参照してください。
href 属性は、他のパッケージ文書要素を参照するため
(すなわち、マニフェストまたはスパイン項目を介して間接的にリソースを参照するため)に使用してはならないことを
明確化しました。issue
2420 を参照してください。text 要素定義に、埋め込み時限メディアの使用に関する
注記を追加しました。issue
2397 を参照してください。epub:type を使用できる要素に関する制限を明示しました。issue 2377 を参照してください。meta
要素を正式に定義しました。issue 2292 を参照してください。 title 要素内のマークアップは HTML 要素に制限されることを
明確化しました。issue 2355 を参照してください。authority プロパティの値に関する制限を削除し、古い
IDPF
レジストリを参照する注記を追加しました。issue 2200
を参照してください。
collection-type 値を認識することを推奨する記述を削除し、関連
コンテンツの処理改善を可能にすることに関する注記に置き換えました。issue
2071 を参照してください。
epub:type の使用に関する
古い要件を削除しました。issue
2070 を参照してください。audio
要素の定義を任意にすることで明確化し、要素が実際に存在しない場合に対応するため、
仕様内の他の箇所のテキストを調整しました。
issue 1986 を参照してください。
page-spread-center プロパティは
spread-none の別名になりました。issue
1929 を参照してください。
page-spread-center の使用を非推奨にしました。これは現在
spread-none の別名です。issue
1929 を参照してください。
base 要素を追加しました。
issue 1699 を参照してください。
file スキームを持つ絶対 URL は、マニフェスト項目で使用すべきでは
ありません。issue 1688 を参照してください。link 要素を使用できることを明確化するテキストを追加しました。issue 1666 を参照してください。
application/ecmascript を
追加しました。issue 1353 を参照してください。link 要素から参照されるリソースが、コアメディアタイプの
フォールバックを持つ要件を削除しました。issue
1312 を参照してください。direction 属性への参照を追加しました。issue
1614 を参照してください。requiredExtensions 属性に関する要件を削除しました。issue 1087 を参照してください。dc:creator および dc:contributor 要素が
複数の役割を持つことを許可し、publisher の役割を許可しました。issue 1129 および issue 1583 を参照してください。container.xml、
encryption.xml および
signatures.xml ファイルの要素および属性定義を追加しました。すべてのスキーマは
非規範的とみなされます。issue 1566 を参照してください。
META-INF ディレクトリ内に配置されてはならないことを要求しました。issue
1205 を参照してください。
refines 属性が出版リソースを参照するためにフラグメント識別子を
使用することを推奨する事項を追加しました。issue 1361
を参照してください。par および
seq の順序が既定の読書順序と一致する要件を、指針に変更しました。issue 1458 を参照してください。
epub:type
属性のない nav 要素は、EPUB ナビゲーション文書のコンテンツモデル制限の対象では
ないことを明確化しました。issue 976 を参照してください。dc:language 要素の値は整形式の言語タグでなければならないことを
明確化しました。issue 1325 を参照してください。dir 属性に auto 値を追加し、この属性の
優先順位を明確化しました。issue
1491 および issue 1494 を参照してください。
link 要素に
hreflang 属性を追加しました。issue
1488 を参照してください。
epub:type 属性は出版物のアクセシビリティを改善しないことを
明確化しました。アクセシビリティのために role 属性および
DPUB-ARIA 語彙へのポインターを追加しました。toc nav の順序が、スパイン内の EPUB コンテンツ文書の順序、
および各ファイル内の要素と一致する要件を、推奨事項に緩和しました。issue
1283 を参照してください。script 要素は
スクリプティングのインスタンスではないことを明確化しました。issue
1352 を参照してください。この節は非規範的です。
仕様は、芸術と同じく、人間による創造物です。EPUB のために Garth Conboy ほど多くを成し遂げた人はいません。 彼は 1999 年の最初の OEB 1.0 から今日の EPUB 3.3 まで、あらゆる段階に関わってきました。 Garth の構想力、知識、そして並外れて温厚な人柄がなければ、このいずれも実現しなかったでしょう。 私たちは EPUB 3.3 を彼の思い出に捧げます。 Garth、私たちは永遠にあなたに恩義があります。
次の EPUB 3 Working Group のメンバーが、この仕様の開発に貢献しました。
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: