EPUB 3.3

W3C 勧告

この文書についての詳細
このバージョン:
https://www.w3.org/TR/2026/REC-epub-33-20260113/
最新公開版:
https://www.w3.org/TR/epub-33/
最新の編集者草案:
https://w3c.github.io/epub-specs/epub33/core/
履歴:
https://www.w3.org/standards/history/epub-33/
コミット履歴
テストスイート:
https://w3c.github.io/epub-tests/index.html
実装報告書:
https://w3c.github.io/epub-specs/epub33/reports/
編集者:
Matt Garrish (DAISY Consortium)
Ivan Herman (W3C)
元編集者:
Dave Cramer (W3C 招待専門家)
フィードバック:
GitHub w3c/epub-specs (プルリクエスト, 新しい課題, 未解決の課題)
public-pm-wg@w3.org へ、件名行を [epub-33] … メッセージのトピック … として送信してください(アーカイブ
正誤表:
https://w3c.github.io/epub-specs/epub33/errata.html

関連情報として 翻訳も参照してください。


概要

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 プロセス文書に準拠します。

1. はじめに

1.1 概要

この節は非規範的です。

EPUB 3 は、デジタル書籍(電子書籍)の形式として広く採用されており、この改訂では、 複雑なレイアウト、リッチメディアとインタラクティビティ、およびグローバルな組版機能を含む、 より広範な出版要件をよりよくサポートするために、この形式の機能を引き続き拡張します。 出版者は、書籍、雑誌、教育・専門・科学出版物を含む幅広いコンテンツに EPUB 3 形式を利用することが期待されます。

この仕様は EPUB 3 の中核を表し、標準の成果物である EPUB 出版物の適合要件を含みます。EPUB 3 を構成する その他の仕様は次のとおりです。

これらの仕様は、EPUB 3 に属すると認識され、標準の一部として規範的に参照される機能を含む 正式な一覧を表します。拡張仕様の開発により、EPUB 出版物には定期的に新機能が追加されます。 標準の中核改訂の外で定義される機能や機能性は、この仕様では正式に認識されていないものの、 EPUB 作成者および 読書システム開発者が使用できます。

非規範的な EPUB 3 Overview [epub-overview-33] は、 EPUB 3 の一般的な入門を提供します。前のバージョンからの技術的変更の一覧も 変更履歴で利用できます。

1.2 構成

この節は非規範的です。

この節では、この仕様が定義する中心的な成果物である 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 作成者がその文書を読む必要はありませんが、 読書システムがコンテンツをどのように提示するかを理解することは、ユーザーへの最適な提示のために 出版物を作り込むのに役立ちます。

1.3 他の 仕様との関係

この節は非規範的です。

注意

EPUB 3 が基盤とする技術は絶えず進化しています。通常「living」または「evergreen」 標準と呼ばれる一部の技術は日々変更される可能性があり、EPUB 出版物の妥当性への影響は 即時に生じます。その他の技術は更新頻度が低く、EPUB 3 が新しい改訂を受けるまで、 その変更が EPUB 出版物に影響しない場合があります。

いずれの場合も、以前は妥当だった機能が(例えば、サポート不足やセキュリティ問題のために) 廃止される可能性があります。したがって、EPUB 作成者は、 広範なサポートのない機能を使用する際には注意し、EPUB 適合性チェッカーを最新の状態に保つべきです。

1.3.1 HTML との関係

[html] 標準は継続的に進化しており、もはや バージョン付きリリースはありません。 その標準はさらに、MathML、SVG、CSS、JavaScript など、進化を続けるさまざまな技術を 参照しています。

EPUB にとってこのアプローチの利点は、EPUB 出版物が新しい改訂を必要とせずに、Web の変更に常に追随できることです。 しかし、EPUB 作成者は、 自分たちのプロセスを最新に保つため、HTML およびそれが参照する技術の さまざまな変更を把握しておく必要があります。

この仕様で定義される XHTML プロファイルは、別段の指定がない限り、 セマンティクス、構造、および処理動作のすべての定義を HTML から継承します。

さらに、この仕様は、一連の拡張を定義しており、 EPUB 作成者はそれらを [html] 文書モデルに追加して、XHTML コンテンツ文書に含めることができます。

1.3.2 SVG との関係

この仕様は [svg] の特定のバージョンを 参照せず、代わりに日付なしの 参照を使用します。この参照に曖昧さがある場合は常に、最新の勧告仕様が 権威ある参照となります。

このアプローチにより、EPUB は SVG 標準への変更に常に追随できます。ただし、 EPUB 作成者は、自分たちのプロセスを最新に保つために SVG 標準への変更を把握しておく必要があります。

1.3.3 CSS との関係

EPUB 3 は、CSS Working Group Snapshot [csssnapshot] で定義される CSS をサポートします。EPUB 3 はまた、 グローバル言語に対する一貫したサポートを確保するために、いくつかの接頭辞付き CSS プロパティを 維持しています。

1.3.4 MathML との関係

EPUB 3 は Presentation Markup [mathml3] のみをサポートします。 Content Markup は、構造化 マークアップ注釈内でのみ許可されます。

1.3.5 SMIL との関係

この仕様は [smil3] のサブセットに依存しており、 9.2.2 メディアオーバーレイ文書の定義で定義されるメディアオーバーレイの要素および 属性はそこから派生しています。

1.3.6 URL との関係

この仕様は、EPUB 出版物で表現される URL に関連する用語および処理について、 [url] 標準を参照します。新しい Web 形式や改訂された Web 形式は この標準を採用すると予想されますが、それまでは、この仕様が一部の形式の 内部要件(例えば、妥当な相対パス)と衝突する可能性があります。特に、国際化 URL の使用に関して そうした衝突が生じる場合があります。ある形式が国際化 URL を許可しない場合(すなわち、 URL が [rfc3986] またはそれ以前に適合しなければならない場合)、 その要件がそれらのリソース内では優先されます。

1.4 用語

この仕様は、EPUB 3 に固有の次の用語を定義します。

注記

節内で用語が最初に現れる箇所だけが、その定義へリンクします。

コーデック

コーデックとは、最適な圧縮を目的として設計された、または最適化されたストリーミング 機能を提供する動画および音声メディアタイプなど、内在的なバイナリ形式の特性を持つ コンテンツを指します。

コンテナーリソース

出版リソースのうち、 EPUB コンテナー内に位置するものです。 これは、そうではない リモートリソースと対比されます。

リソースの場所に関するメディアタイプ固有の規則については、3.6 リソース の場所を参照してください。

コンテナールート URL

URL [url] であり、ルートディレクトリーOCF 抽象コンテナーを表すものです。これは実装固有ですが、 EPUB 作成者は、それが 4.2.5 OCF 抽象コンテナー内の URL で定義される特性を持つと想定しなければなりません。

コンテンツ URL

URL であり、OCF 抽象コンテナー内のファイルまたはディレクトリーのもので、 4.2.5 OCF 抽象コンテナー内の URLで定義されます。

コア メディアタイプリソース

出版リソースのうち、3.2 コアメディア タイプに列挙された MIME メディアタイプ [rfc2046] のいずれかに適合し、そのため フォールバック外来 リソースを参照)の提供を必要としないものです。

「コアメディアタイプリソース」という指定は、リソースが EPUB コンテンツ文書および 外来コンテンツ文書のレンダリングに使用される場合にのみ 適用されます。例えば、コアメディアタイプリソースは、EPUB コンテンツ文書のメディアタイプも 持っていない限り、フォールバックなしに スパインで使用することはできません。

EPUB 適合性チェッカー

この仕様の要件を EPUB 出版物に照らして検証し、その適合性を報告する アプリケーションです。

EPUB コンテナー
OCF ZIP コンテナー

EPUB 出版物の ZIP ベースのパッケージ化および配布形式であり、4.3 OCF ZIP コンテナーで定義されます。

EPUB コンテナーと OCF ZIP コンテナーは同義です。

EPUB コンテンツ文書

出版リソースであり、スパインまたは マニフェストフォールバックチェーンから参照され、 XHTML または SVG コンテンツ文書の定義のいずれかに適合するものです。

EPUB コンテンツ文書は、EPUB 出版物のコンテンツ(すなわち、 テキスト、視覚および/または音声コンテンツ)の全部または一部を含みます。

EPUB 作成者は、フォールバックを提供せずに EPUB コンテンツ文書をスパインに含めることができます。

EPUB 作成者

EPUB 出版物を生成する個人、組織、またはプロセスです。

注記

EPUB 出版物の作成には多くの場合、多数の個人の作業が関与し、複数の組織にまたがって 分割される場合があります(例えば、出版者が作業の全部または一部を外部委託する場合)。 EPUB 出版物を生成するために用いられるプロセスに応じて、責任は組織(例えば出版者)、 出版物を準備する個人(例えば技術編集者)、または自動化された手順(例えば出版 パイプラインの一部)に帰属する場合があります。その結果、すべての当事者またはプロセスが すべての要件の充足を保証する責任を負うとは限りませんが、最終的な EPUB 出版物の 適合性に責任を負う EPUB 作成者は常に存在します。

この仕様の以前のバージョンでは、EPUB 作成者を Author と呼んでいました。

EPUB マニフェスト(またはマニフェスト)

パッケージ文書の節であり、 出版リソースを列挙します。

詳細については、5.6.1 manifest 要素を参照してください。

EPUB ナビゲーション文書

XHTML コンテンツ文書の 特殊化であり、人間および機械が読める グローバルナビゲーション情報を含みます。EPUB ナビゲーション文書は、7. EPUB ナビゲーション 文書で表現される制約に適合します。

EPUB 出版物

相互に関連する一連の リソースから成る論理的文書実体であり、 EPUB コンテナー内にパッケージ化されています。

EPUB 出版物は通常、単一の知的または芸術的作品を表しますが、この仕様はコンテンツの性質を 制限しません。

EPUB 読書システム(または読書システム)

EPUB 出版物を、この仕様に 適合する方法でユーザーに提示するために処理するシステムです。

EPUB スパイン(またはスパイン)

パッケージ文書の節であり、 EPUB コンテンツ文書および 外来コンテンツ文書の順序付きリストを定義します。このリストは EPUB 出版物の既定の読書順序を 表します。

詳細については、5.7.1 spine 要素を参照してください。

免除リソース

免除リソースは 出版リソースの特別な種類であり、読書システムは そのレンダリングをサポートする必要はありませんが、EPUB 作成者はそれに対して フォールバックを提供する必要はありません。

詳細については、3.4 免除 リソースを参照してください。

ファイル名

OCF 抽象コンテナー内の任意の種類のファイルの名前であり、 ディレクトリーであるか、ディレクトリー内のファイルであるかを問いません。

ファイルパス

ファイルまたはディレクトリーのファイルパスは、ルートディレクトリーからの相対的な完全パスであり、 4.2.4 ファイルパスの導出で指定される アルゴリズムによって定義されます。

固定レイアウト文書

EPUB コンテンツ文書であり、固定寸法を持ち、 スパインから 直接参照されるものです。固定レイアウト文書は、パッケージ文書内で pre-paginated と指定されます。 これは 8.2 固定レイアウトで定義されます。

外来コンテンツ文書

出版リソースのうち、スパインitemref 要素から、または マニフェストフォールバックチェーンから参照されるもので、 EPUB コンテンツ文書ではないものです。

外来コンテンツ文書がスパインの itemref 要素から参照される場合、少なくとも 1 つの EPUB コンテンツ文書を含むマニフェストフォールバックチェーンが必要です。

注記

XHTML と SVG を除き、すべての コアメディアタイプリソースは、 スパインから直接参照される場合、外来コンテンツ文書です。

外来リソース

出版リソースであり、MIME メディアタイプ [rfc2046] が 3.2 コアメディアタイプに列挙されたもののいずれにも一致しないものです。外来リソースは、 3.3 外来リソースで定義される フォールバック要件の対象となります。

「外来リソース」という指定は、EPUB コンテンツ文書および 外来コンテンツ文書のレンダリングに使用されるリソースにのみ 適用されます。

注記

外来リソースと外来コンテンツ文書は、置き換えて使える用語ではありません。スパインで使用される場合に 外来と見なされるリソースの種類は、EPUB コンテンツ 文書で使用される場合に外来と見なされるリソースの種類よりも広範です。

リンクリソース

パッケージ 文書link 要素からのみ参照されるリソースです(すなわち、 EPUB 出版物のレンダリングにも使用されるわけではありません)。

リンクリソースは 出版リソースではありませんが、 EPUB コンテナーに格納される場合があります。 フォールバックは必要ありません。

メディア オーバーレイ文書

事前録音された音声ナレーションと XHTML コンテンツ文書を関連付け、 9. メディアオーバーレイで定義されるように 同期再生体験を提供する XML 文書です。

非コーデック

非コーデックとは、文字列に基づくファイル形式(例えば HTML、CSS など)のように、 内部データ構造の性質により圧縮の恩恵を受けるコンテンツタイプを指します。

OCF 抽象コンテナー

OCF 抽象コンテナーは、OCF ZIP コンテナーの内容のためのファイルシステムモデルを定義します。 これは 4.2 OCF 抽象 コンテナーで定義されます。

パッケージ文書

出版リソースであり、 EPUB 出版物の レンダリングを記述するものです。これは 5. パッケージ 文書で定義されます。パッケージ文書は EPUB 出版物に関するメタ情報を保持し、 リソースのマニフェストを提供し、既定の読書順序を定義します。

出版リソース

EPUB 出版物の論理とレンダリングに寄与するコンテンツまたは指示を含む リソースです。このリソースが存在しない場合、読書システムは、EPUB 作成者が意図したとおりに EPUB 出版物をレンダリングできない可能性があります。出版リソースの例には、パッケージ文書EPUB コンテンツ文書、CSS スタイルシート、 音声、動画、画像、埋め込みフォント、およびスクリプトが含まれます。

EPUB 作成者は、出版リソースをパッケージ文書の マニフェストに列挙し、通常はそれらをすべて EPUB コンテナー内にまとめなければなりません (例外として、3.6 リソースの場所に列挙されたリソースを EPUB コンテナーの外に配置する場合があります)。

注記

外向きハイパーリンクで識別される Web 上のリソース(例えば、[html] a 要素の href 属性から参照されるもの)は、出版 リソースではありません。

Data URL も出版リソースではありません。これらは 埋め込まれたリソースの一部と見なされます。

リモートリソース

出版リソースであり、 EPUB コンテナーの外部、通常は Web 上に位置するものです。

EPUB コンテナー内の出版リソースは、コンテナーリソースと呼ばれます。

リソースの場所に関するメディアタイプ固有の規則については、3.6 リソース の場所を参照してください。

ルートディレクトリー

ルートディレクトリーは、OCF 抽象コンテナーファイルシステムの基点を表します。この ディレクトリーは本質的に仮想的です。

スクリプト付きコンテンツ文書

スクリプティングを含む EPUB コンテンツ文書、または [html] form 要素を含む XHTML コンテンツ文書です。

詳細については、6.3.2 スクリプティングを参照してください。

SVG コンテンツ文書

EPUB コンテンツ文書であり、 6.2 SVG コンテンツ文書で表現される制約に適合するものです。

合成見開き

デバイス画面上で隣接する 2 ページを同時にレンダリングすることです。

トップレベルコンテンツ文書

EPUB コンテンツ文書または 外来コンテンツ文書であり、 スパインから、直接または フォールバック チェーンを介して参照されるものです。

一意識別子

EPUB 出版物の主要な識別子です。一意識別子は、 であり、 unique-identifier 属性によって パッケージ文書内で指定される dc:identifier 要素の値です。

コンテンツの大幅な改訂、要約などには、新しい一意識別子が必要です。

ビューポート

EPUB 読書システムの領域であり、 その中で EPUB 出版物が ユーザーに視覚的にレンダリングされます。

XHTML コンテンツ文書

EPUB コンテンツ文書であり、 6.1 XHTML コンテンツ文書で定義される [html] のプロファイルに適合するものです。

XHTML コンテンツ文書は、[html] で定義される XML 構文を使用します。

1.5 適合性

非規範的と明示された節と同様に、この仕様内のすべてのオーサリングガイドライン、図、例、および注記は 非規範的です。この仕様内のそれ以外のすべては規範的です。

この文書におけるキーワード MAYMUSTMUST NOTOPTIONALRECOMMENDEDREQUIREDSHOULD、および SHOULD NOT は、 ここに示すようにすべて大文字で現れる場合にのみ、 BCP 14 [RFC2119] [RFC8174] に記述されるとおりに解釈されます。

すべてのアルゴリズム説明は非規範的です。

1.6 オーサリング短縮記法

この節は非規範的です。

パッケージ文書のメタデータ例では、予約 接頭辞が宣言なしで使用されます。

Dublin Core 要素 [dcterms] への参照では、dc: 接頭辞を使用します。この接頭辞は、 その使用が妥当であるためには、パッケージ文書内で宣言されていなければなりません (xmlns:dc="http://purl.org/dc/elements/1.1/"

epub 名前空間接頭辞 [xml-names] も、 明示的な宣言を常に持つとは限らずに、要素および属性で使用されます (xmlns:epub="http://www.idpf.org/2007/ops")。

2. EPUB 出版物の適合性

EPUB 出版物は、次の条件を満たします。

さらに、すべての出版リソースは 3. 出版 リソースの要件に従わなければなりません(MUST)。

この仕様の残りの部分では、具体的な適合性の詳細を扱います。

2.1 適合性チェック

この節は非規範的です。

この仕様の複雑さ、および 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 作成者がすべての場合に 推奨される実践に従えない正当な理由は存在します。

3. 出版リソース

3.1 はじめに

この節は非規範的です。

EPUB 出版物は、多くの異なるカテゴリーの リソースで構成されており、それらすべてが 相互に排他的であるわけではありません。一部のリソースは 出版リソースであり、一部はそうではありません。一部の出版 リソースは既定で スパイン内で許可されますが、 その他はすべてフォールバックを必要とします。 一部のリソースは EPUB コンテンツ文書のレンダリングで使用できますが、その他はフォールバックとともにのみ使用できます。

各リソースカテゴリーの技術的定義を読んでこれらの違いを理解しようとすると、 複雑になることがあります。カテゴリー分けをより理解しやすくするため、この導入では 異なるプレーンの概念を用いて、リソースがどのようにグループ化され参照されるかを説明します。

3 つのプレーンは次のとおりです。

同じリソースが複数のプレーンに存在することがあり、この仕様では、どのプレーンについて 議論しているかに応じて異なる呼び方をされます。例えば、EPUB コンテンツ文書のレンダリングで 使用されるコアメディアタイプリソース(コンテンツプレーン上)は、スパインにも列挙されている場合 (スパインプレーン)、外来コンテンツ文書でもあり得ます。

以下の節では、これらのプレーンについてさらに詳しく説明します。

注記

リソースが異なるプレーンにどのように当てはまるかを示す詳細な例については、 H.1 リソースを参照してください。

3.1.1 マニフェストプレーン

マニフェストプレーンは、 EPUB 出版物のすべてのリソースを定義します。これは パッケージ文書マニフェストに相当しますが、 その一覧に存在しないリソースも含みます。

このグループの主要なリソースは 出版リソースと指定され、ユーザーに EPUB 出版物を レンダリングするために使用されるすべてのリソースです。EPUB 作成者は常に、 これらのリソースを manifest 要素に列挙しなければなりません。

出版リソースは、スパインプレーンおよび コンテンツ プレーンにおける用途によってさらに分類されます。

マニフェストプレーンには、リンク リソースの集合も含まれます。これらのリソースは直接的な レンダリングには付随的です。例えば、メタデータレコードや外部コンテンツへのリンク (例: EPUB 出版物の購入先)などが含まれます。

出版リソースとは異なり、それらはパッケージ文書のマニフェストには列挙されません (すなわち、EPUB 出版物のレンダリングに不可欠ではないため)。代わりに、 パッケージ文書メタデータ内の link 要素で定義されます。これらの要素は、マニフェストの item 要素が出版リソースを定義するのと同様に、その性質と目的を定義します。(このように、それらは マニフェストの拡張のようなものです。)

リンクリソースの詳細については、5.5.6 link 要素を参照してください。

マニフェストプレーン内のリソースは、その位置によって分類されることもあります。 ほとんどの出版リソースは EPUB コンテナー内に位置していなければなりませんが(コンテナーリソースと呼ばれます)、EPUB 3 では、 音声、動画、フォント、およびスクリプトデータ リソースをコンテナー外でホストすることを許可しています。これらの例外は、 EPUB 出版物のダウンロードと読み込みを高速化するために設けられました。これらのリソースは通常かなり大きく、 フォントの場合は提示に不可欠ではないためです。リモートでホストされる場合、これらの出版 リソースは リモートリソースと呼ばれます。

リンクリソースは EPUB 出版物のレンダリングに不可欠ではないため、その位置に関する 要件はなく、したがってその位置に基づく特別な名称もありません。EPUB コンテナー内に 位置しても、外部に位置してもかまいません。

注記

EPUB コンテナー外のハイパーリンク先コンテンツ(例: Web ページ)は出版 リソースではなく、したがってマニフェストには列挙されません。読書システムは通常、 これらのリンクを EPUB 出版物の一部としてではなく、別個のブラウザーインスタンスで開きます。

3.1.2 スパインプレーン

スパインプレーンは、 スパインによって確立される 既定の読書順序で使用されるリソースを定義します。これには、 線形および非線形コンテンツの両方が含まれます。スパインは、 ユーザーが EPUB 出版物を読み進める際に、 これらのリソースをどのように読み込むかについて 読書システムに指示します。 多くのリソースが EPUB コンテナーにまとめられている場合でも、 それらすべてが既定でスパイン内で許可されるわけではありません。

EPUB 3 は、EPUB コンテンツ文書と呼ばれる特別な種類のリソースを定義しており、 EPUB 作成者は制限なくスパイン内でこれを使用できます。 EPUB コンテンツ文書には、 XHTML コンテンツ文書SVG コンテンツ文書の両方が含まれます。

スパイン内で他の種類のリソース、すなわち 外来コンテンツ文書を使用するには、 EPUB コンテンツ文書へのフォールバックを含める必要があります。この拡張性モデルにより、 外来コンテンツ文書のサポートが保証されない場合でも、読書システムがユーザーに読むものを 常にレンダリングできるようにしつつ、EPUB 作成者は形式を試すことができます。

マニフェストフォールバックと呼ばれる機構により、EPUB 作成者は 外来コンテンツ文書にフォールバックを提供できます。このモデルでは、外来コンテンツ 文書の マニフェスト項目に、 読書システムがその形式をサポートしない場合に試す次の 可能なリソースを指す fallback 属性を含めなければなりません。 一般的ではありませんが、フォールバックリソースは別のフォールバックを指定でき、それによって多くのリソースに 深く連なるチェーンを作ることができます。唯一の要件は、 マニフェストフォールバックチェーン内に 少なくとも 1 つの EPUB コンテンツ文書が存在しなければならないことです。

フォールバックチェーン内のすべてのリソースは、スパインに直接列挙されていなくても、 読書システムによって使用される可能性があるため、スパインの一部、ひいてはスパインプレーンの一部と 見なされます。

詳細については、3.5.1 マニフェスト フォールバックを参照してください。

注意

マニフェストフォールバックは EPUB の技術的要件を満たしますが、 読書システムでの実用的なサポートはほとんどありません。読めない出版物につながる可能性があるため、 その使用は強く推奨されません。

注記

EPUB コンテンツ文書にマニフェストフォールバックを提供することは可能ですが、これは 必須でも一般的でもありません。例えば、スクリプト付きコンテンツ文書は、 スクリプティングをサポートしない読書システム向けに、 スクリプトなしの代替物へのフォールバックを持つことができます。

3.1.3 コンテンツプレーン

コンテンツプレーンは、 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 を除くすべての外来リソースおよびすべてのコアメディアタイプリソースが含まれます)。

3.2 コアメディアタイプ

EPUB 作成者は、出版リソースが次の表で定義される MIME メディア タイプ [rfc2046] 仕様に適合する場合、それらが EPUB コンテンツ文書および 外来コンテンツ文書で使用されるときに、フォールバックなしで含めてもかまいません(MAY)。 これらのリソースは コアメディアタイプリソースとして分類されます。

XHTML コンテンツ文書および SVG コンテンツ文書を除き、EPUB 作成者は、 スパインから直接参照される コアメディアタイプリソースに対して マニフェストフォールバックを 提供しなければなりません(MUST)。この場合、それらは 外来コンテンツ文書です。

表の列は、次の情報を表します。

メディアタイプ コンテンツタイプ定義 適用対象
画像
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 スタイルシート。
フォント
  1. font/ttf
  2. application/font-sfnt
[truetype] TrueType フォント
  1. font/otf
  2. application/font-sfnt
  3. application/vnd.ms-opentype
[opentype] OpenType フォント
  1. font/woff
  2. application/font-woff
[woff] WOFF フォント
font/woff2 [woff2] WOFF2 フォント
その他
application/xhtml+xml XHTML コンテンツ文書 XML 構文 [html] を使用する HTML 文書。
  1. application/javascript
  2. application/ecmascript
  3. text/javascript
[rfc4329] スクリプト。
application/x-dtbncx+xml [opf-201] レガシー NCX。
application/smil+xml メディアオーバーレイ EPUB メディアオーバーレイ文書
注記

コアメディアタイプリソースとして含まれることは、すべての読書システムが そのリソースのレンダリングをサポートすることを意味しません。読書システムのサポートは、 アプリケーションの能力にも依存します(例えば、ビューポートを持つ読書システムは 画像のコアメディアタイプ リソースをサポートしなければなりませんが、ビューポートを持たない読書システムはそうではありません)。 どの読書システムのレンダリング能力がどのコア メディアタイプリソースのサポートを必要とするかの詳細については、 コアメディアタイプ [epub-rs-33] を参照してください。

Working Group は通常、Web ブラウザーコア — EPUB 3 読書システムが その上に構築されるレンダリングエンジン — で広くサポートされている形式のみを、 コアメディアタイプリソースとして含めます。これらは、EPUB 出版物のレンダリングの 予測可能性を確保するための、読書システム開発者と EPUB 作成者の間の合意です。

3.3 外来リソース

外来リソースは、コアメディアタイプリソースとは異なり、 EPUB コンテンツ文書または 外来コンテンツ文書で使用される場合に、 読書システムのサポートが保証されていないものです。

EPUB 作成者は、外来リソースに対してフォールバックを提供しなければなりません(MUST)。 フォールバックは次のいずれかの形式を取ります。

注記

それぞれの要素が提供する内在的なフォールバック能力については、 [html] および [svg] 仕様を参照してください。

3.5.2 内在的 フォールバックも、特定の要素についてフォールバックがどのように 解釈されるかに関する追加情報を提供します。

3.4 免除リソース

免除リソースは、外来リソースコアメディアタイプリソースの両方の特性を共有します。 それは、外来リソースと同様に 読書システムのサポートが保証されていませんが、 コアメディアタイプ リソースのようにフォールバックを必要としない点で、外来リソースに最も似ています。

免除リソースには、少数の特別なケースしかありません。例えば動画は、この時点では コアメディアタイプ動画形式について合意がないため(すなわち、フォールバック先となる形式が ないため)、フォールバックから免除されます。同様に、音声および動画トラックは、 EPUB 作成者が読書システムが最もよくサポートする 任意の形式を使用してアクセシビリティ要件を満たせるようにするため、免除されます。

次の一覧では、コンテンツ固有の免除リソースのケースを、その使用場所に関する 制限を含めて詳述します。

フォント

フォントコアメディアタイプとして既に扱われていないすべてのフォントリソースは、 免除リソースです。

この免除により、EPUB 作成者は、読書システムのサポート期待に関係なく、 フォールバックなしで任意のフォント形式を使用できます。サポートがない場合には CSS 規則により フォールバックフォントが保証されるためです。

詳細については、フォントに関する読書システムの サポート 要件 [epub-rs-33] を参照してください。

トラック

[htmltrack 要素から参照されるすべての音声および動画トラック(例: [webvtt] のキャプション、字幕、および説明)は、免除リソースです。

動画

[html] の video — 任意の子 source 要素を含む — から参照されるすべての動画コーデックは、免除リソースです。

注記

読書システムは、H.264 [h264] および VP8 [rfc6386] 動画コーデックのうち少なくとも 1 つをサポートすることが 奨励されていますが、動画コーデックのサポートは適合性 要件ではありません。EPUB 作成者は、含める動画形式を決定する際に、採用範囲、 再生品質、および技術ロイヤリティなどの要因を考慮しなければなりません。

注記

上記の免除は、スパインには適用されません。免除リソースが スパインで使用され、それが EPUB コンテンツ文書でもない場合、そのコンテキストでは フォールバックが必要になります。

コンテンツ固有の免除に加えて、リソースは次の場合に 免除リソースとして分類されます。

この免除により、EPUB 作成者は、EPUB 読書システムによる使用を目的としないリソースを EPUB コンテナー に含めることができます。この免除の主要なケースは、スクリプトが構成要素である EPUB コンテンツ文書で使用するため、 または外部アプリケーションが使用するために、データファイルを EPUB 出版物とともに移動できるようにすることです (例: 科学雑誌が、EPUB コンテナーからそれを抽出する方法の指示とともにデータセットを含める場合)。

これはまた、読書システムや EPUB 適合性チェッカーがそれらの リソースのフォールバック能力を理解する必要なしに、EPUB 作成者が外来コンテンツ文書内で外来リソースを使用することを 可能にします(すなわち、外来コンテンツ文書に対するフォールバック要件が、その中の あらゆるレンダリング上の問題をカバーします)。そのリソースは EPUB コンテンツ文書から参照されていないため、 自動的にフォールバックから免除されます。

3.5 リソースフォールバック

3.5.1 マニフェストフォールバック

マニフェストフォールバックは、パッケージ 文書の機能であり、出版リソースに対する マニフェストフォールバックチェーンを作成し、 読書システムが レンダリング可能な代替形式を選択できるようにします。

フォールバックチェーンは、マニフェスト item 要素上の fallback 属性を使用して作成されます。この属性は、現在の item の フォールバックである別のマニフェスト itemID [xml] を参照します。 読書システムが、指定された itemfallback 属性から開始して到達できるすべての参照の順序付きリストは、その item の完全な フォールバックチェーンを表します。このチェーンはまた、 EPUB 作成者が優先するフォールバック 順序を表します。

マニフェストフォールバックには 2 つのケースがあります。

スパインフォールバック

EPUB 作成者は、外来コンテンツ 文書に対してフォールバックチェーンを指定しなければなりません(MUST)。 これは、読書システムが常に スパイン項目をレンダリングできるようにするためです。この場合、 チェーンには少なくとも 1 つの EPUB コンテンツ文書が含まれなければなりません(MUST)。

EPUB 作成者は、EPUB コンテンツ文書にフォールバックを提供してもかまいません(MAY) (例: スクリプト付きコンテンツのフォールバックを提供する場合)。

フォールバックチェーンに複数の EPUB コンテンツ文書が含まれる場合、EPUB 作成者は properties 属性を使用して、 それぞれの目的を区別できます。

コンテンツフォールバック
注記

コンテンツフォールバックの本来の目的は、[html] img 要素に対してフォールバック画像を指定することでした。HTML には現在、画像のための 内在的なフォールバック機構があるため、コンテンツフォールバックの使用は強く推奨されません。 EPUB 作成者は、フォールバック コンテンツを提供するために、常に [html] および [svg] の 内在的なフォールバック能力を使用すべきです。

EPUB 作成者は、それらを参照する要素が内在的なフォールバック能力を持たない場合、 外来リソースに対してコンテンツフォールバックを提供しなければなりません(MUST)。 この場合、フォールバックチェーンには少なくとも 1 つの コアメディアタイプ リソースが含まれなければなりません(MUST)。

EPUB 作成者は、コアメディア タイプリソースに対してマニフェストフォールバックを提供してもかまいません(MAY)(例: 読書システムが複数の画像形式から選択できるようにする場合)。

指定されたマニフェストフォールバックの種類にかかわらず、フォールバックチェーンには チェーン内の item 要素への自己参照または循環参照を 含めてはなりません(MUST NOT)。

注記

data URLで表されるリソースにはマニフェストフォールバックを使用できないため、 EPUB 作成者は、内在的なフォールバック機構が利用可能な場合にのみ、外来リソースを data URL として表すことができます。

3.5.2 内在的フォールバック

以下の節では、特定の要素に関する内在的なフォールバック 要件について追加の明確化を提供します。

3.5.2.1 HTML audio および video のフォールバック

EPUB 作成者は、音声の 外来リソースに対する内在的なフォールバックとして、 メディア要素 (すなわち、audio または video)内で、埋め込みの [htmlフローコンテンツを使用してはなりません(MUST NOT)。 子 source 要素 [html] だけが内在的な フォールバック能力を提供します。

audio または video 要素を認識しない古い 読書システム(例: EPUB 2 読書システム)のみが 埋め込み コンテンツをレンダリングします。読書システムがこれらの要素をサポートしているが利用可能なメディア形式をサポートしていない場合、 それらはユーザー向けに埋め込みコンテンツをレンダリングしません。

注記

フォールバックの要件は、audio および video 要素から参照される 音声外来リソースにのみ適用されます。動画リソースにはフォールバックは必要ありません。 それらは 免除リソースです。

3.5.2.2 HTML img のフォールバック

[html] img 要素で EPUB 作成者が指定できるソースは多様であるため、その 使用には次のフォールバック条件が適用されます。

  • それが picture 要素の子である場合:

    • EPUB 作成者が src および srcset 属性を指定する場合、それらの属性からコアメディアタイプリソースを 参照しなければなりません(MUST); かつ
    • 各兄弟 source 要素は、その src および srcset 属性から コアメディアタイプ リソースを参照しなければなりません(MUST)。 ただし、その type 属性で 外来リソースの MIME メディアタイプ [rfc2046] を指定している場合を除きます。
  • それ以外の場合、EPUB 作成者が マニフェスト フォールバックを定義しているなら、その src および srcset 属性で外来リソースを参照してもかまいません(MAY)。
3.5.2.3 HTML script 要素

データブロックは、それを含む XHTML コンテンツ文書とは別個の MIME メディアタイプ [rfc2046] を持ちますが、[html] script 要素にはそのような機構が指定されていないため、内在的なフォールバックを提供することはできません。 また、データブロックは EPUB コンテナー内のスタンドアロンファイルとして定義できず、 常にインラインの script 要素として埋め込まれるため、 マニフェストフォールバックを提供することもできません。

しかし、script 要素はユーザーコンテンツを表しません — データブロックはスクリプトによって操作されない限りレンダリングされず、 スクリプトによってレンダリングされるコンテンツには既に コア メディアタイプ要件があります — そのため、生データにフォールバックを要求しても 有用な目的を果たしません。

したがって、EPUB 作成者がスクリプティング 目的でデータ ブロックを含められるようにするため、それらはフォールバック要件から免除されます。

注記

この免除は、データブロックを データファイルに対する免除と整合させます。

注記

[svg] は公開時点でデータブロックを定義していませんが、 将来の更新でこの概念が追加された場合にも、同じ除外が適用されます。

3.6 リソースの場所

EPUB 作成者は、次の種類の 出版リソースEPUB コンテナーの外部でホストしてもかまいません(MAY)。

EPUB 作成者は、その他すべてのリソースを EPUB コンテナー内に格納しなければなりません(MUST)。

すべてのリソースを EPUB コンテナー内に格納することは、可能な場合は常に強く推奨されます。 これにより、接続状態にかかわらず、ユーザーが提示全体にアクセスできるためです。

リソースを EPUB コンテナー外に配置しなければならない場合、EPUB 作成者は、 自分たちの出版物およびユーザーをネットワーク攻撃にさらす脅威を制限するため、 安全な https URI スキーム [rfc9110] で それらを参照することが推奨されます(RECOMMENDED)。読書 システムは、http のような安全でないスキームを使用して参照された リモートリソースを読み込まない可能性があります。

出版リソースの場所に関するこれらの規則は、指定されたリソースが コアメディアタイプリソースであるか 外来リソースであるかに関係なく適用されます。

注記

マニフェスト itemリモートリソースを参照していることを示す方法の詳細については、 remote-resources プロパティを参照してください。

3.7 Data URL

data: URL スキーム [rfc2397] は、リソースを URL 文字列に直接エンコードするために使用されます。このスキームの利点は、 EPUB 作成者が あるリソースを別のリソース内に埋め込むことができ、外部ファイルの必要を避けられる点です。

EPUB 作成者は、トップレベルコンテンツ文書または トップレベル閲覧コンテキスト [html] につながる可能性がある次のシナリオでは、data URL を使用してはなりません(MUST NOT)。

注記

data URL の使用に関するこれらの制限は、セキュリティ問題を防止するとともに、 読書システムがユーザーを次にどこへ移動させるかを判断できるようにするためです (すなわち、data URL は スパインから 参照できないためです)。

data URL の禁止される使用の一覧は、それらの使用を許可する各標準の進化に応じて 変更される可能性があります。

埋め込みの結果として、data URL 内のデータは、マニフェスト報告の目的では、 それ自体の一意な 出版リソースとは見なされません (すなわち、それを含む出版 リソースのみが列挙されます)。ただし、このデータには独自のメディアタイプがあるため、 それはなお 外来リソース制限の対象となります。したがって、EPUB 作成者は data URL を コアメディアタイプリソースとしてエンコードするか、 ホスト形式の内在的なフォールバック 機構を使用してフォールバックを提供しなければなりません(MUST)。

3.8 File URL

file: URL スキームは、[rfc8089] で 「ホスト(『ファイルシステム』)上の、構造化されたオブジェクト命名およびアクセス環境に格納されたオブジェクト (『ファイル』)を識別する」ものとして定義されています。これは通常、ローカルのオペレーティング システムからファイルを取得するために使用されます。

異なるホスト間で転送される可能性のある EPUB 出版物内で file URL を使用することは、 セキュリティリスクを表し、相互運用性もありません。その結果、EPUB 作成者は EPUB 出版物内で file URL を 使用してはなりません(MUST NOT)。

3.9 XML 適合性

XML ベースのメディアタイプ [rfc2046] である 任意の 出版リソースは、次の条件を満たします。

上記の制約は、指定された出版リソースが コアメディアタイプリソースであるか、 外来リソースであるかに関係なく適用されます。

注記

[html] および [svg] は、XML の base 属性 [xmlbase] のサポートを削除しつつあります。 EPUB 作成者はこの機能の使用を避けるべきです。

4. Open Container Format (OCF)

4.1 はじめに

この節は非規範的です。

OCF は EPUB 出版物に必須のコンテナー技術です。OCF は 次のワークフローで役割を果たすことがあります。

この節では、ファイル集合を抽象的に構造化するための規則、すなわち「抽象 コンテナー」を定義します。また、この抽象コンテナーを ZIP アーカイブ内で表現するための規則、すなわち「物理コンテナー」も定義します。ZIP 物理コンテナーの規則は、 [odf] で使用される ZIP 技術を基盤としています。

OCF はまた、この機能を必要とする EPUB 出版物のために、 埋め込みフォントを難読化する標準的な方法も定義します。

4.2 OCF 抽象コンテナー

4.2.1 はじめに

この節は非規範的です。

OCF 抽象コンテナーのファイルシステムモデルは、 単一の共通 ルートディレクトリーを使用します。すべての コンテナーリソースは、ルートディレクトリーを起点とする ディレクトリーツリー内に配置されますが、 それらに対する特定のファイルシステム構造はこの仕様では義務付けられていません。

このファイルシステムモデルには、META-INF という名前の必須ディレクトリーも含まれます。 これはルートディレクトリーの直接の子であり、次の特別なファイルを格納します。

container.xml [必須]

EPUB 出版物を定義する 1 つ以上の パッケージ文書を識別します。

signatures.xml [任意]

さまざまなアセットに対するデジタル署名を含みます。

encryption.xml [任意]

出版リソースの暗号化に関する情報を含みます。このファイルは、 EPUB 作成者フォント 難読化を使用する場合に必須です。

metadata.xml [任意]

OCF ZIP コンテナーに関するメタデータを格納するために使用されます。

rights.xml [任意]

デジタル権利に関する情報を格納するために使用されます。

manifest.xml [任意]

Open Document Format [odf] によって許可されるコンテナー内容のマニフェストです。

META-INF ディレクトリー内の各種ファイルに関する適合要件については、 4.2.6 META-INF ディレクトリーを参照してください。

4.2.2 ファイルおよびディレクトリー 構造

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] 場合に より一般的に発生します。

4.2.3 ファイルパスおよびファイル名

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] の 「文字列の長さを切り詰める、または制限する」の節を参照してください。

注記

コンテンツの相互運用性が重要である場合、EPUB 作成者はファイル命名に十分な注意を払うべきです。 制限文字の一覧は 既知の問題領域の一部を避ける助けとなることを意図していますが、その他すべての Unicode 文字がサポートされることを保証するものではありません。Unicode サポートは EPUB の以前の 反復版より現在は大幅に改善されていますが、古いツールやツールチェーンに遭遇する場合があります (例: [us-ascii] のみをサポートする ZIP ツール)。

4.2.4 ファイルパスの導出

OCF 抽象コンテナー内のファイルまたはディレクトリー file が与えられたとき、ファイルパスを導出するには、次のステップを適用します ([infra] の用語を用いて表現します)。

  1. path を空の リストとします。
  2. currentfile とします。
  3. currentルート ディレクトリーでない間、次を実行します。
    1. currentファイル名path の先頭に 追加します。
    2. currentcurrent の親ディレクトリーに設定します。
  4. U+002F (/) 文字を使用した path連結を返します。

4.2.5 OCF 抽象コンテナー内の URL

コンテナールート URLは、ルートディレクトリーURL [url] です。これは実装固有ですが、 EPUB 作成者は、それが次の特性を持つものと想定しなければなりません(MUST)。

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.xhtmlA/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 です。

  1. コンテナールート URLhttps://a.example.org/A/ に設定します。

    説明

    このアルゴリズムの目的は、url がコンテナー外へ「漏れている」と見なされ得るかどうかを 検出することです。そのため、標準の URL 解析アルゴリズムを人工的なルート URL とともに使用します。 「漏れ」の検出は、解析結果と最初のテストパス セグメント(A)の存在を比較することによって行われます。(なお、人工的なコンテナールート URL は、 このアルゴリズムの目的のために、その最初のテスト パスセグメントを使用することで、必須特性に意図的に違反しています。)

  2. 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 要素が使用されていない限り)。

  3. testURLRecord を、base とともに URL パーサーurl に適用した結果とします。
  4. testURLStringA を、 URL シリアライザーtestURLRecord に適用した結果とします。
  5. コンテナールート URLhttps://b.example.org/B/ に設定します。

    説明

    異なる人工的なコンテナールート URL の設定で同じステップを 2 回繰り返す理由は、 url 文字列にも /A/ が含まれている場合に発生し得る衝突を避けるためです。 例えば、url../../A/doc.xhtml である場合を考えてください。

  6. base を、url が使用されるコンテキスト(文書または環境)によって定義され、 かつパッケージ文書のコンテンツ URL に従って url を解析するために使用されなければならない base URL に設定します(5.2 パッケージ文書内の URL の解析を参照)。
  7. testURLRecord を、base とともに URL パーサーurl に適用した結果に設定します。
  8. testURLStringB を、 URL シリアライザーtestURLRecord に適用した結果とします。
  9. testURLStringAhttps://a.example.org/ で始まらない、または testURLStringBhttps://b.example.org/ で始まらない場合、 true を返します。

    説明

    いずれかの結果がテスト URL のホストを共有していない場合、それは url、 またはその base URL(例えば HTML で base 要素により明示的に設定されている場合)が 絶対であり、コンテナーの外部を指していることを意味します。これは許容されます。

  10. testURLStringAhttps://a.example.org/A/ で始まり、かつ testURLStringBhttps://b.example.org/B/ で始まる場合、 true を返します。

    説明

    最初のテストパスセグメント(それぞれ AB)の存在は、その URL がコンテナー外へ漏れていないことを示します。

  11. false を返します。

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)は許可されません。
  • 対象ファイルに到達するために必要な数より多い 二重ドット URL パス セグメントを含む相対 URL 文字列(例えば EPUB/../../../../config.xml)は 許可されません。
  • その他の絶対または相対 URL 文字列は許可されます。

なお、いずれの場合でも、上記で説明した許可されない URL 文字列であっても、 解析後にコンテナー外へ「漏れる」ことはありません(この節の 最初の注記で説明したとおりです)。それでもなお、 非適合またはレガシーの読書システムおよびツールチェーンとの相互運用性を高めるため、 これらは許可されません。

4.2.6 META-INF ディレクトリー

4.2.6.1 OCF 抽象コンテナーへの包含

すべての OCF 抽象コンテナーは、 その ルートディレクトリーMETA-INF という ディレクトリーを含まなければなりません(MUST)。

このディレクトリーは、設定ファイル、具体的には 4.2.6.3 予約済みファイルで定義されるもののために予約されています。

4.2.6.2 META-INF ディレクトリー内の URL の解析

META-INF ディレクトリー内にあるファイルで使用される URL 文字列 url を解析するには、URL パーサーを、コンテナールート URLbaseとして、url に適用しなければなりません(MUST)。

4.2.6.3 予約済みファイル
4.2.6.3.1 コンテナーファイル(container.xml

META-INF ディレクトリー内の必須(REQUIREDcontainer.xml ファイルは、OCF 抽象 コンテナーで利用可能な パッケージ文書を識別します。

この節で定義されるすべての [xml] 要素は、特に指定がない限り、 urn:oasis:names:tc:opendocument:xmlns:container 名前空間 [xml-names] に属します。

このファイルの内容は、他の名前空間からのすべての要素および属性(そのような要素のすべての属性および内容を含む)を削除した後、 この節の定義に対して妥当でなければなりません(MUST)。

注記

XML スキーマも、このファイルの内容を非公式に定義しています。

4.2.6.3.1.1 container 要素

container 要素は、 container.xml ファイル内のすべての情報をカプセル化します。

要素名:

container

用途:

container.xml ファイルの必須(REQUIREDルート要素 [xml]。

属性:
version [必須]
この属性は値 「1.0」を持たなければなりません(MUST)。
内容モデル:

この順序で:

4.2.6.3.1.2 rootfiles 要素

rootfiles 要素は、EPUB コンテナーで利用可能な パッケージ文書の一覧を含みます。

要素名:

rootfiles

用途:

container の必須(REQUIRED)の最初の子。

属性:

なし

内容モデル:
4.2.6.3.1.3 rootfile 要素

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] を参照してください。

4.2.6.3.1.6

この節は非規範的です。

4.2.6.3.2 暗号化ファイル(encryption.xml

META-INF ディレクトリー内の任意(OPTIONAL)の encryption.xml ファイルは、 コンテナーの内容に関するすべての暗号化情報を保持します。EPUB 作成者がコンテナー内の任意のリソースを暗号化する場合、 使用された暗号化に関する情報を提供するために encryption.xml ファイルを含めなければなりません(MUST)。

4.2.6.3.2.1 encryption 要素
要素名:

encryption

名前空間:

urn:oasis:names:tc:opendocument:xmlns:container

用途:

encryption.xml ファイルの必須(REQUIREDルート要素 [xml]。

属性:

なし

内容モデル:

任意の順序で:

  • 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)。この機能により、 読書システムは、 署名前に暗号化されたデータと署名後に暗号化されたデータを区別できます。

4.2.6.3.2.2 圧縮と暗号化の順序

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)の子。

属性:
Method [必須]

使用された圧縮方式を識別します。

値は「0」(圧縮なし)または「8」 (Deflate アルゴリズム)のいずれかです。

OriginalLength [必須]

初期リソースのサイズ(バイト数)を表します。

値は正の整数です。

内容モデル:

4.2.6.3.3 マニフェスト ファイル(manifest.xml

META-INF ディレクトリー内の任意(OPTIONAL)の manifest.xml ファイルは、 コンテナー内のファイルのマニフェストを提供します。

OCF 仕様は、このマニフェストの形式を義務付けていません。

なお、パッケージ文書は、 EPUB 出版物の処理に使用される唯一のマニフェストを指定します。 読書システムはこのファイルを使用しません。

注記
この機能は、[odf] との互換性のためだけに存在します。
4.2.6.3.4 メタデータ ファイル(metadata.xml

META-INF ディレクトリー内の任意(OPTIONAL)の metadata.xml ファイルは、 コンテナーレベルのメタデータ専用です。

EPUB 作成者metadata.xml ファイルを含める場合、その中では名前空間修飾された要素 [xml-names] のみを使用すべきです(SHOULD)。 このファイルは、名前空間 http://www.idpf.org/2013/metadata 内の metadata という ルート要素 [xml] を 含むべきですが(SHOULD)、この仕様は後方互換性のために 他のルート要素を許可します。

この仕様のこのバージョンは、 metadata.xml ファイルで使用するメタデータを定義していません。この仕様の将来のバージョンは、 コンテナーレベルのメタデータを定義してもかまいません(MAY)。

4.2.6.3.5 権利管理ファイル(rights.xml

この仕様は、META-INF ディレクトリー内の任意(OPTIONAL)の rights.xml ファイルを、権利者、仲介者、およびユーザーの間で EPUB 出版物を信頼された形で交換するために予約します。

EPUB 作成者rights.xml ファイルを含めない場合、 OCF 抽象コンテナーのどの部分も コンテナーレベルでは権利管理されません。権利表現は EPUB 出版物内に存在する場合があります。

4.2.6.3.6 デジタル署名ファイル(signatures.xml
注記

デジタル署名を追加することは、悪意ある行為者が EPUB 出版物を改ざんできないことの保証ではありません。 読書システムは 署名をチェックする必要がないためです。

META-INF ディレクトリー内の任意(OPTIONAL)の signatures.xml ファイルは、 コンテナーおよびその内容に対するデジタル署名を保持します。

4.2.6.3.6.1 signatures 要素
要素名:

signatures

名前空間:

urn:oasis:names:tc:opendocument:xmlns:container

用途:

signature.xml ファイルの必須(REQUIREDルート要素 [xml]。

属性:

なし

内容モデル:
  • 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 要素の使用などにより、 追加情報を署名に追加する方法を説明しています。

4.3 OCF ZIP コンテナー

4.3.1 はじめに

この節は非規範的です。

OCF ZIP コンテナーは、OCF 抽象コンテナーの 物理的な単一ファイルでの具現化です。このコンテナーにより、次が可能になります。

  • 異なる個人間および/または異なる組織間で進行中の EPUB 出版物を交換すること。

  • 出版者または変換業者から配布または販売チャネルへ EPUB 出版物を転送すること。

  • EPUB 出版物を EPUB 読書システムまたはユーザーへ配信すること。

4.3.2 ZIP ファイル要件

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 フィールドを、指定されたファイルに必要な最大バージョンレベルに一致する 値 1020、または 45 に設定しなければなりません(MUST) (例: Deflate の場合 20、ZIP64 の場合 45)。

  • ローカルファイルヘッダーテーブルでは、EPUB 作成者は compression method フィールドを値 0 または 8 に設定しなければなりません(MUST)。

4.3.3 OCF ZIP コンテナーのメディアタイプ識別

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)。
  • EPUB 作成者は mimetype ファイルを圧縮または暗号化してはなりません(MUST NOT)。
  • EPUB 作成者は、その ZIP ヘッダーに追加フィールドを含めてはなりません(MUST NOT)。
注記

application/epub+zip メディアタイプに関する詳細情報については、 I.2 application/epub+zip メディアタイプを参照してください。

4.4 フォント難読化

注意

フォントを保護するよりよい方法が存在します。例えば [woff] および [woff2] フォントは、 ライセンス情報の埋め込みを可能にし、フォントテーブル圧縮によって一定の保護を提供します。 リモートでホストされるフォントの使用も、フォントサブセット化を可能にします。EPUB 作成者は、 他に利用可能な選択肢がない場合にのみ、この節で定義されるフォント難読化を使用することが推奨されます。 難読化の制限も参照してください。

4.4.1 はじめに

この節は非規範的です。

OCF ZIP コンテナーは基本的に ZIP ファイルであるため、一般に利用可能な ZIP ツールを使用して、パッケージから暗号化されていない任意のコンテンツストリームを抽出できます。 さらに、ZIP ファイルの性質上、その内容は一部のシステムでは他のネイティブコンテナー(例: フォルダー)のように 見える場合があります。

ZIP ファイルのこの単純さは非常に有用ですが、フォントを暗号化しないことの副作用として フォントを容易に抽出できることが望ましくない場合には問題も生じます。例えば、第三者フォントを 含めたい EPUB 作成者は、通常、そのフォントが他者によって抽出され 再利用されることを望みません。より重要なことに、多くの商用フォントは埋め込みを許可しますが、 フォントを埋め込むことは、それを EPUB 出版物の不可欠な一部にすることを意味し、 元のフォントファイルをコンテンツとともに提供するだけではありません。

統合された ZIP サポートは現代のオペレーティングシステムで非常に普及しているため、 フォントを OCF ZIP コンテナーに単に配置するだけでは、 そのフォントが他の文脈で再利用できないことを示すには不十分です。この不確実性は、 EPUB 出版物の有用なフォント埋め込み能力を損なう可能性があります。

フォントの再利用を抑止するため、一部のフォントベンダーは、フォントが何らかの方法で EPUB 出版物に結び付けられている場合にのみ、EPUB 出版物での使用を許可することがあります。すなわち、そのフォント ファイルが、当該コンピューティングデバイスの組み込みツールでオペレーティングシステム上に直接インストールできず、 他の EPUB 出版物で直接使用できない場合です。

フォントのためのデジタル権利管理または実施システムを提供することは、この仕様の範囲外です。 この節では代わりに、最終的な OCF 受信者が任意の難読化フォントへ一般的にアクセスするために 追加の作業を必要とする難読化の方法を定義します。

4.4.2 制限

この節は非規範的です。

この仕様は、難読化が暗号化を構成すると主張するものではなく、そのリソースが著作権侵害から 安全であることも保証しません。このアルゴリズムが満たすことを期待するのは、 OCF ZIP コンテナーを解凍してリソースをコピーするだけではフォントを抽出できないという、何らかの保証を 要求するベンダーの要件だけです。

難読化は、他の保護方式と同様に、難読化解除された状態でフォントにアクセスされることから 完全に保護することはできません。この機構は、ライセンスの詳細を知らない者に対する障害を提供するだけです。 次のような代替手段を通じて、決意のあるユーザーがフォントへの完全なアクセスを得ることを防ぎません。

  • 難読化解除アルゴリズムを適用して生のフォントファイルを抽出すること。
  • コンテンツをレンダリングするために難読化解除しなければならない 読書システムを通じて難読化解除されたフォントにアクセスすること (例: ブラウザーベースの読書 システムを通じてリソースにアクセスすること)。または
  • コンテンツの視覚的レンダリングを提供するオーサリングツールを通じて、 難読化解除されたフォントにアクセスすること。

その結果、この難読化方法が個々のフォント ライセンスの要件を満たすかどうかは、ライセンサーおよびライセンシーの問題として残ります。 EPUB 作成者は、 難読化の使用がフォントライセンス要件を満たすことを保証する責任を負います。

EPUB 作成者はまた、読書システムはフォントを難読化解除することを要求されないため、 難読化が読書システムで相互運用性の問題につながる可能性があることを認識すべきです。その結果、 出版物の視覚的提示は読書システムごとに異なる可能性があります。

また、このアルゴリズムはフォントの難読化に限定されていることに注意してください。EPUB コンテナー内の 任意のリソースを難読化する汎用的な機構として意図されたものではありません。

4.4.3 難読化キー

EPUB 作成者は、難読化アルゴリズムで使用されるキーを 一意識別子から 導出しなければなりません(MUST)。

XML 1.0 仕様の 2.3 節 [xml] で定義されるすべての空白文字は、 この識別子から削除されなければなりません(MUST)。具体的には、Unicode コードポイント U+0020U+0009U+000D および U+000A です。

EPUB 作成者は、Secure Hash Standard [fips-180-4] で指定されるとおり、 得られた文字列の UTF-8 表現の SHA-1 ダイジェストを生成しなければなりません(MUST)。 その後、このダイジェストをアルゴリズムのキーとして使用できます。

4.4.4 難読化アルゴリズム

フォントの難読化に用いられるアルゴリズムは、フォントファイルの最初の 1040 バイト(約 1KB)を 変更することから成ります。(フォントファイルが 1040 バイト未満であるまれな場合、この処理は ファイル全体を変更します。)

元のデータを難読化するには、埋め込みフォントの最初のバイトとして、生のフォントファイルの最初のバイトと 難読化キーの最初の バイトに対して論理排他的 OR(XOR)を実行した結果を格納します。

この処理をソースおよびキーの次のバイトで繰り返し、キー内のすべてのバイトについて続けます。 この時点で、処理はキーの最初のバイトとソースの 21 番目のバイトから開始して継続します。 この方法で 1040 バイトがエンコードされる(またはソースの末尾に到達する)と、 ソース内に残っているデータはすべて宛先へ直接コピーします。

EPUB 作成者は、フォントを圧縮して OCF ZIP コンテナーへ追加する前に難読化しなければなりません(MUST)。難読化は暗号化ではないため、この要件は 4.2.6.3.2 暗号化ファイル(encryption.xmlにおける、 暗号化前にフォントを圧縮するという要件に違反しないことに注意してください。

次の疑似コードは、難読化アルゴリズムを例示します。

  1. ocf を OCF ZIP コンテナーファイルに設定する
  2. source をフォントファイルに設定する
  3. destination を難読化されたフォントファイルに設定する
  4. keyData をファイルのキーに設定する
  5. outer を 0 に設定する
  6. outer < 52 かつ (source が EOF でない) 間
    1. inner を 0 に設定する
    2. inner < 20 かつ (source が EOF でない) 間
      1. source から 1 バイトを読み取る(読み取りによりファイル 位置が進むと仮定)
      2. sourceByte を読み取り結果に設定する
      3. keyBytekeyDatainner 番目のバイトに設定する
      4. obfuscatedByte を (sourceByte XOR keyByte) に設定する
      5. obfuscatedBytedestination に書き込む
      6. inner をインクリメントする
      while 終了
    3. outer をインクリメントする
    while 終了
  7. (source が EOF でない) 場合
    1. source を EOF まで読み取る
    2. 読み取り結果を destination に書き込む
    if 終了
  8. destination を Deflate 圧縮する
  9. destinationocf 内で source として格納する

4.4.5 難読化フォントの 指定

技術的には暗号化データではありませんが、すべての難読化フォントは、 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)。

5. パッケージ文書

この節で定義されるすべての [xml] 要素は、別途指定されない限り、 http://www.idpf.org/2007/opf 名前空間 [xml-names] に属します。

5.1 はじめに

この節は非規範的です。

パッケージ文書は、EPUB 出版物の特定の側面に関する情報をそれぞれカプセル化する一連の要素で構成される XML 文書です。これらの要素は、メタデータを集約し、個々のリソースを詳述し、そのレンダリングに必要な 読書順序およびその他の情報を提供する役割を果たします。

次の一覧は、パッケージ文書に含まれる情報を要約したものです。

注記

EPUB 出版物は複数のパッケージ文書を参照でき、コンテンツの代替表現を可能にします。詳細については、 4.2.6.3.1 コンテナー・ファイル(container.xmlを参照してください

注記

パッケージ文書のファイルプロパティに関する情報については、I.1 application/oebps-package+xml メディアタイプを参照してください。

5.2 パッケージ文書内の URL の解析

パッケージ文書で使用される URL 文字列 url を解析するには、URL パーサー [url] を url に適用しなければなりません(MUST)。 このとき、パッケージ 文書の コンテンツ URLbase とします。

5.3 共有属性

この節では、共有属性(すなわち、2 つ以上の要素で許可される属性)の定義を提供します。

5.3.1 dir 属性(実装不足)

注記

dir 属性は実装不足としてマークされています。 読書システムは、テキスト表示について単一の 既定の方向性のみをサポートすることが多いためです。 EPUB 作成者は、それでもなお、この状況が 改善されたときに適切なレンダリングを保証するため、パッケージ文書内のテキスト 値に適切な方向性を設定することが強く推奨されます。

それを持つ要素およびその子孫のテキスト内容と属性値の 基本方向 [bidi] を指定します。

許可される値は次のとおりです。

  • ltr — 左から右への基本方向。
  • rtl — 右から左への基本方向。および
  • auto — 基本方向は Unicode Bidi Algorithm [bidi] を使用して決定されます。

EPUB 作成者がこの属性を省略した場合、または 無効な値を使用した場合、読書システムは値 auto を想定します。

注記

dir 属性で指定される基本方向は、方向ラン内の文字の順序には影響せず、 それらのランの相対的な順序、および句読点などの弱方向文字の配置にのみ影響します。

使用可能な要素: collectionDublin Core 要素meta、 および package

5.3.2 href 属性

リソースを参照する妥当な URL 文字列 [url]。

URL 文字列は、パッケージ文書内の要素を介してリソースを参照してはなりません(MUST NOT) (例えば、 マニフェストの item またはスパインの itemref 宣言を介して)。

使用可能な要素: item および link

5.3.3 id 属性

要素の ID [xml] であり、 文書 スコープ内で一意でなければなりません(MUST)。

使用可能な要素: collectionDublin Core 要素itemitemreflinkmanifestmetapackage、 および spine

5.3.4 media-type 属性

参照されるリソースの種類および形式を指定するメディアタイプ [rfc2046]。

使用可能な要素: item および link

5.3.5 properties 属性

プロパティ値の空白区切りリストです。

この属性の予約済み語彙については、各要素の定義を参照してください。

使用可能な要素: itemitemref、 および link

5.3.6 refines 属性

現在の式と、その値によって識別される要素またはリソースとの関連付けを確立します。 EPUB 作成者は、その値として path-relative-scheme-less-URL string を使用しなければなりません(MUST)。これには任意で U+0023 (#) および それらが記述しているリソースまたは要素を参照する URL-fragment string が続きます。

refines 属性は、表現されるメタデータの種類に応じて任意(OPTIONAL)です。 省略された場合、その要素は主式を定義します。

出版リソースについて式を作成する場合、refines 属性は、そのリソースのマニフェストエントリーID [xml] を参照する フラグメント識別子を指定すべきです(SHOULD)。

精密化チェーンは、循環参照または自己参照を含んではなりません(MUST NOT)。

使用可能な要素: link および meta

5.3.7 xml:lang 属性

それを持つ要素およびその子孫のテキスト内容と属性値の言語を、 [xml] の 2.12 言語 識別節で定義されるとおりに指定します。各 xml:lang 属性の値は、 整形式の言語タグ [bcp47] でなければなりません(MUST)。

使用可能な要素: collectionDublin Core 要素meta、 および package

5.4 package 要素

package 要素は、パッケージ文書で表現されるすべての情報をカプセル化します。

要素名:

package

用途:

パッケージ文書の必須(REQUIREDルート要素 [xml]。

属性:
内容モデル:

この順序で:

version 属性は、指定された EPUB 出版物が適合する EPUB 仕様 バージョンを指定します。この属性は、EPUB 3 への適合を示すために値 「3.0」を持たなければなりません(MUST)。

注記

この仕様の更新は EPUB 3 の新しいバージョンを表すものではありません(すなわち、各新しい 3.X 仕様は EPUB 3 形式の継続です)。作業グループは、既存のコンテンツを無効にするような変更を 最小化することに取り組んでおり、version 属性値を変更せずに維持できるようにしています。

unique-identifier 属性は、推奨または主要な 識別子を提供する dc:identifier 要素を識別する IDREF [xml] を取ります。

prefix 属性は、 この仕様で予約されていない接頭辞のための宣言機構を提供します。詳細については、 D.1.4 prefix 属性を参照してください。

5.5 メタデータセクション

5.5.1 metadata 要素

metadata 要素はメタ情報をカプセル化します。

要素名:

metadata

用途:

package の必須(REQUIRED)の最初の子。

属性:

なし

内容モデル:

任意の順序で:

パッケージ文書metadata 要素には、2 つの 主な機能があります。

  1. 読書システムEPUB 出版物を内部的に カタログ化し、ユーザーが利用できるようにする(例えば、 本棚に表示する)ための最小限のメタ情報セットを提供すること。

  2. コンテンツのレイアウトおよび表示を制御するために必要なすべてのレンダリングメタデータ (例えば、固定レイアウトプロパティ)へのアクセスを提供すること。

パッケージ文書は複雑なメタデータ符号化機能を提供しません。EPUB 作成者がより詳細な情報を提供する必要がある場合、 メタデータレコード(例えば、 [onix] のような国際標準に適合するもの、または独自の 目的で作成されたもの)を link 要素を使用して関連付けることができます。この方法により、読書システムはメタデータをその ネイティブ形式で処理でき、最小限のパッケージ文書構造を使用するための変換によって生じる 潜在的な問題や情報損失を避けられます。

この方針に従い、パッケージ文書には次の 最小限のメタデータ要件のみがあります。すなわち、[dcterms] dc:titledc:identifier、 および dc:language 要素を、[dcterms] dcterms:modified プロパティとともに含まなければなりません(MUST)。 その他すべてのメタデータは任意(OPTIONAL)です。

meta 要素は、任意の語彙からのメタデータプロパティを含めるための 汎用的な仕組みを提供します。EPUB 作成者は任意のメタデータ目的でこの仕組みを使用してもかまいませんが(MAY)、 通常は EPUB 仕様で定義されるレンダリングメタデータを含めるために使用します。

注記

アクセシビリティメタデータの推奨事項については、[epub-a11y-11] を参照してください。

5.5.2 メタデータ値

Dublin Core 要素 [dcterms] および meta 要素は、必須の 子テキスト内容 [dom] を持ちます。この仕様では、これらの要素の説明において、この内容を その要素の と呼びます。

これらの要素は、先頭および末尾の ASCII 空白 [infra] が除去された後に、空でない値を持たなければなりません(MUST) (すなわち、少なくとも 1 つの非空白文字から成らなければなりません)。

これらの要素値内の空白は重要ではありません。1 つ以上の空白 文字の連続は、処理中に 単一の 空白へ畳み込まれます [infra]。

5.5.3 Dublin Core

5.5.3.1 必須要素
5.5.3.1.1 dc:identifier 要素

dc:identifier 要素 [dcterms] は、 UUIDDOI、または ISBN などの識別子を含みます。

要素名:

dc:identifier

名前空間:

http://purl.org/dc/elements/1.1/

用途:

metadata の必須(REQUIRED)の子。 繰り返し可能。

属性:
  • id [条件付き必須]

内容モデル:

テキスト

EPUB 作成者は、1 つかつ唯一の EPUB 出版物に固有の識別子、すなわちその 一意識別子を、 dc:identifier 要素で提供しなければなりません(MUST)。 この dc:identifier 要素は、 package 要素の unique-identifier 属性から参照される値を持つ id 属性を指定しなければなりません(MUST)。

静的ではありませんが、EPUB 作成者は EPUB 出版物の一意識別子の変更を できるだけ少なくすべきです。一意識別子は、参照および配布の両方の目的で最大限の 永続性を持つべきです。EPUB 作成者は、メタデータの更新、正誤表の修正、または 類似の軽微な変更など、軽微な改訂を行う場合に新しい識別子を発行すべきではありません。

EPUB 作成者は追加の識別子を指定してもかまいません(MAY)。

注記

EPUB 作成者は、可能な限り識別子に absolute-URL strings [url] を使用することが推奨されます。例えば、EPUB 作成者が所有するドメインを含めることで識別子の一意性を高めることができ、また 名前空間 識別子 [rfc8141] を持つ URN を使用すると 読書システムによる処理が向上します。

EPUB 作成者は、dc:identifier 要素の値が確立された体系に適合すること、または 発行機関がそれを付与したことを示すために、 identifier-type プロパティを使用してもかまいません(MAY)。

5.5.3.1.2 dc:title 要素

dc:title 要素 [dcterms] は、 EPUB 出版物の名前のインスタンスを表します。

要素名:

dc:title

名前空間:

http://purl.org/dc/elements/1.1/

用途:

metadata の必須(REQUIRED)の子。 繰り返し可能。

属性:
内容モデル:

テキスト

文書順で最初の 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 を参照)。これらのセマンティクスを追加することは今でも可能ですが、 それらも十分にはサポートされていません。

5.5.3.1.3 dc:language 要素

dc:language 要素 [dcterms] は、 EPUB 出版物の内容の言語を指定します。

要素名:

dc:language

名前空間:

http://purl.org/dc/elements/1.1/

用途:

metadata の必須(REQUIRED)の子。 繰り返し可能。

属性:

id [任意]

内容モデル:

テキスト

dc:language 要素の は、 整形式の言語タグ [bcp47] でなければなりません(MUST)。

EPUB 作成者は、多言語出版物のために 追加の dc:language 要素を指定してもかまいませんが(MAY)、 読書システムは、文書順で最初の dc:language 要素を EPUB 出版物の主要言語として扱います。

注記

出版 リソースは、dc:language 要素から言語を継承しません。 EPUB 作成者は、その形式に固有の方法を使用してリソースの言語を設定しなければなりません。

5.5.3.2 任意要素
5.5.3.2.1 一般定義

[dcterms] 要素のうち、 dc:identifierdc:language、 および dc:title を除くすべては任意(OPTIONAL)として指定されます。これらの要素は次の 一般化された定義に適合します。

要素名:

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/

用途:

metadata の任意(OPTIONAL)の子。 繰り返し可能。

属性:
内容モデル:

テキスト

この仕様は、以降の節で注記される場合を除き、[dcterms] 要素 定義を変更しません。

5.5.3.2.2 dc:contributor 要素

dc:contributor 要素 [dcterms] は、コンテンツの作成において 副次的な役割を果たした人物、組織などの名前を表すために使用されます。

dc:contributor 要素の要件は、その他すべての点で dc:creator 要素の要件と同一です。

5.5.3.2.3 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 要素を使用して表すべきです。

5.5.3.2.4 dc:date 要素

dc:date 要素 [dcterms] は、 EPUB 出版物の出版日を定義します。出版日は、 最終更新日EPUB 作成者が EPUB 出版物を最後に変更した時点)と 同じではありません。

日付文字列は [iso8601-1]、 特に W3C Date and Time Formats [datetime] で表されるサブセットに 適合することが推奨されます(RECOMMENDED)。そのような文字列は人間にも 機械にも読み取り可能だからです。

EPUB 作成者は、追加の日付を [dcterms] 語彙、または類似の語彙で利用可能な 専用の日付プロパティを使用して表現すべきです。

EPUB 出版物は複数の dc:date 要素を含んではなりません(MUST NOT)。

5.5.3.2.5 dc:subject 要素

dc:subject 要素 [dcterms] は、 EPUB 出版物の主題を識別します。EPUB 作成者は、この要素の を人間が読める見出しまたはラベルに設定すべきですが、 主題分類体系が別個の説明ラベルを提供していない場合はコード値を使用してもかまいません。

EPUB 作成者は、その要素の を取得した体系またはスキームを、 authority プロパティを使用して識別してもかまいません(MAY)。

スキームが識別される場合、EPUB 作成者は term プロパティを使用して主題コードを 関連付けなければなりません(MUST)。

term プロパティは、スキームを指定しない dc:subject 要素に 関連付けてはなりません(MUST NOT)。

dc:subject 要素および term プロパティの は、 指定されたスキームが要求する場合にのみ大文字小文字を区別します。

5.5.3.2.6 dc:type 要素

dc:type 要素 [dcterms] は、EPUB 出版物が特殊な種類であることを示すために 使用されます(例えば、EPUB 形式でパッケージ化された注釈や辞書)。

EPUB 作成者は、任意の テキスト文字列を として使用してもかまいません(MAY)。

注記

以前の IDPF EPUB 3 作業グループは、この要素で使用するために 特殊な EPUB 出版物タイプの 非規範的な登録簿を維持していました。この作業グループはもはやその登録簿を維持しておらず、 新しい特殊出版物タイプを開発する予定もありません。

5.5.4 meta 要素

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 属性には 既定の語彙がありません(すなわち、すべての値は 接頭辞を必要とします)。

5.5.5 最終更新日

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 の以前のバージョンとの互換性を確保するためのものです。

5.6 マニフェストセクション

5.6.1 manifest 要素

manifest 要素は、コンテンツのレンダリングで使用される 出版リソースの網羅的な一覧を提供します。

要素名:

manifest

用途:

package の必須(REQUIRED)の第 2 子であり、 metadata に続きます。

属性:

id [任意]

内容モデル:

item [1 つ以上]

パッケージ 文書を除き、 manifest は、出版リソースが コンテナーリソースであるか リモートリソースであるかにかかわらず、すべての出版リソースを 列挙しなければなりません(MUST)。

パッケージ文書はすでに container.xml ファイルによって識別されているため、 manifest はそれに対する item 要素を指定してはなりません(MUST NOT) (すなわち、自己参照は何の目的にも役立ちません)。

注記

マニフェストは出版リソースを列挙するためだけのものです。リンクリソースおよび OCF コンテナー処理用の特別なファイル(すなわち、META-INF ディレクトリー内のファイル、および mimetype ファイル)は、含めることが制限されています。

出版リソースの完全なマニフェストを提供しないと、レンダリングの問題につながる可能性があります。 読書システムは、そのような リソースを展開しない場合や、セキュリティ上の理由からそれらへのアクセスを妨げる場合があります。

5.6.2 item 要素

item 要素は、出版リソースを表します。

要素名:

item

用途:

manifest の子として。 繰り返し可能。

属性:
内容モデル:

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 要素がコンテンツ文書の提示シーケンスを提供します。

5.6.2.1 リソースプロパティ

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)。

5.6.2.2

5.6.3 bindings 要素(非推奨)

bindings 要素は、この仕様でサポートされていないメディアタイプに対する カスタムハンドラーの集合を定義します。

この要素の使用は非推奨です。

詳細については、[epubpublications-301] の bindings 要素定義を参照してください。

5.7 スパインセクション

5.7.1 spine 要素

spine 要素は、既定の読書順序を表すマニフェスト item 参照の順序付きリストを定義します。

要素名:

spine

用途:

package の必須(REQUIRED)の第 3 子であり、 manifest に続きます。

属性:
内容モデル:

itemref [1 つ以上]

spine は少なくとも 1 つの EPUB コンテンツ文書または 外部コンテンツ文書を指定しなければなりません(MUST)。

EPUB 作成者は、 spine 内の出版リソースからハイパーリンクされるすべての EPUB および 外部コンテンツ文書を、spine に列挙しなければなりません(MUST)。ここでハイパーリンクとは、ユーザーに現在のリソースから 離れるナビゲーションを要求する任意のリンク機構を包含します。一般的なハイパーリンク機構には、 [html] a および area 要素の href 属性、およびスクリプト化リンク(例えば、 DOM Events やフォーム要素の使用)が含まれます。ハイパーリンクされたリソースを列挙する要件は 再帰的に適用されます(すなわち、EPUB 作成者はハイパーリンクされた文書から ハイパーリンクされるすべての EPUB および外部コンテンツ文書を列挙しなければならず、 以降も同様です)。

EPUB 作成者は、EPUB ナビゲーション文書を spine に含めるかどうかにかかわらず、 EPUB ナビゲーション文書から ハイパーリンクされるすべての EPUB および外部コンテンツ文書も spine に列挙しなければなりません(MUST)。

注記

EPUB コンテナー外のリソースへのハイパーリンクは 出版リソースではないため、 スパインに含める要件の対象ではありません(例えば、Web ページや Web 上でホストされる リソース)。

スパイン項目のレンダリングで使用される出版リソース(例えば、[html] 埋め込みコンテンツから参照されるもの)も同様に スパインに含める必要はありません。

page-progression-direction 属性は、コンテンツが流れるグローバルな方向を設定します。許可される値は ltr(左から右)、rtl(右から左)、および default です。 EPUB 作成者が default 値を指定する場合、方向の希望を示しておらず、 読書システムがレンダリング方向を選択できます。

page-progression-direction 属性はグローバルなフロー方向を設定しますが、 個々の EPUB コンテンツ文書および EPUB コンテンツ文書の一部は、この設定を 上書きしてもかまいません(MAY) (例えば、CSS の writing-mode プロパティを介して)。読書システムも、 既定方向を上書きする機構(例えば、代替スタイルシートの適用を可能にする ボタンや設定)を提供する場合があります。

レガシー toc 属性は、IDREF [xml] を取り、 NCX を表すマニフェスト項目を識別します。

5.7.2 itemref 要素

itemref 要素は、既定の読書順序における EPUB コンテンツ文書または 外部コンテンツ文書を識別します。

要素名:

itemref

用途:

spine の子として。 繰り返し可能。

属性:
内容モデル:

itemref 要素は、その idref 属性内の IDREF [xml] を介して、 マニフェスト内の itemID [xml] を 参照しなければなりません(MUST)。 item 要素の 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)。

5.8 コレクション

5.8.1 collection 要素

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)。

特殊なコレクションを作成するための要件は、それぞれの仕様によって定義されます。

注記

以前の IDPF EPUB 3 作業 グループは、役割 拡張の登録簿カスタム 拡張役割の一覧の両方を維持していました。この作業グループは、もはやこれらの登録簿を維持していません。

5.8.2 コレクション型の定義(非推奨)

新しい collection 要素の役割を作成することは、現在 非推奨です。

特殊なコレクションの作成に関する詳細(その使用に関する要件および制限を含む)については、 [epubpackages-32] の collection 要素定義を参照してください。

5.9 レガシー機能

5.9.1 はじめに

パッケージ文書のレガシー機能は、EPUB 2 出版物のみをサポートする 読書システムで、ある程度機能できるコンテンツを EPUB 作成者が作成できるようにするためだけに、 EPUB 2 から保持されています。

これらの機能は、主に EPUB 3 読書システムが開発されていた移行期間に対応するために追加されました。 当時は、ユーザーが EPUB 2 読書システムで EPUB 3 出版物を開く可能性がまだ高かったためです。

EPUB 2 出版物のみを扱う読書システムは現在ではまれであるため、EPUB 作成者は これらのレガシー機能を追加する労力をかける前に、自分たちの出版物がその種の古いデバイスで なお開かれる可能性を考慮すべきです。

5.9.2 サポート

EPUB 作成者は、EPUB 2 読書システムとの互換性の 目的で、この節で定義されるレガシー機能を含めてもかまいません(MAY)。

EPUB 3 読書システムは、出版物をユーザーに提示するときにこれらの機能を使用しません。

注記

EPUB 適合性チェッカーは、 EPUB 出版物に レガシー機能が存在することについて、EPUB 作成者に警告すべきではありません。後方互換性のために それらを含めることは妥当だからです。EPUB 適合性チェッカーは、レガシー機能がその定義に 適合しない場合、またはその他の方法で使用要件に違反する場合には、EPUB 作成者に警告しなければなりません。

5.9.3 meta 要素

meta 要素 [opf-201] は、EPUB 2 読書システム向けの 汎用メタデータを含める手段を提供します。

詳細については、 [opf-201] の meta 要素定義を参照してください。

注記

EPUB 3 の meta 要素は、異なる属性を使用し、テキスト内容を必要とするものであり、 EPUB 3 読書システム向けのメタデータ機能を提供します。

[opf-201] の meta 要素は、 EPUB 2 読書システム向けに表紙 画像を識別することも EPUB 作成者に許可します。EPUB 3 では、表紙画像は画像用の マニフェスト item 上の cover-image プロパティを使用して識別しなければなりません。

5.9.4 guide 要素

guide 要素 [opf-201] は、 EPUB 2 読書システムにおける主要構造への 機械処理可能なナビゲーションを提供します。

詳細については、 [opf-201] の guide 要素 定義を参照してください。

注記

landmarks nav は、 EPUB ナビゲーション文書内で、 EPUB 3 読書システムにこの機能を提供します。

5.9.5 NCX

NCX [opf-201] は、EPUB 2 読書システム向けの目次を提供します。

詳細については、 [opf-201] の NCX 定義を参照してください。

注記

EPUB ナビゲーション文書は、EPUB 3 読書システム向けに NCX を置き換えます。

6. EPUB コンテンツ文書

6.1 XHTML コンテンツ文書

6.1.1 はじめに

この節は非規範的です。

この節は、XHTML コンテンツ文書を作成するための [html] のプロファイルを定義します。このプロファイルに適合する XML 文書のインスタンスは、コアメディアタイプリソースであり、 この仕様では XHTML コンテンツ文書と呼ばれます。

6.1.2 XHTML の要件

XHTML コンテンツ文書は:

  • [html] 文書であり、XML 構文に適合しなければなりません(MUST)。

  • 6.1.4 HTML の逸脱および制約で明示的に上書きされない限り、[html] によって定義されるすべての 文書構成要素の適合性基準に適合しなければなりません(MUST)。

  • 6.1.3 HTML 拡張で定義されるように、[html] 文法への拡張を含めてもかまいません(MAY)。 また、そこで定義されるすべての内容適合性制約に適合しなければなりません(MUST)。

別途指定されない限り、XHTML コンテンツ文書は、セマンティクス、 構造、および処理動作に関するすべての定義を [html] 仕様から継承します。

注記

EPUB 出版物が [epub-a11y-11] のアクセシビリティ要件に従うという推奨は、 XHTML コンテンツ文書に適用されます。アクセシビリティを参照してください。

6.1.3 HTML 拡張

この節は、基礎となる [html] 文書モデルに対する EPUB 3 XHTML コンテンツ文書 拡張を定義します。

注記

[html] は、ユーザーエージェントが ベンダー中立拡張をサポートすることを許可していますが、 そのような拡張がこの節に列挙されていない限り、それらは EPUB 3 のサポート対象機能ではありません。

6.1.3.1 構造セマンティクス

EPUB 作成者は、 XHTML コンテンツ文書内で 構造セマンティクスを表現するために、 epub:type 属性を使用してもかまいません(MAY)。

この属性は、head 要素または メタデータ内容 [html] で使用してはなりません(MUST NOT)。

6.1.3.2 RDFa

[html-rdfa] 仕様は、 EPUB 作成者XHTML コンテンツ文書内でコンテンツをセマンティックに 豊かにするために使用してもよい(MAY)属性セットを定義しています。これらの属性の使用は、 [html-rdfa] で定義される要件に適合しなければなりません(MUST)。

[html-rdfa] 仕様は、著者が RDFa 属性を使用するときの [html] 内容モデルへの変更を定義しています。 この変更された内容モデルは XHTML コンテンツ文書で妥当です。

注記

RDFa の列挙は作業グループ側の優先を表すものではなく、これらの属性が HTML 文法の拡張を表すことだけを示します。EPUB 作成者は、XHTML コンテンツ文書内で microdata 属性 [html] および リンクデータ [json-ld11] も指定できます。どちらもネイティブにサポートされているためです。

6.1.3.3 コンテンツ 切り替え(非推奨)

switch 要素は、EPUB 作成者が ユーザーに表示されるコンテンツを調整できる簡単な仕組みを提供します。これは EPUB 読書システムの スクリプト機能に依存しません。

この要素の使用は非推奨です。

詳細については、 [epubcontentdocs-301] の switch 要素定義を参照してください。

6.1.3.4 epub:trigger 要素(非推奨)

trigger 要素は、スクリプト付きおよびスクリプトなしの両方のコンテキストで、 音声や動画の再生などのマルチメディアオブジェクトを制御するための、 マークアップ定義のユーザーインターフェイスの作成を可能にします。

この要素の使用は非推奨です。

詳細については、 [epubcontentdocs-301] の epub:trigger 要素定義を参照してください。

6.1.3.5 カスタム属性

XHTML コンテンツ文書は、 カスタム属性を含んでもかまいません(MAY)。カスタム属性とは、 その名前空間 URL の ドメイン [url] に次のいずれの文字列も含まない、 接頭辞付き [xml-names] 属性です。

  • w3.org
  • idpf.org

カスタム属性を使用する場合、コンテンツは、どの 読書システムで レンダリングされるかにかかわらず、情報損失やその他の重大な劣化なしに ユーザーが利用可能なままでなければなりません(MUST)。

注記

カスタム属性は通常、読書システム固有の方法で定義され、他の読書システムでの 使用を意図していません。この仕様は、複数の独立した読書システムが使用できる 拡張を提供するよう拡張されるべきです。

6.1.4 HTML の逸脱および 制約

この節は、EPUB 3 XHTML コンテンツ文書に適用される、 基礎となる [html] 文書 モデルからの逸脱およびそれに対する制約を定義します。

6.1.4.1 埋め込み MathML

XHTML コンテンツ文書は、埋め込み [mathml3] をサポートします。 MathML マークアップの出現箇所は、次の追加制限とともに、 MathML 仕様 [mathml3] に示される制約に 適合しなければなりません(MUST)。

Presentation MathML

math 要素は、 annotation-xml 要素内を除き、 Presentation MathML のみを 含まなければなりません(MUST)。

Content MathML

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 を含むことを示します。

6.1.4.2 埋め込み SVG

XHTML コンテンツ文書は、SVG の埋め込みをサポートします。

注記

マニフェストitem 要素の svg プロパティは、XHTML コンテンツ文書が 埋め込み SVG(参照によるもの、または包含によるもの)を含むことを示します。

6.1.4.3 推奨されない構成要素

この節は非規範的です。

6.1.4.3.1 base 要素

[html] の base 要素は、URL を解析する目的で 文書ベース URLを指定するために使用できます。 これを EPUB 出版物で使用すると、 base 要素の解釈によって、意図せず リモートリソースへの参照が生じる可能性があります。また、 読書システムがハイパーリンクの位置を誤解する原因にもなり得ます (例えば、base 要素が絶対 URL を指定している場合、出版物内の他の文書への 相対リンクが Web サイトへのリンクのように見える可能性があります)。重大な相互運用性の問題を 避けるため、EPUB 作成者base 要素を使用すべきではありません。

6.1.4.3.2 rp 要素

[html] の rp 要素は、ルビマークアップを認識しない古い 読書システムに フォールバックを提供することを意図しています(すなわち、ruby マークアップの周囲に 括弧表示を行うこと)。EPUB 3 読書システムはルビを認識し、フォールバックを提供できるため、 EPUB 作成者rp 要素を使用すべきではありません。

6.1.4.3.3 embed 要素

[html] の embed 要素は、スクリプトをサポートしない 読書システムに対して フォールバックコンテンツを提供する内在的な機能を含まないため、参照されるリソースに スクリプトが含まれる場合、EPUB 作成者は この要素の使用を避けることが推奨されます。[html] の object 要素は、内在的なフォールバック 機能を含むため、よりよい代替です。

6.2 SVG コンテンツ文書

注意

読書システムは、 [svg] のすべての機能を サポートしていない場合や、読書システムが動作するすべての プラットフォームでそれらをサポートしていない場合があります。そのような機能を利用する場合、 EPUB 作成者は 相互運用性および文書の長期利用性に固有のリスクを考慮すべきです。

6.2.1 はじめに

この節は非規範的です。

Scalable Vector Graphics (SVG) 仕様 [svg] は、 最終形式のベクターグラフィックスおよびテキストを表現する形式を定義します。

EPUB 作成者は通常、XHTML コンテンツ文書トップレベル文書型として使用しますが、 SVG コンテンツ文書 の使用も許可されています。EPUB 作成者が SVG を必要とするのは通常、特定の特殊な場合に限られます。 例えば、最終形式のページ画像がコンテンツの唯一適切な表現である場合(表紙アート、 または漫画やコミックブックの文脈など)です。

この節は、[svg] 文書のプロファイルを定義します。このプロファイルに 適合する XML 文書のインスタンスは コアメディアタイプリソースであり、この 仕様では SVG コンテンツ文書と呼ばれます。

注記

この節は SVG コンテンツ文書の適合性要件を定義します。XHTML コンテンツ文書に埋め込まれる SVG の適合性要件については、6.1.4.2 埋め込み SVG を参照してください。

6.2.2 SVG の要件

SVG コンテンツ文書は、 適合 SVG スタンドアロンファイル [svg] であり、6.2.3 SVG に関する 制限で示されるすべての内容適合性制約に適合しなければなりません(MUST)。

注記

EPUB 出版物が [epub-a11y-11] のアクセシビリティ要件に従うという推奨は、 SVG コンテンツ文書に適用されます。アクセシビリティを参照してください。

6.2.3 SVG に関する制限

この仕様は、SVG コンテンツ文書および XHTML コンテンツ文書内に包含によって埋め込まれる SVGの内容モデルを、次のように制限します。

  • [svg] の foreignObject 要素:

  • [svg] の title 要素がマークアップ付きテキストを含む場合、そのマークアップは HTML 名前空間 [infra] で宣言された要素のみを 含まなければなりません(MUST)。

    注記

    [svg] の title 要素はマークアップ 要素を許可しますが、この機能のサポートは限定的です。EPUB 作成者は、最大限の相互運用性のために テキストのみの題名を使用することが推奨されます。

  • 指定される場合、 epub:type 属性は、 レンダリング可能要素 [svg] にのみ 含められなければなりません(MUST)。

    注記

    SVG 内容モデルは、著者が 名前空間付き属性を含めることを許可しているため、 この仕様で epub:type 属性や 語彙関連付け 機構を許可する必要はありません。

    ただし、参照によって埋め込まれる SVG と包含によって埋め込まれる SVG の重要な違いの 1 つは、 包含によって埋め込まれる SVG は、そのルート svg 要素に epub:prefix 属性を持てないことです [svg]。詳細については、D.1.4 prefix 属性を参照してください。

6.3 共通リソース要件

この節は、XHTML および SVG コンテンツ文書の両方で使用可能な技術の要件を定義します。

6.3.1 Cascading Style Sheets (CSS)

6.3.1.1 はじめに

この節は非規範的です。

CSS は Open Web Platform の不可欠な一部です。読者、出版社、および文書著者は、 HTML が「そのまま動作する」ことを期待するように、CSS も「そのまま動作する」ことを期待します。

過去には、EPUB は、特定のプロパティのサポートを義務付け、多数のその他のプロパティの 接頭辞付きバージョンを提供する CSS のプロファイルを定義していました。CSS Working Group は 接頭辞付きプロパティの使用をもはや推奨していませんが、この仕様は既存コンテンツを壊さないために 一部の接頭辞付きプロパティを維持しています。ただし、この節で定義される小さな例外を除き、 EPUB は CSS の定義を W3C に委ねます。

注記

一部の 読書システムは、CSS の望まれるすべての機能を サポートしないことに留意してください。次のものは特に問題が多いことが知られています。

  • 読書システムによって誘発されるページ分割は、読書システムが列を使用してページ分割することがあるため、 スタイルシートとうまく相互作用しない場合があります。これにより、ビューポートサイズに対して 不正な値が生じる可能性があります。固定配置および絶対配置は特に問題になります。

  • 一部の種類の画面では、アニメーションやトランジションがうまくレンダリングされない場合があります (例えば、高遅延のもの)。

6.3.1.2 CSS の要件

CSS スタイルシートは:

注記

この仕様は、direction および unicode-bidi プロパティの使用を制限します。これは、読書システムが CSS 処理を 実装していない、または無効にする可能性があるためです。EPUB 作成者は、レンダリングのこれらの側面を制御する必要がある場合、次の 形式固有の方法を使用しなければなりません。

6.3.1.3 接頭辞付きプロパティ

EPUB の以前のバージョンには、世界の諸言語に関連する多くの CSS 機能がまだ成熟していなかったため、 接頭辞付き CSS プロパティが含まれていました。これらの接頭辞を使用して作成されたコンテンツの 後方互換性を確保するため、この仕様ではそれらが保持されています。別途注記されない限り、 接頭辞付きプロパティおよび値は、適切な CSS 仕様に記述される接頭辞なしの同等物と まったく同じように動作します。接頭辞付きプロパティは E. 接頭辞付き CSS プロパティに記載されています。

注意

EPUB 作成者は接頭辞なしのプロパティを使用すべきであり、 読書システムは 現在の CSS 仕様をサポートすべきです。この仕様は、[epubcontentdocs-301] から広く使用されている接頭辞付き プロパティを保持しますが、使用頻度の低いもののサポートは削除します。EPUB 作成者は、削除されたプロパティについて、利用可能な場合は常に CSS ネイティブの解決策を 使用すべきです。

作業グループは、現在これらの接頭辞付きプロパティを使用している EPUB 作成者に対し、 サポートが許す限り早く接頭辞なしのバージョンへ移行することを推奨します。作業グループは、 EPUB の次のメジャーバージョンでそれらをサポートすることを想定していないためです。

6.3.2 スクリプト

6.3.2.1 スクリプトの組み込み

EPUB コンテンツ文書は、それぞれの基礎仕様 ([html] および [svg])でこれについて定義されている機能を使用して、 スクリプトを含んでもかまいません(MAY)。EPUB コンテンツ文書がスクリプトを含む場合、この仕様ではそれを スクリプト付きコンテンツ文書と呼びます。この ラベルは、[html] form 要素を含む XHTML コンテンツ文書にも 適用されます。

マニフェストitem 要素の scripted プロパティは、EPUB コンテンツ文書が スクリプト付きコンテンツ文書であることを示すために使用されます。

[html] の script 要素が データ ブロック [html] を含む場合、それはスクリプト付きコンテンツを表しません。

注記

[svg] は公開時点でデータブロックを定義していませんが、 将来の更新でこの概念が追加された場合、同じ除外が適用されます。

EPUB 作成者は、 読書システムが、各 EPUB 出版物に一意の オリジン [html] が割り当てられたかのように振る舞うことを 要求されている点に注意すべきです。実際には、これはスクリプトが EPUB 出版物間で データを共有できないことを意味します。

スクリプトがどの コンテキストで使用されるかも、 読書システムがそれに与える権限および制限を決定します(詳細については Scripting [epub-rs-33] を参照)。

注記

読書システムは、他の EPUB 機能を無効にしたり、異なるレンダリングおよびユーザー体験を 提供したりする方法で、スクリプト付きコンテンツ文書をレンダリングする場合があります (例えば、ページ分割を無効にすることによって)。

6.3.2.2 スクリプトコンテキスト

EPUB 3 は、スクリプト実行のために 2 つのコンテキストを定義します。

注記

スクリプトは他のコンテキストで実行される場合がありますが、これらのコンテキストに対する 読書システムのサポートは 任意です。例えば、スクリプト付き SVG 文書は、[html] object 要素から参照される場合があります。

詳細については、スクリプトの処理 [epub-rs-33] を参照してください。

EPUB 作成者がコードを script 要素内に直接埋め込むか、 その要素の src 属性を介して参照するかは、その 実行コンテキストに違いを生じさせません。

EPUB 作成者がスクリプトに使用するコンテキストは、次の 小節で説明されるように、スクリプトが実行できる動作と、読書システムでサポートされる可能性の両方に 影響します。

注記

2 つのコンテキストの違いの例については、 H.2 スクリプトコンテキストを参照してください。

6.3.2.2.1 コンテナー制約付きスクリプト

コンテナー制約付きスクリプトとは、次のいずれかです。

コンテナー制約付きスクリプトは、それを埋め込む EPUB コンテンツ文書(すなわち、 iframe 要素を含むもの)の DOM を変更する命令を含んではなりません(MUST NOT)。また、その包含矩形のサイズを操作する命令も含んではなりません(MUST NOT)。

EPUB 作成者は、 読書システムにおけるコンテナー制約付きスクリプトの サポートが、リフロー可能文書でのみ推奨されていることに注意すべきです [epub-rs-33]。さらに、 読書システム固定レイアウト文書でのサポートは任意です。

EPUB 作成者は、スクリプトをサポートしない読書システムで、コンテナー制約付きスクリプトが 適切に劣化するようにすべきです(6.3.2.5 スクリプトのフォールバックを参照)。

注記

スクリプトの使用をコンテナー制約付きモデルに限定する EPUB 作成者は、 スクリプト付きコンテンツとスクリプトなしコンテンツの間で、より一貫したユーザー体験 (例えば、一貫したページ分割動作)を確保できます。

6.3.2.2.2 スパインレベル スクリプト

スパインレベルスクリプトとは、 トップレベルコンテンツ文書内に含まれる、 [html] script または [svg] の script 要素のインスタンスです。

EPUB 作成者は、 読書システムにおける スパインレベルスクリプトのサポートは、固定レイアウト文書 および スクロールに設定されたリフロー可能文書 [epub-rs-33] でのみ推奨されていることに 注意すべきです。さらに、その他すべてのコンテキストでの読書システムの サポートは任意です。

スパインレベル スクリプトを含む トップレベルコンテンツ文書は、 スクリプトが無効または利用できない場合でも(例えば、 プログレッシブエンハンスメント技術や フォールバックを採用することにより)、 情報損失やその他の重大な劣化なしにユーザーが利用可能なままであるべきです(SHOULD)。 トップレベルコンテンツ文書でスクリプトなし環境を考慮しないと、 EPUB 出版物が読めなくなる可能性があります。

6.3.2.3 イベントモデル

この節は非規範的です。

EPUB 作成者は、自身の EPUB 出版物にスクリプト機能を追加する場合、 読書システム 実装の多様性を考慮すべきです(例えば、すべてのデバイスに物理キーボードがあるわけではなく、 多くの場合、ソフトキーボードはテキスト入力要素に対してのみ有効化されます)。したがって、 EPUB 作成者はキーボードイベントだけに依存すべきではありません。目的の動作をトリガーするための 代替手段を常に提供すべきです。

6.3.2.4 スクリプトの アクセシビリティ

スクリプトを含む EPUB コンテンツ文書は、 コンテンツがすべてのユーザーに利用可能なままであることを確保するため、関連する [wai-aria] アクセシビリティ技術を採用すべきです(SHOULD)。

6.3.2.5 スクリプトのフォールバック

スクリプトを含む EPUB コンテンツ文書は、 そのようなコンテンツに対してフォールバックを提供してもかまいません(MAY)。 これは、([html] object および canvas 要素で利用できるものなどの)内在的なフォールバック機構を使用するか、内在的な フォールバックが適用できない場合は、マニフェストレベルの フォールバックを使用することによります。

EPUB 作成者は、スクリプトが コアメディアタイプリソースまたはそのフラグメントのみを 生成することを保証しなければなりません(MUST)。

7. EPUB ナビゲーション文書

7.1 はじめに

この節は非規範的です。

EPUB ナビゲーション文書は、必須コンポーネントである EPUB 出版物の一部です。これにより、EPUB 作成者は、人間にも機械にも読み取り可能な グローバルなナビゲーション層を含めることができ、それによってユーザーの使いやすさとアクセシビリティを 高められます。

EPUB ナビゲーション文書は、XHTML コンテンツ文書の特別な型であり、 目次読書 システム向けに定義します。また、ページリストや、 主要なランドマークのリストなど、他の 特殊なナビゲーション要素を含めることもできます。これらのナビゲーション要素には、その処理を容易にするため、 内容に関する追加の制限があります。

ただし、EPUB ナビゲーション文書は機械処理専用ではありません。特殊な ナビゲーション要素の外側では、EPUB ナビゲーション文書の構造や内容に制限はありません (すなわち、EPUB 作成者は文書の残りの部分を他の XHTML コンテンツ文書と同じようにマークアップできます)。その結果、それを線形読書順序の一部にすることもでき、 重複した目次を用意する必要を避けられます。EPUB 作成者は、機械処理専用の ナビゲーション要素(例えばページリスト)を hidden 属性で非表示にできます。

読書システムは、EPUB ナビゲーション文書内で見つかった情報から ナビゲーションインターフェイスを生成する際、スクリプト、スタイル、および HTML 書式を取り除く場合があり、 その結果が読みづらくなる可能性があることに注意してください。EPUB 作成者がそのような書式や機能を必要とする場合は、 EPUB ナビゲーション文書も スパインに含めるべきです。ナビゲーション文書のスクリプト化および スタイリングにプログレッシブエンハンスメント技術を使用すると、非ブラウザーコンテキストでレンダリングされる際にも コンテンツの完全性を保持するのに役立ちます。

7.2 ナビゲーション文書の 要件

妥当な EPUB ナビゲーション文書は:

7.3 nav 要素: 制限

nav 要素が EPUB ナビゲーション文書内で epub:type 属性を持つ場合、この仕様はその要素およびその子孫の内容モデルを 次のように制限します。

内容モデル:
nav

この順序で:

  • h1-h6 [0 または 1]

  • ol [ちょうど 1 つ]

ol

この順序で:

  • li [1 つ以上]

li

この順序で:

  • (span または a) [ちょうど 1 つ]

  • ol [条件付き必須]

span および a

任意の順序で:

これらの要素で許可される属性には制限がないことに注意してください。

追加要件については、以下の定義を参照してください。

nav 要素の内容モデルについての以下の詳述は、各種要素の目的と制限を説明します。

注意

nav 要素内の見出しおよびリンクは、任意の [html] の フレージングコンテンツを許可しますが、アプリベースの読書システムは多くの場合、 単純なテキストラベルのみをサポートします。これらのアプリは HTML レンダリングに基づかない 独自のナビゲーションウィジェットを作成するため、埋め込み画像やマルチメディア、MathML、 インラインスタイル、およびその他の要素や属性に基づくレンダリング命令を保持できないことがよくあります。 EPUB 作成者は、それらが存在しないことで使いやすさの問題が生じる可能性がある場合、 これらの種類の要素の使用を避けるべきです。

適合する XHTML コンテンツ文書として、EPUB 作成者は EPUB ナビゲーション文書を スパインに 含めてもかまいません(MAY)。

この仕様の文脈では、nav 要素内のリスト項目の 既定の表示スタイルは、list-style: none プロパティ [csssnapshot] と等価です。EPUB 作成者は、 スパイン内での文書のレンダリングのため、CSS を使用して代替のリスト スタイルを指定してもかまいません(MAY)。

7.4 nav 要素: 型

7.4.1 はじめに

この節は非規範的です。

EPUB ナビゲーション文書内で定義される nav 要素は、その epub:type 属性の値によってセマンティックに区別されます。

この仕様は、次の 3 種類のナビゲーション支援を定義します。

toc

目次を含む nav 要素を識別します。 toc nav は、EPUB 作成者が EPUB ナビゲーション文書に含めなければならない 唯一のナビゲーション支援です。

page-list

印刷物またはその他の静的にページ分割されたソースのページリストを含む nav 要素を識別します。

landmarks

関心地点のリストを含む nav 要素を識別します。

EPUB ナビゲーション文書は、これらの型それぞれについて、最大 1 つのナビゲーション支援を含められます。

EPUB ナビゲーション文書は、追加のナビゲーション型を含めることができます。詳細については 7.4.5 その他の nav 要素を参照してください。

7.4.2 toc nav 要素

EPUB 出版物の主要なナビゲーション階層は、 nav 要素 [html] 内で定義され、その epub:type 属性は値「toc」[epub-ssv-11] に設定されます (すなわち、toc nav 要素)。この要素は概念的には印刷物の目次に対応し、 出版物の主要な構造セクションへのナビゲーションを提供します。

EPUB 作成者は、toc nav 要素内の 参照を、次の両方を反映するように順序付けるべきです(SHOULD)。

7.4.3 page-list nav 要素

ページリストは、コンテンツ内の静的なページ境界へのナビゲーションを提供します。これらの境界は、 印刷物などの静的にページ分割されたソースに対応する場合もあれば、 EPUB 出版物専用に定義される場合もあります。

ページリストは、 nav 要素 [html] 内で定義され、その epub:type 属性は 値「page-list」[epub-ssv-11] に設定されます (すなわち、page-list nav 要素)。

page-list nav 要素は、EPUB ナビゲーション文書では任意(OPTIONAL)であり、複数回 出現してはなりません(MUST NOT)。

page-list nav 要素は、単一の ol 子孫のみを含むべきです(SHOULD) (すなわち、入れ子のサブリストを持ちません)。

EPUB 作成者は、それぞれの EPUB コンテンツ文書内で、 pagebreak 用語 [epub-ssv-11] を使用して page-list 参照の宛先を識別してもかまいません(MAY)。

7.4.4 landmarks nav 要素

ランドマークは、読書システムがユーザーに対してそれらへの効率的なアクセスを 提供できるように、コンテンツの基本的な構造コンポーネントを識別します (例えば、ユーザーインターフェイス内の専用ボタンを通じて)。

ランドマークは、 nav 要素 [html] 内で定義され、その epub:type 属性は 値「landmarks」[epub-ssv-11] に設定されます (すなわち、landmarks nav 要素)。

landmarks nav 要素は、EPUB ナビゲーション文書では任意(OPTIONAL)であり、複数回 出現してはなりません(MUST NOT)。

landmarks nav 要素は、単一の ol 子孫のみを含むべきです(SHOULD) (すなわち、入れ子のサブリストを持ちません)。

epub:type 属性は、landmarks nav 要素の a 要素子孫において 必須(REQUIRED)です。landmarks nav 要素内の各リンクターゲットの 構造セマンティクスは、この属性の値によって決定されます。

landmarks nav は、同じリソースまたはそのフラグメントを参照する、 同じ epub:type 値を持つ複数のエントリーを 含んではなりません(MUST NOT)。

EPUB 作成者は、landmarks nav 内で定義する 項目の数を、読書システムがユーザーインターフェイスで使用する可能性の高い項目のみに 制限すべきです。この要素は目次を繰り返すことを意図したものではありません。

利用可能な場合、次のランドマークを含めることが推奨されます。

  • bodymatter [epub-ssv-11] — 読書 システムは、読書開始時に前付けを飛ばしてユーザーを自動的に移動させるため、このランドマークをよく使用します。
  • toc [epub-ssv-11] — 目次が スパイン内で利用可能な場合、読書システムはこのランドマークを使用して、ユーザーをそれを含む文書へ 移動させることがあります。

landmarks nav に含めるその他の候補としては、索引や用語集などの主要な参照セクションがあります。

landmarks nav は読書システムでの使用を意図していますが、EPUB 作成者は landmarks nav のラベルが人間に読めるものであることをなお確保すべきです。読書 システムは、リンクをユーザーに直接公開する場合があります。

7.4.5 その他の nav 要素

EPUB ナビゲーション文書は、前節で定義された tocpage-list、および landmarks nav 要素に加えて、 1 つ以上の nav 要素を含んでもかまいません(MAY)。これらの nav 要素が 読書システム処理を意図している場合、それらは epub:type 属性を持たなければならず(MUST)、7.3 nav 要素: 制限で定義される内容モデル 制限の対象になります。

この仕様は、追加の nav 要素のセマンティクスに制限を課しません。それらは任意の情報 ドメインに対するナビゲーションセマンティクスを表してもよく(MAY)、 同質または異質のセマンティクスを持つリンクターゲットを 含んでもかまいません(MAY)。

7.5 スパイン内での使用

この節は非規範的です。

EPUB ナビゲーション文書スパイン内で再利用することは可能ですが、 すべてのナビゲーション構造、またはその中のすべての分岐が必要とは限らない場合がよくあります。 EPUB 作成者は、多くの場合、 ページリストおよび ランドマークのナビゲーション 要素を非表示にしたり、多数の小節レベルを持つ書籍について目次の分岐を切り詰めたりしたいと考えます。

display プロパティ [csssnapshot] は、 読書システムにおける EPUB ナビゲーション文書の視覚的レンダリングを、 ビューポートを持つ場合に制御しますが、 ビューポートを持たない読書システムは CSS をサポートしない場合があります。これらの読書システムで適切な レンダリングをより確実にするため、EPUB 作成者は [html] hidden 属性を使用して、ナビゲーションデータのどの部分(もしあれば)を コンテンツフローでのレンダリングから除外するかを示すべきです。

hidden 属性は、読書システムがコンテンツフローの外側でナビゲーションデータを どのようにレンダリングするか(例えば、読書システムが提供する専用ナビゲーションユーザーインターフェイス内)には 影響しません。

注記

hidden 属性は、すべての読書システム間での相互運用性を最大化するために、 display プロパティと併用できます。

8. レイアウトレンダリング制御

8.1 はじめに

この節は非規範的です。

すべてのレンダリング情報を、EPUB が基盤として構築されている技術によって表現できるわけではありません。 例えば、CSS を伴う HTML は強力なレイアウト機能を提供しますが、それらの機能は レンダリングされる文書の範囲に限定されます。

この節は、EPUB 作成者がパッケージレベルの レンダリング意図(すなわち、EPUB 読書システムによってのみ実装できる機能)を表現できるようにするプロパティを定義します。読書システムが 目的のレンダリングをサポートする場合、これらのプロパティにより、EPUB 作成者が最適に設計した形で コンテンツをユーザーに提示できます。

8.2 固定レイアウト

8.2.1 はじめに

この節は非規範的です。

EPUB 出版物は、印刷本や PDF ファイルとは異なり、 変化するように設計されています。コンテンツは、画面に合わせ、ユーザーのニーズに合わせて 流動、またはリフローします。Rendering and CSS で述べられているように、 「コンテンツの提示はユーザーに適応し、ユーザーがコンテンツの特定の提示に適応する必要はありません。」 [epub-overview-33]

しかし、この原則がすべての種類の文書に有効なわけではありません。コンテンツとデザインが 非常に密接に結び付いていて、それらを分離できないことがあります。見た目を少しでも変えると、 意味が変わったり、すべての意味が失われたりする危険があります。 固定レイアウト文書は、 リフロー可能な EPUB がコンテンツに適さない場合に、EPUB 作成者が提示をより細かく制御できるようにします。

EPUB 作成者は、パッケージ文書プロパティの集合を使用して、 読書システムでのレンダリングを制御することで、 固定レイアウトを定義します。さらに、それぞれの EPUB コンテンツ文書内で 各固定レイアウト文書の寸法を設定します。

注記

EPUB 3 は、固定レイアウトコンテンツを表現する複数の仕組みを提供します。固定レイアウト コンテンツが必要な場合、EPUB 作成者がどの仕組みを選ぶかは、望まれる精度の度合い、 ファイルサイズ、アクセシビリティなど、多くの要因に依存します。この節は、EPUB 作成者が 選ぶ仕組みを規定しようとするものではありません。

8.2.2 固定レイアウトパッケージ 設定

8.2.2.1 レイアウト

rendition:layout プロパティは、コンテンツがリフロー可能であるか、 事前ページ分割済みであるかを指定します。

rendition:layout プロパティmeta 要素で指定される場合、ページ分割済みまたは リフロー可能なレイアウトスタイルがグローバルに適用されることを示します(すなわち、すべてのスパイン項目に対して)。

EPUB 作成者は、rendition:layout プロパティで次の値のいずれかを使用しなければなりません(MUST)。

reflowable

コンテンツは事前ページ分割されていません(すなわち、 読書システムがレンダリング時に動的なページ分割を 適用します)。既定値です。

pre-paginated

コンテンツは事前ページ分割済みです(すなわち、読書システムはレンダリング時に スパイン itemref ごとに正確に 1 ページを生成します)。

注記

読書システムは通常、ユーザーまたはユーザーエージェントのスタイルシートを 事前ページ分割済み文書に適用することを制限または拒否します。これは、動的なスタイル変更が そのような文書の内在的な特性に意図しない結果をもたらす可能性が高いためです。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 レイアウト 上書きを参照してください。

8.2.2.1.1 レイアウト上書き

EPUB 作成者は、 与えられたスパイン項目についてグローバル値を上書きするために、 次のプロパティを スパイン itemref 要素上にローカルに指定してもかまいません(MAY)。

rendition:layout-pre-paginated
与えられたスパイン項目が事前ページ分割済みであることを指定します。
rendition:layout-reflowable
与えられたスパイン項目がリフロー可能であることを指定します。

EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。

8.2.2.2 向き

rendition:orientation プロパティは、EPUB 作成者が意図する、コンテンツがレンダリングされる向きを指定します。

rendition:orientation プロパティmeta 要素で指定される場合、 意図された向きがグローバルに適用されることを示します(すなわち、すべての スパイン項目に対して)。

EPUB 作成者は、 rendition:orientation プロパティで次の値のいずれかを使用しなければなりません(MUST)。

landscape

読書システムは、コンテンツを横向きでレンダリングすべきです。

portrait

読書システムは、コンテンツを縦向きでレンダリングすべきです。

auto

コンテンツは向きに制約されません。既定値です。

EPUB 作成者は、 rendition:orientation プロパティを複数回宣言してはなりません(MUST NOT)。

また、refines 属性を使用してこのプロパティを宣言してはなりません(MUST NOT)。個々の EPUB コンテンツ文書に対してプロパティを設定する方法については、 8.2.2.2.1 向きの 上書きを参照してください。

8.2.2.2.1 向きの 上書き

EPUB 作成者は、 与えられたスパイン項目についてグローバル値を上書きするために、 次のプロパティを スパイン itemref 要素上にローカルに指定してもかまいません(MAY)。

rendition:orientation-auto
読書システムが、 スパイン項目をレンダリングする向きを決定することを指定します。
rendition:orientation-landscape
読書システムが、与えられたスパイン項目を横向きでレンダリングすべきことを指定します。
rendition:orientation-portrait
読書システムが、与えられたスパイン項目を縦向きでレンダリングすべきことを指定します。

EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。

8.2.2.3 合成見開き

rendition:spread プロパティは、意図された 読書システムの 合成見開き動作を指定します。

rendition:spread プロパティが meta 要素で指定される場合、意図された 合成見開き動作が グローバルに適用されることを示します(すなわち、すべてのスパイン項目に対して)。

EPUB 作成者は、rendition:spread プロパティで次の値のいずれかを使用しなければなりません(MUST)。

none

スパイン項目を合成見開きに組み込みません。読書システムは、画面中央に配置された 単一の ビューポート内に 項目を表示すべきです。

landscape

デバイスが横向きの場合にのみ、スパイン項目の合成見開きをレンダリングします。

portrait(非推奨)

縦向きの場合にのみ見開きを使用することは非推奨です。

EPUB 作成者は、代わりに値「both」を使用すべきです。縦向きで読める見開きは、 横向きでも読めるためです。

both

デバイスの向きにかかわらず合成見開きをレンダリングします。

auto

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 要素を参照してください。

8.2.2.3.1 合成 見開き上書き

EPUB 作成者は、 与えられたスパイン項目についてグローバル値を上書きするために、 次のプロパティを スパイン itemref 要素上にローカルに指定してもかまいません(MAY)。

rendition:spread-auto
読書システムが、 スパイン項目の合成見開きをいつレンダリングするかを決定することを指定します。
rendition:spread-both
読書システムが、縦向きおよび横向きの両方で、スパイン項目の合成見開きをレンダリングすべきことを指定します。
rendition:spread-landscape
読書システムが、横向きの場合にのみスパイン項目の合成見開きをレンダリングすべきことを指定します。
rendition:spread-none
読書システムが、スパイン項目の合成見開きをレンダリングすべきでないことを指定します。
rendition:spread-portrait

rendition:spread-portrait プロパティは非推奨です。

詳細については、 [epubpublications-301] の spread-portrait プロパティ定義を参照してください。

EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。

8.2.2.4 見開き配置

読書システム合成見開きをレンダリングする場合、既定の動作は、 次の 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-centerrendition: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 のどちらも使用できます。

8.2.2.5 ビューポート 寸法(非推奨)

rendition:viewport プロパティにより、EPUB 作成者は、rendition:layout プロパティが pre-paginated に設定されている XHTML および SVG コンテンツ文書について、CSS 初期包含ブロック(ICB)[css2] を 表現できます。

このプロパティの使用は非推奨です。

詳細については、 [epubpublications-301] の rendition:viewport プロパティ定義を参照してください。

8.2.2.6 コンテンツ文書の 寸法

この節は、固定レイアウト文書の寸法プロパティの 表現および解釈の規則を定義します。

固定レイアウト文書は、その形式に適用される方法で 初期 包含ブロック [css2] を指定します。

XHTML での表現

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 での表現

SVG 固定レイアウト 文書では、初期包含ブロック [css2] 寸法は、viewBox 属性 [svg] を使用して表現されなければなりません(MUST)。

注記

初期包含ブロック定義は、それが定義されている文書にのみ影響します。同じ出版物内の 他のコンテンツ文書における包含ブロックの寸法は異なる場合があります。

8.3 リフロー可能レイアウト

EPUB コンテンツ文書のレンダリングを制御して固定レイアウトを作成することは、 他の技術では扱われない明白な必要性ですが、EPUB 出版物に固有の、リフロー可能コンテンツに関する考慮事項もあります (例えば、ビューポート内でのコンテンツの流れをどのように扱うか)。この節は、 EPUB 作成者がリフロー可能コンテンツの提示面を制御できるようにする プロパティを定義します。

8.3.1 rendition:flow プロパティ

rendition:flow プロパティは、 EPUB 作成者が、 読書システムにコンテンツのオーバーフローをどのように扱ってほしいかについての 希望を指定します。

rendition:flow プロパティmeta 要素で指定される場合、オーバーフローコンテンツ処理についての EPUB 作成者の グローバルな希望を示します(すなわち、すべての スパイン項目に対して)。 EPUB 作成者は、動的なページ分割またはスクロールの希望を示してもかまいません(MAY)。 スクロールされるコンテンツについては、連続する EPUB コンテンツ文書を 1 つの連続スクロール表示として レンダリングするか、それぞれを別々にレンダリングするか(すなわち、各文書の間に動的なページ区切りを伴うか)を 指定することも可能です。

EPUB 作成者は、rendition:flow プロパティで次の値のいずれかを使用しなければなりません(MUST)。

paginated

すべてのオーバーフローコンテンツを動的にページ分割します。

scrolled-continuous

すべての EPUB コンテンツ文書を、オーバーフローコンテンツがスクロール可能になるようにレンダリングし、 EPUB 出版物を、スパイン項目からスパイン項目へ 1 つの連続 スクロールとして提示します(ローカルに上書きされる場合を除く)。

連続スクロール表示は EPUB 読書システムで問題となるため、EPUB 作成者は、 異なるリソースが異なるブロックフロー方向を持つ出版物を作成すべきではない(SHOULD NOT)ことに注意してください。

scrolled-doc

すべての EPUB コンテンツ文書を、オーバーフローコンテンツがスクロール可能になるようにレンダリングし、 各スパイン項目を別々のスクロール可能文書として提示します。

auto

該当する場合、読書システムの既定の方法またはユーザー設定のいずれかを使用して オーバーフローコンテンツをレンダリングします。既定値です。

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 スパイン上書きを参照してください。

6 単一のスパイン項目を持ち、 rendition:flowpaginated に設定された EPUB 出版物のレンダリング。
単一文書に対して生成されたページ分割コンテンツの連続した進行。
画像説明

3 つの列状の矩形が、左から中央、中央から右へそれぞれ矢印で結ばれており、 テキストが 1 つの矩形から次の矩形へ流れています。テキストは「Chapter 1」、「2」、 「3」と記された見出しで区切られています。最も左の矩形はタブレットの模式図内に 囲まれています。

7 複数のスパイン項目を持ち、 rendition:flowpaginated に設定された EPUB 出版物のレンダリング。
各文書について生成されたページ分割コンテンツの連続した進行。文書間では新しいページへ遷移します。
画像説明

3 つの列状の矩形が、左から中央、中央から右へそれぞれ矢印で結ばれており、 テキストが 1 つの矩形から次の矩形へ流れています。テキストは「Chapter 1」、「2」と 記された見出しで区切られています。「Chapter 2」のセクションは最も右の矩形の上部から始まり、 中央の矩形の下部に空きスペースを残しています。最も左の矩形はタブレットの模式図内に 囲まれています。

8 単一のスパイン項目を持ち、 rendition:flowscrolled-continuous に設定された EPUB 出版物のレンダリング。
コンテンツの連続スクロールの進行がユーザーの画面から垂直方向に延び、遭遇した新しい文書が下部に追加されます。
画像説明

テキストが帯に沿って下へ流れる、単一の列状の帯(すなわち、下辺のない矩形)です。 テキストは「Chapter 1」、「2」と記された見出しで区切られています。帯の上部は タブレットの模式図内に囲まれています。

9 複数のスパイン項目を持ち、 rendition:flowscrolled-doc に設定された EPUB 出版物のレンダリング。
各文書内のコンテンツのみがスクロール可能であることを示す、スクロール可能文書の進行。
画像説明

3 つの列状の帯(すなわち、下辺のない矩形)が、左から中央、中央から右へそれぞれ矢印で 結ばれており、それぞれに帯に沿って下へ流れるテキストが含まれています。テキストは 「Chapter 1」、「2」、「3」と記された見出しで区切られています。各帯は章見出しから始まり、 帯に沿って下へ流れます。最も左の帯の上部はタブレットの模式図内に囲まれています。

8.3.1.1 スパイン上書き

EPUB 作成者は、 与えられたスパイン項目についてグローバル値を上書きするために、 次のプロパティを スパイン itemref 要素上にローカルに指定してもかまいません(MAY)。

rendition:flow-auto
EPUB 作成者がオーバーフローコンテンツ処理について希望を示していないことを示します。
rendition:flow-paginated
EPUB 作成者の希望が、コンテンツのオーバーフローを動的にページ分割することであることを示します。
rendition:flow-scrolled-continuous
EPUB 作成者の希望が、オーバーフローコンテンツにスクロール表示を提供することであり、 このプロパティを持つ連続するスパイン項目を連続スクロールとしてレンダリングすることであることを示します。
rendition:flow-scrolled-doc
EPUB 作成者の希望が、オーバーフローコンテンツにスクロール表示を提供することであり、 このプロパティを持つ各スパイン項目を別々のスクロール可能文書としてレンダリングすることであることを示します。

EPUB 作成者は、任意の与えられたスパイン項目で、これらの上書きを複数使用してはなりません(MUST NOT)。

8.3.2 rendition:align-x-center プロパティ

rendition:align-x-center プロパティは、与えられた スパイン項目を ビューポートまたは見開き内で水平方向に中央揃えすべきことを指定します。

このプロパティは、すべての EPUB コンテンツ文書に対してグローバルに設定してはなりません(MUST NOT) (すなわち、refines 属性を持たない meta 要素内で)。これは、 itemref 要素の properties 属性を介して、個々の EPUB コンテンツ文書に対するスパイン上書きとしてのみ 利用できます。

注記

このプロパティは、主にコンテンツレンダリング内で信頼できる中央揃え制御がない場合に、 「Naka-Tobira(中扉)」(節のタイトルページ)を扱うために開発されました。ただし、 CSS におけるページ媒体のサポートが進化するにつれて、このプロパティは非推奨になることが 期待されています。EPUB 作成者は、有効な場合には CSS による解決策を 使用することが推奨されます。

9. メディアオーバーレイ

9.1 はじめに

この節は非規範的です。

同期された音声ナレーションを含む作品の例として、一般向け電子書籍、教育用ツール、および 印刷物を読むことに障害のある人向けに整形された電子書籍があります。EPUB 3 では、 EPUB 作成者は、 事前録音された音声ナレーションのタイミング、およびそれが EPUB コンテンツ文書のマークアップとどのように関連するかを記述するメディアオーバーレイ文書を使用して、 これらの種類の書籍を作成できます。この仕様は、メディアオーバーレイのファイル形式を [smil3] のサブセットとして定義します。 これは、XML で同期マルチメディア情報を表すための W3C 勧告です。

メディアオーバーレイによって可能になるテキストと音声の同期は、従来の書籍のテキストを追うことが 難しいすべてのユーザーに対してアクセシビリティを向上させます。メディアオーバーレイはまた、 何らかの理由でテキストを読むことができない読者に、従来の音声埋め込み技術では提供できない、 連続したリスニング体験を提供します。さらに、従来はアクセシビリティ上の関心事とは見なされない目的 (例えば言語学習)にも有用です。

メディアオーバーレイ機能は、この機能をサポートしない EPUB 読書システムに対して透過的です。 EPUB 出版物にメディアオーバーレイを含めても、 メディアオーバーレイを認識しない読書システムが、メディアオーバーレイが存在しないかのように EPUB 出版物をレンダリングする能力には影響しません。

EPUB のメディアオーバーレイはオーディオブックと同等ではありません。オーディオブックは主に音声ベースであり、 テキストは代替形式として時折提供されるものだからです。W3C [audiobooks] 勧告は、 音声出版物を構築するためのものです。

この仕様の将来のバージョンでは、動画メディアのサポート(例えば、同期テキスト/手話書籍)が組み込まれる 可能性がありますが、このバージョンでは、音声メディアを EPUB コンテンツ文書と同期することのみを サポートします。

9.2 メディアオーバーレイ文書

9.2.1 メディアオーバーレイ 文書の要件

メディアオーバーレイ文書は:

9.2.2 メディアオーバーレイ 文書定義

別途指定されない限り、この節で定義されるすべての要素 [xml] は https://www.w3.org/ns/SMIL 名前空間 [xml-names] に属します。

9.2.2.1 smil 要素

smil 要素は、メディアオーバーレイ文書内のすべての情報を包含します。

要素名:

smil

用途:

メディアオーバーレイ文書の必須(REQUIREDルート要素 [xml]。

属性:
version [必須]

メディアオーバーレイ文書が準拠する [smil3] 仕様のバージョン番号を指定します。

この属性は値「3.0」を持たなければなりません(MUST)。

id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

epub:prefix [任意]

追加のメタデータ語彙接頭辞を宣言します。

詳細については、9.3.3 オーバーレイにおける構造セマンティクスを参照してください。

内容モデル:

この順序で:

  • head [0 または 1]

  • body [ちょうど 1 つ]

9.2.2.2 head 要素

head 要素は、メディアオーバーレイ文書内のメタデータのコンテナーです。

要素名:

head

用途:

head 要素は、 smil 要素の任意(OPTIONAL)の最初の子です。

属性:

なし

内容モデル:

metadata [0 または 1]

この仕様は、メディアオーバーレイ文書に出現しなければならないメタデータプロパティを定義しないため、 head 要素は任意(OPTIONAL)です。

9.2.2.3 metadata 要素

metadata 要素は、メディアオーバーレイ文書のメタデータを表します。 metadata 要素は、任意のメタ情報構造化言語からのメタデータを含めることを可能にする 拡張点です。

要素名:

metadata

用途:

head 要素の子として。

属性:

なし

内容モデル:

任意の名前空間の要素 [0 個以上]

この仕様は、メディアオーバーレイ文書内のメタデータプロパティを必須とはしません。 metadata 要素は、カスタムメタデータ要件のために提供されます。

9.2.2.4 body 要素

body 要素は、 メディアオーバーレイ文書に含まれる提示の開始点です。 これは、 par および seq 要素の主系列を含みます。

要素名:

body

用途:

body 要素は、 smil 要素の必須(REQUIRED)の子です。 この要素は、 head 要素が存在する場合、その後に続きます。

属性:
epub:type [任意]

対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。

値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。

id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

epub:textref [任意]

関連付けられた EPUB コンテンツ文書を参照し、任意でその特定部分を識別します。

値は、path-relative-scheme-less-URL 文字列でなければならず(MUST)、任意で U+0023 (#)URL-fragment 文字列が続きます。

内容モデル:

任意の順序で:

  • seq [0 個以上]

  • par [0 個以上]

少なくとも 1 つの par または seq を含まなければなりません(MUST)。

9.2.2.5 seq 要素

seq 要素は、メディアオブジェクトおよび/または子時間コンテナーのための 逐次時間コンテナーです。

要素名:

seq

用途:

1 つ以上の seq 要素は、 body 要素および seq 要素の子として出現してもかまいません(MAY)。

属性:
epub:type [任意]

対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。

値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。

id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

epub:textref [必須]

関連付けられた EPUB コンテンツ文書を参照し、 任意でその特定部分を識別します。

値は、path-relative-scheme-less-URL 文字列でなければならず(MUST)、任意で U+0023 (#)URL-fragment 文字列が続きます。

詳細については、9.3.2.1 オーバーレイ構造を参照してください。

内容モデル:

任意の順序で:

  • seq [0 個以上]

  • par [0 個以上]

少なくとも 1 つの par または seq を含まなければなりません(MUST)。

9.2.2.6 par 要素

par 要素は、メディアオブジェクトのための並列時間コンテナーです。

要素名:

par

用途:

1 つ以上の par 要素は、 body および seq 要素の子として出現してもかまいません(MAY)。

属性:
epub:type [任意]

対応する EPUB コンテンツ 文書内の要素の構造セマンティクスの表現です。

値は、空白区切りのプロパティ型のリストです。詳細については、 9.3.3 オーバーレイにおける構造セマンティクスを参照してください。

id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

内容モデル:

任意の順序で:

  • text [ちょうど 1 つ]

  • audio [0 または 1]

9.2.2.7 text 要素

text 要素は、EPUB コンテンツ文書内の要素を参照します。 text 要素は通常テキスト要素を参照しますが、他の EPUB コンテンツ文書のメディア要素を参照することもできます。 兄弟の audio 要素が存在しない場合、この要素によって参照されるテキストコンテンツは テキスト読み上げによってレンダリングされてもかまいません。

要素名:

text

用途:

par 要素の必須(REQUIRED)の子として。

属性:
src [必須]

関連付けられた EPUB コンテンツ文書を参照し、任意でその特定部分を識別します。

値は、path-relative-scheme-less-URL 文字列でなければならず(MUST)、任意で U+0023 (#)URL-fragment 文字列が続きます。

id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

内容モデル:

注記

この仕様は、text 要素の src 属性に制限を課しません。 ただし、EPUB 作成者は、 スタイル情報との関連付けを有効にするために、 CSS でスタイル付けできるコンテンツを参照すべきです(すなわち、XHTML では 知覚可能コンテンツ、SVG では パス基本図形、または テキスト要素)。

注記

[epub-rs-33] は、時間指定メディアの再生 (すなわち、参照されるメディアの自動開始)について、読書システム向けの指針をもはや提供していません。 text 要素の src 属性は、埋め込み時間指定メディアを参照する場合があります (例えば、[htmlvideo 要素を介して)が、そのようなメディアを参照すると予測できない結果になる可能性があります。

9.2.2.8 audio 要素

audio 要素は、音声メディアのクリップを表します。

要素名:

audio

用途:

par 要素の任意(OPTIONAL)の子です。

属性:
id [任意]

要素の ID [xml]。 文書のスコープ内で一意でなければなりません(MUST)。

src [必須]

音声ファイルへの 相対または 絶対 URL 文字列 [url] 参照です。音声ファイルは コアメディアタイプリソース表に列挙されている音声形式の いずれかでなければなりません(MUST)。

clipBegin [任意]

音声クリップの開始点に対応する物理メディア内のオフセットを指定するクロック値です。

[smil3] クロック 値でなければなりません(MUST)。

H.4 クロック 値を参照してください。

clipEnd [任意]

音声クリップの終了点に対応する物理メディア内のオフセットを指定するクロック値です。

[smil3] クロック 値でなければなりません(MUST)。

H.4 クロック 値を参照してください。

終了位置の時系列オフセットは、clipBegin 属性で指定される 開始オフセットより後でなければなりません(MUST)。

内容モデル:

9.3 メディアオーバーレイの作成

9.3.1 はじめに

この節は非規範的です。

EPUB 作成者は、出版物の事前録音ナレーションを、 それぞれが EPUB コンテンツ文書の一部に対応する 一連の音声クリップとして表現できます。例えば、1 つの音声クリップは通常、単一の句または段落を 表しますが、他のクリップや文書のテキストとの相対的な順序は推論しません。メディアオーバーレイは、 [smil3] マークアップを使用して、 構造化された音声ナレーションを EPUB コンテンツ文書内の対応するテキスト(またはその他のメディア)に 結び付けることで、この同期の問題を解決します。メディアオーバーレイは、実際には、 これらのクリップの再生順序を定義する SMIL 3.0 の簡略化されたサブセットです。

メディアオーバーレイの構造化に主に使用される SMIL 要素は、 body (主系列に使用)、 seq (系列)、および par (並列)です。(これらおよびその他の SMIL 要素についての詳細は、 9.2.2 メディアオーバーレイ文書定義を参照してください。)

par 要素はメディアオーバーレイの基本的な構成要素であり、 EPUB コンテンツ文書内の句に対応します。この要素は、コンテンツを同期するための 2 つの重要な情報を提供します: 1) その句のナレーションを含む音声クリップ、および 2) 関連付けられた EPUB コンテンツ文書フラグメントへの ポインターです。par 要素は、この情報を表すために 2 つのメディア要素の子を使用します: audio 要素と text 要素です。par 要素のメディアオブジェクト子は並列に時間指定されるため、読書システムは 音声クリップと EPUB コンテンツ文書フラグメントを同時にレンダリングし、その結果、同期された提示になります。

text 要素の src 属性は、関連付けられた句、文、または EPUB コンテンツ文書のその他のセグメントを、その URL [url] 参照によって参照します。 audio 要素の src 属性も同様に、対応する音声クリップの場所を参照し、 クリップ内の特定のオフセットを示すために、任意(OPTIONAL)の clipBegin および clipEnd 属性を追加します。

EPUB 作成者は、句または文の系列を形成するために、par 要素を順に並べます。 EPUB コンテンツ文書のすべての要素が、メディアオーバーレイ文書内で対応する par 要素を持つわけではなく、音声ナレーションに関連するものだけが持ちます。

EPUB 作成者は、seq 要素に par 要素を追加して、部や章などの より複雑な構造を定義することもできます(9.3.2.1 オーバーレイ構造を参照)。

9.3.2 EPUB コンテンツ文書との関係

注記

この節では、EPUB コンテンツ文書XHTML コンテンツ 文書であると想定します。EPUB 作成者SVG コンテンツ文書で メディアオーバーレイを使用してもかまいませんが、再生動作は一貫しない可能性があり、したがって相互運用性は 保証されません。

EPUB 作成者はまた、リフロー可能および固定レイアウトの両方の EPUB コンテンツ文書の再生について、 読書システムのサポートが保証されないことにも 注意すべきです。読書システムのページ分割方針の違いにより、一部の読書システムは、 どちらか一方のレイアウト形式でのみメディアオーバーレイをサポートする場合があります。

9.3.2.1 オーバーレイ構造

メディアオーバーレイ文書body は 2 種類の要素から構成されます: par 要素と seq 要素です。これらの要素の順序は、再生中に 読書システムが、対応する EPUB コンテンツ文書内のコンテンツをどのように レンダリングするかを表します。

par 要素は、単語、句、文、表のセル、リスト項目、画像、またはマークアップ内の その他の識別可能なコンテンツ片など、コンテンツのセグメントを表します。各要素は、 再生中に、表示するコンテンツ( text 要素内)と同期する音声( audio 要素内)の両方を識別します。

seq 要素は、系列、すなわちコンテンツの論理的構成要素をまとめて表す seq および/または par 要素の集合を表します。 EPUB 作成者は、セクション、補足欄、 ヘッダー、表、リスト、脚注などの入れ子コンテナーを表すためにこれを使用できます。 これにより、EPUB 作成者は、これらのコンテナーに固有の構造をメディアオーバーレイ文書内に 保持できます。

seq 要素は epub:textref 属性を含まなければなりません(MUST)。 seq 要素は同期命令を提供しないため、この属性により 読書システムは、 フラグメントをテキスト内の位置に対応付けることができます。

注記

セクション、図、表、脚注などの構造を seq 要素内でグループ化する理由は、 読書システムが再生中にそれらの開始位置と終了位置を識別できるようにするためです。 これにより読書システムは、長い図を飛ばす、ページ区切り通知のレンダリングをオフにする (9.4 スキップ可能性と脱出可能性を参照)、または 表などの構造に合わせて読み上げモードをカスタマイズするなど、コンテンツのレイアウトに合わせた 再生オプションを提供できます。

9.3.2.2 文書 フラグメントの参照

epub:textref 属性と text 要素の src 属性はどちらも、関連付けられた EPUB コンテンツ文書の特定部分 (例えば、その ID による要素)を参照する URL-fragment 文字列を含んでもかまいません。

XHTML および SVG コンテンツ文書では、URL-fragment 文字列は、 それぞれ、ID による特定要素への参照、または SVG Fragment Identifier [svg] であるべきです(SHOULD)。

EPUB 作成者は他のフラグメント識別子スキームを使用してもかまいません(MAY)が、 読書システムは そのような識別子をサポートしない場合があります。

9.3.2.3 オーバーレイの粒度

この節は非規範的です。

メディアオーバーレイの粒度レベルは、EPUB 作成者EPUB コンテンツ文書をどのようにマークアップするか、 および text 要素の src 属性と seq 要素の epub:textref 属性で使用するフラグメント識別子の種類に依存します。例えば、[html] 要素を参照する場合、最も細かい マークアップレベルが段落レベルであれば、それがメディアオーバーレイ同期で可能な最も細かいレベルです。 同様に、句や文を表す [html] span 要素などの段落内マークアップが利用可能であれば、メディアオーバーレイでより細かい粒度が可能です。 より細かい粒度は、単語または句で移動する場合やテキストを検索する場合に、同期再生の結果を より正確にユーザーへ提供しますが、 メディアオーバーレイ文書のファイルサイズを増加させます。 要素の存在に依存しないフラグメント識別子スキームは、サポートされる場合には、さらに細かい粒度を 提供できる可能性があります。

9.3.2.4 テキスト読み上げ レンダリング

この仕様は、事前録音された音声クリップに加えて、テキスト読み上げ(TTS)、すなわち EPUB 出版物のテキスト内容を、 合成音声を用いた人工的な人間の発話としてレンダリングすることを許可します。

メディアオーバーレイの par 要素がその audio 要素を省略する場合、その text 要素は読書システムで TTS によってレンダリングされてもかまいません。テキストフラグメントが TTS レンダリングに適していない場合(例えば、テキスト要素でない、かつ/またはテキストフォールバックを持たない場合)、 予期しない結果を生じる可能性があります。

注記

EPUB 出版物で TTS 技術を使用する方法の詳細については、 EPUB 3 Text-to-Speech Support [epub-tts-10] を参照してください。

9.3.3 オーバーレイにおける構造セマンティクス

構造セマンティクスメディアオーバーレイ文書内で表現するために、 EPUB 作成者は、 epub:type 属性を parseq、 および body 要素に指定してもかまいません(MAY)。

epub:type 属性は、示されたセマンティック型に適した 読書システムの動作を容易にします。 これらの動作の例には、スキップ可能性と脱出可能性、および 表読み上げモード [epub-rs-33] があります。

メディアオーバーレイ文書は、 epub:type 属性に対して、該当する語彙関連付け機構を使用して 追加のセマンティクスを定義してもかまいません(MAY)。

9.3.4 スタイル情報の関連付け

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 出版物全体に適用されるためです。

9.3.5 メディアオーバーレイの パッケージ化

9.3.5.1 メディアオーバーレイの 組み込み

EPUB コンテンツ文書メディアオーバーレイ文書によって 全体または一部参照される場合、その マニフェストitem 要素は media-overlay 属性を指定しなければなりません(MUST)。 この属性は、対応するメディアオーバーレイ文書のマニフェスト itemID [xml] を 参照しなければなりません(MUST)。

EPUB 作成者は、EPUB コンテンツ文書を参照するマニフェスト item 要素にのみ media-overlay 属性を指定しなければなりません(MUST)。

メディアオーバーレイ文書のマニフェスト項目は、メディアタイプ application/smil+xml を持たなければなりません(MUST)。

9.3.5.2 オーバーレイパッケージ メタデータ

EPUB 作成者は、 パッケージ文書内で、 EPUB 出版物全体の継続時間を、 duration プロパティを持つ meta 要素を使用して指定しなければなりません(MUST)。

さらに、EPUB 作成者は、各 メディアオーバーレイ文書の継続時間を提供しなければなりません(MUST)。 EPUB 作成者は、各継続時間宣言を対応する マニフェスト itemに 関連付けるために、refines 属性を使用しなければなりません(MUST)。

各メディアオーバーレイ文書の継続時間の合計は、 総継続時間との差が 1 秒以内であるべきです(SHOULD)。

注記

個々の継続時間の合計は、時刻を秒の最も近い小数部へ丸めることにより、総継続時間と 正確に一致しない場合がありますが、1 秒を超える差は、その他の問題に起因する不一致を示します。

EPUB 作成者は、 パッケージ文書内で narrator 情報、および現在再生中の EPUB コンテンツ文書要素に適用する 作者定義の CSS クラス名を指定してもかまいません(MAY)。

注記

media: 接頭辞は、これらのプロパティをパッケージメタデータに含めるために 予約されています。

9.4 スキップ可能性と脱出可能性

9.4.1 スキップ可能性

読書中、ユーザーは脚注、ページ番号、またはその他の種類の二次的コンテンツなど、コンテンツの特定機能を オンまたはオフにしたい場合があります。この機能をスキップ可能性と呼びます。 読書システムは、メディアオーバーレイ 要素の epub:type 属性によって提供される セマンティック情報を使用して、スキップ可能な機能の選択肢をユーザーに提示する時期を決定します。

EPUB 作成者は、スキップ可能性を有効にするために、 次のセマンティクスを使用してもかまいません(MAY)。

ただし、このリストは網羅的ではありません。これは、読書システムがスキップ可能性の選択肢を 提供する可能性が最も高い、Structural Semantics Vocabulary [epub-ssv-11] の用語を表しています。

9.4.2 脱出可能性

脱出可能な項目とは、表やリストなどの入れ子構造であり、ユーザーがその構造を飛び越えて、 その入れ子構造の直後の位置から読み続けたい場合があります。脱出可能性機能は、項目の型全体を 有効または無効にするのではなく、それらからの出口を提供する点で、スキップ可能性機能とは異なります (例えば、ユーザーは内容の一部を聞いてから脱出することを選択できます)。

EPUB 作成者は、脱出可能性を有効にするために、 次のセマンティクスを使用してもかまいません(MAY)。

ただし、このリストは網羅的ではありません。これは、 読書システムが脱出可能性の選択肢を 提供する可能性が最も高い、Structural Semantics Vocabulary [epub-ssv-11] の用語を表しています。

注記

脱出可能な構造が脱出可能な構造を含む場合があります。例えば、表は多くの行とセルで構成され、 ユーザーはそれぞれから個別に脱出したい場合があります。そのような構造からの脱出に対する 読書システムのサポートは複雑で、現時点では十分にはサポートされていません。EPUB 作成者は、 よりよいサポートが利用可能になるまで、入れ子の脱出可能構造を識別することを避けるべきです。

9.5 ナビゲーション文書オーバーレイ

この節は非規範的です。

EPUB ナビゲーション文書XHTML コンテンツ文書であるため、 EPUB 作成者メディアオーバーレイ文書をそれに関連付けてもかまいません。 ただし、従来の XHTML コンテンツ文書とは異なり、 読書システムは、 EPUB ナビゲーション文書が スパインに含まれていない場合でも、それをユーザーに提示しなければなりません (ナビゲーション文書処理 [epub-rs-33] を参照)。その結果、関連付けられた メディアオーバーレイがどのように動作するかは、文脈に応じて変わる場合があります。

注記

具体的な実装詳細はこの仕様の範囲外です。DAISY Media Overlays Playback Requirements 文書は、EPUB 作成者向けのベストプラクティスを説明し、 読書システム開発者向けの推奨事項を提供しています。

10. アクセシビリティ

この節は非規範的です。

EPUB 3 は、基盤技術に組み込まれた構造、セマンティクス、ひいてはアクセシビリティを 活用できるよう、明示的に Open Web Platform の上に構築されています。

アクセシブルな Web コンテンツを作成するための要件と実践は、すでに W3CWeb 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 の制作者が最新の アクセシビリティ要件を参照できるようになります)。

11. セキュリティとプライバシー

11.1 概要

この節は非規範的です。

EPUB 出版物の特徴はその構造にあります。 EPUB 形式は、HTML、CSS、SVG、JavaScript、およびその他のリソースを含む、構造化され セマンティクスが強化された Web コンテンツを、単一ファイルコンテナーで配布するために 表現、パッケージ化、エンコードする手段を提供します。

これは、EPUB 3 のセキュリティおよびプライバシーの問題が主としてそれらの形式の機能に結び付いており、 Web コンテンツが提示する脅威を強く反映していることを意味します。

コンテンツのリスクは、意図的に悪意のある著作意図と同一視されることが多いものの、 EPUB 作成者は、善意で従っている多くの実践が、 ユーザーをプライバシーおよびセキュリティの問題にさらす可能性があることを認識する必要があります。 この節の残りでは、EPUB 作成者がこれらのリスクを認識し軽減する助けとなることを目的として、 EPUB 3 のリスクモデルを検討します。

注記

読書システムに関連するリスクについては、 [epub-rs-33] の セキュリティとプライバシーの節を 参照してください。

11.2 脅威モデル

この節は非規範的です。

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 コンテンツ文書を信頼できる Web サイトのように見せること)。および
  • 外部サイトから EPUB 出版物に悪意のあるコンテンツを注入すること。

ネットワークアクセスにより、たとえ EPUB 作成者の意図ではなくても、第三者コンテンツがユーザーを 悪用できる可能性があります。

デジタル著作権管理によるコンテンツの保護

デジタル著作権管理方式を使用した EPUB 出版物の暗号化および復号は、 ユーザー、そのユーザーが利用するベンダー、および読書の選択に関する個人識別情報を 第三者へ中継することを可能にする場合があります。

これらの攻撃の有効性は、ユーザーがやり取りしている出版物が信頼できるソースからのものだと 信じ込ませることに依存することも多くあります。こうした欺瞞は次の形をとる可能性があります:

偽造された出版物情報

EPUB 出版物は、正当なソースから来たものだとユーザーに信じ込ませるために、 自分自身に関する虚偽の情報を含む場合があります。悪意のある EPUB 作成者は、例えば、 作品のタイトル、著者、識別子、および出版社を偽装するかもしれません。

この誤情報自体が直ちに害をもたらすわけではありませんが、ユーザーが EPUB 出版物内の悪意のあるフォーム、リンク、その他のコンテンツを、信頼できるソースからのものだと 信じて信用してしまう可能性があります。

偽装されたプラットフォーム

悪意のある EPUB 作成者は、ユーザーをだましてそのコンテンツを信頼させるために、 プラットフォームの体験を模倣または再現するようにコンテンツを設計する場合もあります。

11.2.1 EPUB 固有の機能

EPUB 3 は、その基盤となる技術を拡張することを避けようとしていますが、いくつかの新しい機能を 導入しています。ただし、これらの機能の制限された範囲は、それらがもたらしうる脅威を制限します:

潜在的な唯一の例外は、epubReadingSystem オブジェクト [epub-rs-33] です。これは、 EPUB 作成者が現在の 読書システムに関する情報を照会できるようにします。 EPUB 作成者は、このオブジェクトによって公開される情報を、自分たちのコンテンツのレンダリングを改善するためだけに 使用するよう注意する必要があります(すなわち、その情報を使ってユーザーやその環境をプロファイリングすることを 避けるべきです)。

11.3 推奨事項

EPUB 作成者は、ユーザーを悪用するすべての方法を防ぐことはできませんが、 最終的には自分たちのコンテンツを安全に構築する責任があります。つまり、前節で説明した種類の 悪意あるエクスプロイトEPUB 出版物がさらされることを制限するため、予防策を講じる必要があります。

実践的な手順には次が含まれます:

EPUB 作成者はまた、ユーザーのプライバシー権を考慮し、意図的にデータを収集する状況を 避ける必要があります。理想的には、EPUB 作成者はユーザーを追跡すべきではありません(SHOULD NOT)が、 これはすべての種類の出版にとって現実的ではありません。

EPUB 作成者がユーザーを追跡しなければならない場合、EPUB 出版物を開く前に、 情報収集についてユーザーの承認を得るべきです(SHOULD) (例えば、教育課程の教材において)。これが不可能な場合は、ユーザーが EPUB 出版物に 初めてアクセスするときに許可を得るべきです(SHOULD)。 EPUB 作成者はまた、ユーザーが追跡をオプトアウトできるようにし、収集された自分に関するデータを 管理および削除できる機能をユーザーに提供すべきです(SHOULD)。

EPUB 作成者はまた、ユーザーに関する情報の意図しない収集を考慮する必要があります。 出版社の Web サイト上のコンテンツへリンクすること、またはそのサーバー上でリソースをリモートホストすることは、 特に一意な追跡識別子が URL に追加されている場合、ユーザーのプロファイリングにつながる可能性があります。

EPUB 出版物内でユーザー情報を収集および保存する場合(例えば、 CookieWeb Storage [html] の使用を通じて)、EPUB 作成者は、 読書システム上の他の EPUB 出版物によるデータ窃取の可能性を考慮する必要があります。[epub-rs-33] は EPUB 出版物に対する 一意なオリジン要件を導入し、 攻撃の可能性を制限していますが、それでも読書システムが EPUB 出版物に共有永続ストレージへのアクセスを 許可するリスクがあります(例えば、更新されていない古い読書システムや、適合していない新しい読書システム)。 したがって、EPUB 作成者は、機密性の高いユーザーデータを永続ストレージに保存すべきではありません(SHOULD NOT)。EPUB 作成者が機密データを保存しなければならない場合、 エクスプロイトが発生した場合にそれへ容易にアクセスされることを防ぐため、そのデータを暗号化すべきです(SHOULD)。

出版社およびベンダーがデジタル著作権管理方式を使用しなければならない場合、暗号化または復号を 実行するために、ユーザーまたはそのコンテンツに関する情報を外部の当事者へ利用または送信しない方式を 優先すべきです。

セキュリティおよびプライバシーのリスクを最大限に低減するため、EPUB 作成者は 長期保存を目標として EPUB 出版物を作成すべきです(SHOULD)。 このように作成された EPUB 出版物は通常、自己完結型であり、ネットワークアクセスに依存せず、 デジタル著作権管理によって暗号化されていないため、多くの可能な攻撃ベクトルを除去します。 [iso22424] は、 EPUB 出版物のそのような保存形式の一例です。すべての EPUB 作成者がこれらの自己完結性の水準を 達成できるわけではないことは理解されていますが、これらの実践にできるだけ多く従うことは、 全体としてユーザーのプライバシーとセキュリティに利益をもたらします。

A. サポートされていない機能

この仕様には、読書システムでまだ十分にサポートされていない機能、 ワーキンググループがもはや使用を推奨しない機能、または EPUB 2 読書システムとの相互運用性のためにのみ 保持されている機能が含まれています。この節は、これらの機能に付与される指定の意味と そのサポート期待値を定義します。

A.1 実装不足の機能

実装不足の機能とは、EPUB 3.3 より前に導入された機能であり、ワーキンググループが十分な 実装 経験を確立できていないものです。

これらの機能は、この制限にもかかわらず保持することが重要だと考えられています。なぜなら、 EPUB 作成者によって実装されていることが知られている (すなわち、それらを非推奨にすると既存コンテンツが無効になる)ため、および/または EPUB が構築されている内容モデルに不可欠であるためです。

この仕様がある機能を実装不足として指定している場合、EPUB 作成者は、説明されているとおりに その機能を使用してもかまいません(MAY)。

注記

EPUB 適合性チェッカーは、EPUB 出版物内で 実装不足の機能に遭遇した場合、その存在を EPUB 作成者に通知すべきですが、 それらを含めることを標準違反として扱ってはなりません(すなわち、エラーや警告を出してはなりません)。

注意

実装不足ラベルが標準の将来のバージョンで削除されるか、非推奨に置き換えられるかは、 現時点では判断できません。EPUB 作成者は、これらの機能を使用する際、現在および将来の両方で 生じる可能性のある相互運用性の問題を強く考慮すべきです。

注記

機能を実装不足としてマークすることは、EPUB が W3C に取り込まれる前に開発されていた 異なるプロセスを考慮するための一度限りの措置です。このラベルは、 W3C のプロセスの下で開発される新機能には 使用されません。

A.2 非推奨の機能

非推奨の機能とは、この仕様のバージョンでワーキンググループがもはや使用を 推奨しない機能です。非推奨機能は通常、読書システムでのサポート、および/または EPUB 出版物での使用が限定的であるか、存在しません。

この仕様がある機能を非推奨として指定している場合、EPUB 作成者は その機能を EPUB 出版物で使用すべきではありません(SHOULD NOT)。

注記

EPUB 適合性チェッカーは、EPUB 出版物内で 非推奨機能に遭遇した場合、その存在を EPUB 作成者に通知すべきです。

B. 許可される外部識別子

次の表は、公開識別子および システム 識別子 [xml] のうち、 文書型宣言で許可されるものを列挙しています。 [xml]

EPUB 作成者は、これらの外部識別子を、 出版リソースのうち、その マニフェスト宣言で指定される 列挙されたメディアタイプ [rfc2046] を 持つものに限り、使用してもかまいません(MAY)。(詳細については、 3.9 XML 適合性を参照してください。)

メディアタイプ 公開識別子 システム識別子
  • application/mathml+xml
  • application/mathml-presentation+xml
  • application/mathml-content+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

C. 構造セマンティクスの表現

C.1 はじめに

この節は非規範的です。

構造セマンティクスは、要素が果たす特定の構造上の目的について、追加の意味を付与します。 epub:type 属性は、EPUB コンテンツ文書および メディアオーバーレイ文書で ドメイン固有のセマンティクスを表現するために使用され、それが持つ構造情報は 基盤となる語彙を補完します。

適用されたセマンティクスは、類似する role 属性 [html] を使用した場合に起こるように、 支援技術に対して包含要素の性質を変えることなく、その意味を精密化します。 言い換えれば、この属性はコンテンツのアクセシビリティを向上させるものではなく、 目的に関するヒントを提供するだけです。

セマンティックメタデータは、出版ワークフローでの利用や作者定義の目的のためにコンテンツを豊かにします。 また、読書システムが文書の構造と内容について より多くを知ることも可能にします (例えば、メディアオーバーレイでスキップ可能性と脱出可能性を 有効にするため)。

この仕様は、属性軸を使用して構造セマンティクスを追加する方法を定義します。すなわち、 新しい要素を追加するのではなく、EPUB 作成者は、 既存の要素に epub:type 属性を付加して、望ましいセマンティクスを追加できます。

C.2 epub:type 属性

属性名:

epub:type

名前空間:

http://www.idpf.org/2007/ops

用途:

XHTMLSVG、および メディアオーバーレイの要件を参照してください。

値:

プロパティ値の空白区切りリストであり、 D.1 語彙関連付け機構で定義される制約に従います。

空白は、[xml] で 定義される文字の集合です。

注意

epub:type 属性は、その性質において role 属性 [html] と似ていますが、これらの属性は異なる目的を 果たします。epub:type 属性の値は、スクリーンリーダーのような支援技術を通じた アクセスを向上させません。これらの値は、そうした技術で使用されるアクセシビリティ API にマップされないためです。 これは、[html] divspan のようなセマンティクス上中立な要素に 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 語彙関連付け 機構を参照してください。

D. 語彙

この付録は、この仕様内の属性が語彙からの用語を参照できる一般的な機構の集合を定義します。 また、これらの属性とともに使用する EPUB 固有の語彙も定義します。

D.1 語彙関連付け 機構

D.1.1 はじめに

この節は非規範的です。

EPUB は、メタデータおよびセマンティック語彙で定義される用語とプロパティを、 property データ型を使用して参照する正式な方法を 定義します。例えば、 epub:type 属性は、EPUB コンテンツ文書および メディアオーバーレイ文書内でこのデータ型を使用して 構造セマンティクスを追加し、一方で property 属性と rel 属性は、このデータ型を使用して パッケージ 文書内のプロパティと関係を定義します。

property 値は CURIE [rdfa-core] に似ており、 URL [url] を コンパクトな形式で表します。この式は接頭辞と参照から構成されます。接頭辞は、リテラルであれ 暗黙であれ、通常は用語語彙に解決される URL の短縮マッピングです。 読書システムが接頭辞を その URL 表現に変換し、参照と結合すると、結果として得られる URL は通常、その語彙内の フラグメントに解決され、その用語についての人間可読および/または機械可読な情報を含みます。

オーサリングの複雑さを軽減するため、property データ型を取る各属性は、 既定の語彙も定義します。既定の語彙から参照される用語と プロパティには接頭辞を含めません。読書システムが URL へマップするために使用するマッピングが 事前定義されているためです。

property データ型の力は、その容易な拡張性にあります。新しい用語やプロパティを 組み込むために、EPUB 作成者接頭辞を宣言するだけで済みます。別のオーサリング上の便宜として、 この仕様は、一般的に使用される多くの出版語彙について 接頭辞を予約しています(すなわち、それらの宣言は任意です)。

以下の節では、property データ型と語彙関連付け機構について、追加の詳細を提供します。

D.1.2 property データ 型

property データ型は、URL [url] を表す コンパクトな手段であり、コロンで参照から区切られた任意(OPTIONAL)の 接頭辞で構成されます。

(EBNF 生成規則 ISO/IEC 14977
すべての終端記号は Unicode ブロック「Basic Latin」(U+0000 から U+007F)に含まれます。
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 値から接頭辞を 省略した場合、表現された参照は、その属性の既定の語彙からの 用語を表します。

D.1.3 既定の語彙

既定の語彙とは、EPUB 作成者が、 propertyが期待される場所でその用語と プロパティを使用するために、接頭辞を宣言する必要がない語彙です。 EPUB 作成者は、既定の語彙からの用語とプロパティに接頭辞を追加してはなりません(MUST NOT)。

EPUB 作成者は、 prefix 属性を使用して、これらの語彙に関連付けられた URL に接頭辞を割り当ててはなりません(MUST NOT)。

注記

既定の語彙に関する詳細については、 property データ型を取る各属性の定義を 参照してください。

D.1.4 prefix 属性

prefix 属性は、propertyで使用する接頭辞マッピングを定義します。

prefix 属性の値は、次の形式の 1 つ以上の接頭辞から URL へのマッピングの 空白区切りリストです。

(EBNF 生成規則 ISO/IEC 14977
すべての終端記号は Unicode ブロック「Basic Latin」(U+0000 から U+007F)に含まれます。
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 コンテンツ文書では、両方の属性が出現することが一般的です。

<htmlprefix="…"
        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)。

D.1.5 予約済み接頭辞

注意

予約済み接頭辞はオーサリング上の便宜ではありますが、 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#

D.2 プロパティフィールド定義

語彙定義表内のフィールドには、次の暗黙の要件があります。

許可される値

[xmlschema-2] データ型を使用して、 値の必須(REQUIRED)の型を指定します。

適用対象

EPUB 作成者が、どの出版リソース型にこのプロパティを指定してもかまわないか(MAY)を指定します。

このフィールドは、properties 属性で使用されるプロパティに出現します。

出現回数

EPUB 作成者が、このプロパティを、グローバルに、または別の要素やプロパティに付加して、 指定してもかまわない(MAY)回数を指定します。

最小出現回数が 1 のプロパティは、指定されなければなりません(MUST)。

説明

プロパティの目的を説明し、EPUB 作成者が従わなければならない追加の使用要件を指定します。

非規範的な使用例を提供します。

拡張対象

EPUB 作成者がこのプロパティを関連付けてもかまわない(MAY)対象を識別します。

このフィールドは、主式および副式関係を定義するプロパティに出現します。

名前

メタデータ内に現れなければならない(MUST)プロパティ名を指定します。

D.3 Meta Properties Vocabulary

この語彙のプロパティは、 meta 要素の property 属性で使用できます。

その「Extends」フィールドで別途示されない限り、この節で定義されるプロパティは 副式を定義するために使用されます。言い換えれば、 この節で定義されるプロパティを持つ meta 要素は、拡張されるリソースまたは式を参照する refines 属性を持たなければなりません(MUST)。

これらのプロパティを参照するための接頭辞 URL は http://idpf.org/epub/vocab/package/meta/# です。

D.3.1 alternate-script

名前: alternate-script
説明:

alternate-script プロパティは、関連付けられたプロパティ値の、 異なる言語および/または文字体系による代替表現を提供します。 alternate-script プロパティと、それに関連付けられたプロパティの言語タグは、 それぞれのスコープ内の xml:lang 属性によって表されるとおり、同じであってはなりません (MUST NOT)。

このプロパティは通常、国際化の目的で creator および title プロパティに付加されます。

許可される値: xsd:string
出現回数: zero or more
拡張対象: すべてのプロパティ。

D.3.2 authority

名前: authority
説明:

authority プロパティは、参照される要素の値が由来する システムまたはスキームを識別します。

許可される値: xsd:string
注記

以前の IDPF EPUB 3 ワーキンググループは、このプロパティとともに使用するための 主題典拠の登録簿を 維持していました。このワーキンググループは、もはやその登録簿を維持していません。

出現回数: zero or one
拡張対象: dc:subject

D.3.3 belongs-to-collection

名前: belongs-to-collection
説明:

belongs-to-collection プロパティは、 EPUB 出版物が 属するコレクションの名前を識別します。EPUB 出版物は 1 つ以上の コレクションに属してもかまいません(MAY)。

refines 属性を使用して、 あるコレクション自体が別のコレクションのメンバーであることを示すために、 これらのプロパティを連鎖させることも可能です。

読書システムが コレクションを整理し、命名の衝突を避けられるようにするため(例えば、 無関係なコレクションが似た名前を共有している場合や、コレクションの異なる版が リリースされる場合)、EPUB 作成者は、コレクションのインスタンスを 一意に識別する識別子を提供すべきです(SHOULD)。dcterms:identifier プロパティはこの識別子を持たなければなりません。

コレクションは、collection-type プロパティを 付加することで、その性質をより正確に定義してもかまいません(MAY)。

コレクション内での EPUB 出版物の位置は、 group-position プロパティを付加することにより 提供してもかまいません(MAY)。

許可される値: xsd:string
出現回数: zero or more
拡張対象: EPUB 出版物に適用され、自身の他のインスタンスを精密化できます。

D.3.4 collection-type

名前: collection-type
説明:

collection-type プロパティは、コレクションの形式または性質を示します。

collection-type 値がコードリストまたはその他の正式な列挙から 取得される場合、EPUB 作成者は その出典を識別するために、scheme 属性を付加すべきです(SHOULD)。

この仕様は、スキームが指定されない場合の次のコレクション型も定義します。

series

グループとして正式に識別される関連作品の系列であり、通常はオープンエンドで、 作品が時間の経過とともに個別に発行されます。

set

一緒になって単一の知的単位を構成する有限の作品コレクションであり、 通常は一緒に発行され、単位として販売できます。

注記

読書 システムはこれらの値をサポートすることを要求されていませんが、それらを指定することで、 関連する EPUB 出版物をより意味のある方法でグループ化する選択肢が提供されます。

許可される値: xsd:string
出現回数: zero or one
拡張対象: belongs-to-collection

D.3.5 display-seq

名前: display-seq
説明:

display-seq プロパティは、同一のメタデータプロパティに対して 現在のプロパティを表示する数値上の位置を示します。

このプロパティは、優先順位規則がすでに定義されていない場合にのみ適用されます (例えば、作成者には文書順での出現に基づいて 優先順位が与えられます)。

許可される値: xsd:unsignedInt
出現回数: zero or one
拡張対象: すべてのプロパティ。

D.3.6 file-as

名前: file-as
説明: file-as プロパティは、並べ替えのために関連付けられたプロパティの 正規化された形式を提供します。
許可される値: xsd:string
出現回数: zero or one
拡張対象: すべてのプロパティ。

D.3.7 group-position

名前: group-position
説明:

group-position プロパティは、 EPUB 出版物が、同じグループに属する 他の作品(すべてが EPUB 出版物であるかどうかを問わない)に対して順序付けられる 数値上の位置を示します。

EPUB 作成者は、そのグループを確立する任意の メタデータプロパティに group-position プロパティを付加できますが、 これは通常、belongs-to-collection プロパティに関連付けられます。

EPUB 出版物は、複数のグループに属することができます。

許可される値: 単一の xsd:unsignedInt または小数点で区切られた数値列(例えば、 1 または 2.2.1)。
出現回数: zero or one
拡張対象: すべてのプロパティ。

D.3.8 identifier-type

名前: identifier-type
説明:

identifier-type プロパティは、identifier の形式または性質を 示します。

identifier-type 値がコードリストまたはその他の正式な列挙から 取得される場合、EPUB 作成者は その出典を識別するために、scheme 属性を付加すべきです(SHOULD)。

許可される値: xsd:string
出現回数: zero or one
拡張対象: dc:identifier, dc:source

D.3.9 meta-auth(非推奨)

このプロパティの使用は非推奨です。

詳細については、[epubpublications-30] の meta-auth プロパティ定義を参照してください。

D.3.10 role

名前: role
説明:

role プロパティは、EPUB 出版物の作成における creatorcontributor、または publisher の役割を記述します。

role 値がコードリストまたはその他の正式な列挙から取得される場合、 EPUB 作成者は その出典を識別するために、scheme 属性を付加すべきです(SHOULD)。

個人または組織に複数の役割を付加する場合、その役割の重要度は、それらを含む meta 要素の文書順と一致すべきです(すなわち、最初に遭遇する meta 要素には最も重要な役割が含まれるべきです)。

許可される値: xsd:string
出現回数: zero or more
拡張対象: dc:contributor, dc:creator, dc:publisher

D.3.11 source-of

名前: source-of
説明:

source-of プロパティは、適応されたソースリソースの一意な側面で、 EPUB 出版物に保持されているものを示します。

この仕様は、参照される dc:source 要素が、コンテンツ内で定義される pagebreak プロパティの ソースであることを示すために、pagination 値を定義します。

許可される値: pagination
出現回数: zero or one
拡張対象: dc:source
注記

アクセシブルなページ ナビゲーションを提供する方法については、[epub-a11y-tech-11] を参照してください。

D.3.12 term

名前: term
説明:

term プロパティは主題コードを提供します。

許可される値: xsd:string
出現回数: zero or one
拡張対象: dc:subject

D.3.13 title-type

名前: title-type
説明:

title-type プロパティは、title の形式または性質を 示します。

title-type 値がコードリストまたはその他の正式な列挙から 取得される場合、EPUB 作成者は その出典を識別するために、scheme 属性を付加すべきです(SHOULD)。スキームが指定されない場合、読書システムは 次のタイトル型値を認識すべきです(SHOULD): mainsubtitleshortcollectionedition および expanded

許可される値: xsd:string
出現回数: zero or one
拡張対象: dc:title

D.3.14

D.5 パッケージレンダリング語彙

これらのプロパティを参照するための接頭辞 URL は http://www.idpf.org/vocab/rendition/# です。

"rendition:" 接頭辞は、パッケージレンダリングプロパティでの 使用のために予約されており、 パッケージ文書で宣言する必要はありません。

注記

この付録の他の語彙とは異なり、Package Rendering Vocabulary のプロパティは、 meta 要素で表現されるプロパティと、 itemref 要素で表現される スパイン上書きの混合で構成されます。

使用要件も、この付録ではなく 8. レイアウトレンダリング制御で定義されています。 次の表は、プロパティ、上書き、およびそれらが定義される場所への対応を示します。

プロパティ 上書き 定義箇所
rendition:layout
  • rendition:layout-pre-paginated
  • rendition:layout-reflowable
8.2.2.1 レイアウト
rendition:orientation
  • rendition:orientation-auto
  • rendition:orientation-landscape
  • rendition:orientation-portrait
8.2.2.2 向き
rendition:spread
  • rendition:spread-auto
  • rendition:spread-both
  • rendition:spread-landscape
  • rendition:spread-none
  • rendition:spread-portrait(非推奨)
8.2.2.3 合成見開き
  • rendition:page-spread-center
  • rendition:page-spread-left
  • rendition:page-spread-right
8.2.2.4 見開き配置
rendition:viewport(非推奨) 8.2.2.5 ビューポート寸法 (非推奨)
rendition:flow
  • rendition:flow-paginated
  • rendition:flow-scrolled-continuous
  • rendition:flow-scrolled-doc
  • rendition:flow-auto
8.3.1 rendition:flow プロパティ
  • rendition:align-x-center
8.3.2 rendition:align-x-center プロパティ

D.5.1 カスタムレンダリング プロパティ

読書システム開発者は、 EPUB コンテンツ文書のレンダリングにおける 読書システム固有の問題に対処するため、この仕様で定義されていない機能を導入してもかまいません。

この実験を容易にするため、EPUB 作成者は、 rendition: 接頭辞を使用しないことを条件として、 パッケージ文書で使用する カスタムプロパティおよび スパイン上書きを含めてもかまいません(MAY)。

注記

カスタムプロパティは、特定の読書システムに固有のレンダリング問題のみに対処すべきです。 複数の独立した読書システムが使用できる拡張を提供するためには、 この仕様を拡張すべきです。

D.6 マニフェストプロパティ語彙

この語彙のプロパティは、マニフェスト item 要素の properties 属性で使用できます。

これらのプロパティを参照するための接頭辞 URL は http://idpf.org/epub/vocab/package/item/# です。

D.6.1 cover-image

名前: cover-image
説明: cover-image プロパティは、記述される 出版 リソースを、 EPUB 出版物の 表紙画像として識別します。
適用対象: すべてのラスター画像型およびベクター画像型
出現回数: ちょうど 0 または 1 つ

D.6.2 mathml

名前: mathml
説明: mathml プロパティは、記述される 出版 リソースに、MathML マークアップの 1 つ以上のインスタンスが含まれることを示します。
適用対象: EPUB コンテンツ 文書
出現回数: 0 個以上

D.6.3 nav

D.6.4 remote-resources

名前: remote-resources
説明:

remote-resources プロパティは、記述される 出版 リソースに、 EPUB コンテナーの外部に配置された 他の出版リソースへの内部参照が 1 つ以上含まれることを示します。

詳細については、3.6 リソースの場所を参照してください。

適用対象: 内部参照機能を持つすべての出版リソース (例えば、XHTML コンテンツ 文書SVG コンテンツ 文書、 CSS スタイルシート、および メディアオーバーレイ文書)。
出現回数: 0 個以上

D.6.5 scripted

名前: scripted
説明: scripted プロパティは、記述される 出版 リソーススクリプト付きコンテンツ 文書であることを示します(すなわち、スクリプトおよび/または [html] form 要素を含むこと)。
適用対象: EPUB コンテンツ 文書
出現回数: 0 個以上

D.6.6 svg

名前: svg
説明:

svg プロパティは、記述される 出版 リソースが、SVG マークアップの 1 つ以上のインスタンスを埋め込むことを示します。

このプロパティは、SVG マークアップがリソースに直接含まれる場合に設定されなければならず (MUST)、 SVG がリソースから参照される場合に設定してもかまいません(MAY) (例えば、[html] imgobject、または iframe 要素から)。

適用対象: XHTML コンテンツ 文書。この値は SVG コンテンツ文書については暗黙的です。
出現回数: 0 個以上

D.6.7 switch

名前: switch
説明:

switch プロパティは、記述される 出版 リソースに、非推奨の epub:switch 要素の 1 つ以上のインスタンスが含まれることを示します。

適用対象: XHTML コンテンツ 文書
出現回数: 0 個以上

D.7 スパインプロパティ語彙

この語彙のプロパティは、スパイン itemref 要素の properties 属性で使用できます。

これらのプロパティを参照するための接頭辞 URL は http://idpf.org/epub/vocab/package/itemref/# です。

D.7.1 page-spread-left

名前: page-spread-left
説明:

page-spread-left プロパティは、関連付けられた item 要素の EPUB コンテンツ文書の 最初のページが、2 ページ見開きの左側を表すことを示します。

rendition:page-spread-left プロパティは、このプロパティの別名です。これらの使用に関する詳細については、 8.2.2.4 見開き配置を 参照してください。

D.7.2 page-spread-right

名前: page-spread-right
説明:

page-spread-right プロパティは、関連付けられた item 要素の EPUB コンテンツ文書の 最初のページが、2 ページ見開きの右側を表すことを示します。

rendition:page-spread-right プロパティは、このプロパティの別名です。これらの使用に関する詳細については、 8.2.2.4 見開き配置を 参照してください。

D.7.3

D.8 メディアオーバーレイ語彙

この語彙のプロパティは、 meta 要素の property 属性で使用できます。

これらのプロパティを参照するための接頭辞 URL は http://www.idpf.org/epub/vocab/overlays/# です。

接頭辞「media:」は、この語彙のプロパティでの 使用のために予約されており、 パッケージ文書で宣言する必要はありません。

D.8.1 active-class

名前: active-class
説明: 現在再生中の EPUB コンテンツ文書 要素に適用する、EPUB 作成者定義の CSS クラス名。
許可される値: xsd:string
出現回数: 0 または 1
例: <meta property="media:active-class">-epub-media-overlay-active</meta>

D.8.2 duration

名前: duration
説明: プレゼンテーション全体、または特定の メディアオーバーレイ 文書の継続時間。 指定される継続時間は、オーサリング時に既知の音声クリップを考慮したものであり、 外部リソースからのライブストリーミングおよび音声合成は除外します。
許可される値:

[smil3] の クロック値でなければなりません(MUST)。

出現回数: EPUB 出版物について ちょうど 1 つ、および各 メディアオーバーレイ 文書についてちょうど 1 つ。
例: <meta property="media:duration">1:36:20</meta>

D.8.3 narrator

名前: narrator
説明: ナレーターの名前。
許可される値: xsd:string
出現回数: 0 個以上
例: <meta property="media:narrator">Joe Speaker</meta>

D.8.4 playback-active-class

名前: playback-active-class
説明: 再生がアクティブなときに、 EPUB コンテンツ 文書の 文書要素に適用する、作者定義の CSS クラス名。
許可される値: xsd:string
出現回数: 0 または 1
例: <meta property="media:playback-active-class">-epub-media-overlay-playing</meta>

E. 接頭辞付き CSS プロパティ

この付録は、EPUB でサポートされる接頭辞付き CSS プロパティについて説明します。

注記

接頭辞の定義は、もはや対応する CSS の定義と同期されていません。場合によっては、 これらのプロパティの接頭辞なしバージョンが、現在では追加の値をサポートしています。 読書システムは、 接頭辞付きプロパティで新しい構文をサポートしないことがあるため、 EPUB 作成者には、 新しい機能には接頭辞なしバージョンを使用することが推奨されます。

E.1 CSS 書字モード

この節は、[css-writing-modes-3] の -epub- 接頭辞付きプロパティについて説明します。

E.1.1 -epub-text-orientation プロパティ

このプロパティは、 text-orientation プロパティ [css-writing-modes-3] の 接頭辞付きバージョンです。

名前: -epub-text-orientation
値: mixed | upright | sideways | sideways-right

既存コンテンツとの互換性のため、-epub-text-orientation プロパティは、 非推奨の vertical-rightrotate-right、および rotate-normal キーワードもサポートします。次の表は、それらが指定された場合の 効果を示します。

非推奨の値 使用される値
vertical-right mixed
rotate-right sideways
rotate-normal sideways

E.1.2 -epub-writing-mode プロパティ

このプロパティは、 writing-mode プロパティ [css-writing-modes-3] の 接頭辞付きバージョンであり、同じ構文と動作を持ちます。

名前: -epub-writing-mode
値: horizontal-tb | vertical-rl | vertical-lr

E.1.3 -epub-text-combine-horizontal および -epub-text-combine プロパティ

これらのプロパティは、 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> 等価表現なし

E.2 CSS Text Level 3

この節は、[css-text-3] の -epub- 接頭辞付きプロパティ(および 1 つの接頭辞付き値)について説明します。

E.2.1 -epub-hyphens プロパティ

このプロパティは、 hyphens プロパティ [css-text-3] の接頭辞付きバージョンです。

名前: -epub-hyphens
値: none | manual | auto | all

既存コンテンツとの互換性のため、-epub-hyphens プロパティは 非推奨の all キーワードもサポートします。この値は CSS ではもはやサポートされておらず、 その代わりに使用できる等価表現はありません。

E.2.2 -epub-line-break プロパティ

このプロパティは、 line-break プロパティ [css-text-3] の接頭辞付きバージョンです。

名前: -epub-line-break
値: auto | loose | normal | strict

E.2.3 -epub-text-align-last プロパティ

このプロパティは、 text-align-last プロパティ [css-text-3] の接頭辞付きバージョンです。

名前: -epub-text-align-last
値: auto | start | end | left | right | center | justify

E.2.4 -epub-word-break プロパティ

このプロパティは、 word-break プロパティ [css-text-3] の接頭辞付きバージョンです。

名前: -epub-word-break
値: normal | keep-all | break-all

E.2.5 text-transform プロパティ

このプロパティは、 text-transform プロパティ [css-text-3] の接頭辞付き値です。

名前: text-transform
値: -epub-fullwidth

既存コンテンツとの互換性のため、text-transform プロパティは 非推奨の -epub-fullwidth キーワードもサポートします。指定された場合、 これは text-transform: full-width と同じ効果を持ちます。

E.3 CSS Text Decoration Level 3

この節は、[css-text-decor-3] の -epub- 接頭辞付きプロパティについて説明します。

E.3.1 -epub-text-emphasis-color プロパティ

このプロパティは、 text-emphasis-color プロパティ [css-text-decor-3] の 接頭辞付きバージョンです。

名前: -epub-text-emphasis-color
値: <color>

E.3.2 -epub-text-emphasis-position プロパティ

このプロパティは、 text-emphasis-position プロパティ [css-text-decor-3] の 接頭辞付きバージョンです。

名前: -epub-text-emphasis-position
値: [ over | under ] && [ right | left ]

E.3.3 -epub-text-emphasis-style プロパティ

このプロパティは、 text-emphasis-style プロパティ [css-text-decor-3] の 接頭辞付きバージョンです。

名前: -epub-text-emphasis-style
値: none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>

E.3.4 -epub-text-underline-position プロパティ

このプロパティは、 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 と同じ効果を持ちます。

F. viewport meta タグ

F.1 はじめに

この節は非規範的です。

以前の EPUB 3 のバージョンで使用されていた、viewport meta タグの Safari HTML 定義は公式に認められた標準ではないため、この仕様は、 EPUB 作成者幅および高さの寸法を表現し、 固定レイアウト文書のレンダリングで使用できるようにするため、 基本構文を定義します。

この文法の構文は、[css-viewport-1] で定義される viewport meta タグの解析アルゴリズムにも影響を受けています。

この仕様の範囲には、考えられるすべてのプロパティおよび値を定義することは含まれないため、 構文は意図的に可能な限り汎用的なままにされています。これは、プロパティと値のペアを 定義するための基本要件、および式の間で可能な区切りのみを定義します。

F.2 構文

固定レイアウト文書については、viewport meta タグ [html] は、次の定義に 適合する name 属性および content 属性を持たなければなりません(MUST)。

name
空白正規化 [xml] 後の name 属性 [html] の値は、viewport でなければなりません (MUST)。
content

空白 正規化 [xml] 後の content 属性 [html] の値は、次の形式でなければなりません(MUST)。

(EBNF 生成規則 ISO/IEC 14977
すべての終端記号は Unicode ブロック「Basic Latin」(U+0000 から U+007F)に含まれます。
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] は [infra] の 空白の定義依存していますが、フォームフィード(U+000C) 文字は [xml] の定義では 妥当な空白ではありません。XML 構文(すなわち、XHTML コンテンツ文書)では使用できません。

[html] 文法によって meta 要素で許可されるその他の属性には 制限はありません。

注記

必須の height および width プロパティ、ならびにそれらの必須値の指定に関する詳細については、 8.2.2.6 コンテンツ文書の寸法を参照してください。

viewport meta タグは、EPUB 作成者が height および width 以外のプロパティを使用すること、 およびこれらのプロパティに値を含めないことを許可しますが、 そのような使用は強く推奨されません。他のプロパティを設定すると、 固定レイアウト文書のレンダリングに意図しない結果をもたらす可能性があります。

G. スキーマ

この節は非規範的です。

G.1 パッケージ文書スキーマ

パッケージ文書のスキーマは、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 スキーマのみを使用する 複数パス検証で置き換えることができます。

注記

これらのスキーマは、この仕様の正式な改訂の外で更新および修正される場合があります。 その結果、それらはいつでも変更される可能性があります。

G.2 OCF スキーマ

G.2.1 container.xml のスキーマ

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] を サポートするプロセッサが必要です。

G.2.2 encryption.xml のスキーマ

encryption.xml ファイルのスキーマは、[xmlsec-rngschema-20130411] に含まれています。

G.2.3 signatures.xml のスキーマ

signatures.xml ファイルのスキーマは、[xmlsec-rngschema-20130411] に含まれています。

G.3 メディアオーバーレイスキーマ

メディアオーバーレイ文書のスキーマは、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 スキーマのみを使用する 複数パス検証で置き換えることができます。

H. 詳細な例

この節は非規範的です。

H.1 リソース

パッケージ文書および 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 にあります。

H.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>

これらの例から、次のことが成り立ちます。

H.3 パッケージ化された EPUB

この例は、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>

H.4 クロック値

次は許可されるクロック値の例です。

I. メディアタイプ登録

I.1 application/oebps-package+xml メディアタイプ

この付録は、EPUB パッケージ文書のためのメディアタイプ application/oebps-package+xml を登録します。この登録は RFC4839 に取って代わります(https://www.rfc-editor.org/rfc/rfc4839 を参照)。

パッケージ文書は、EPUB 出版物を記述する XML ファイルです。これは EPUB 出版物内のリソースを 識別し、メタデータ情報を提供します。パッケージ文書およびそれに関連する仕様は、 World Wide Web ConsortiumW3C)によって維持され、定義されています。

MIME メディアタイプ名:

application

MIME サブタイプ名:

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

Macintosh ファイルタイプコード:

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)

I.2 application/epub+zip メディアタイプ

この付録は、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 ConsortiumW3C)によって維持され、定義されています。

MIME メディアタイプ名:

application

MIME サブタイプ名:

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 拡張子で識別されます。

Macintosh ファイルタイプコード:

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)

J. 索引

J.1 この仕様で定義される用語

J.2 参照によって定義される用語

K. 変更履歴

この節は非規範的です。

この変更履歴は、EPUB 3.2 以降の実質的な変更、すなわち EPUB 出版物の適合性に影響を与える可能性がある変更のみを 識別していることに注意してください。

対応されたすべての課題の一覧については、Working Group の issue tracker を参照してください。

2023-05-25 の 勧告以降の実質的な変更
2023-02-21 の 候補 勧告以降の実質的な変更
2022-05-12 の 候補 勧告以降の実質的な変更
EPUB 3.2 以降の実質的な変更

L. 謝辞

この節は非規範的です。

仕様は、芸術と同じく、人間による創造物です。EPUB のために Garth Conboy ほど多くを成し遂げた人はいません。 彼は 1999 年の最初の OEB 1.0 から今日の EPUB 3.3 まで、あらゆる段階に関わってきました。 Garth の構想力、知識、そして並外れて温厚な人柄がなければ、このいずれも実現しなかったでしょう。 私たちは EPUB 3.3 を彼の思い出に捧げます。 Garth、私たちは永遠にあなたに恩義があります。

次の EPUB 3 Working Group のメンバーが、この仕様の開発に貢献しました。

M. 参照文献

M.1 規範的参照文献

[bcp47]
Tags for Identifying Languages. A. Phillips, Ed.; M. Davis, Ed. IETF. September 2009. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc5646
[bidi]
Unicode Bidirectional Algorithm. Manish Goregaokar मनीष गोरेगांवकर; Robin Leroy. Unicode Consortium. 13 August 2025. Unicode Standard Annex #9. URL: https://www.unicode.org/reports/tr9/tr9-51.html
[charmod-norm]
Character Model for the World Wide Web: String Matching. Addison Phillips et al. W3C. 11 August 2021. W3C Working Group Note. URL: https://www.w3.org/TR/charmod-norm/
[css-text-3]
CSS Text Module Level 3. Elika Etemad; Koji Ishii; Florian Rivoal. W3C. 30 September 2024. CRD. URL: https://www.w3.org/TR/css-text-3/
[css-text-decor-3]
CSS Text Decoration Module Level 3. Elika Etemad; Koji Ishii. W3C. 5 May 2022. CRD. URL: https://www.w3.org/TR/css-text-decor-3/
[css-writing-modes-3]
CSS Writing Modes Level 3. Elika Etemad; Koji Ishii. W3C. 10 December 2019. W3C Recommendation. URL: https://www.w3.org/TR/css-writing-modes-3/
[css2]
Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. Bert Bos; Tantek Çelik; Ian Hickson; Håkon Wium Lie. W3C. 7 June 2011. W3C Recommendation. URL: https://www.w3.org/TR/CSS2/
[csssnapshot]
CSS Snapshot. URL: https://www.w3.org/TR/CSS/
[datetime]
Date and Time Formats. Misha Wolf. W3C. 27 August 1998. W3C Working Group Note. URL: https://www.w3.org/TR/NOTE-datetime
[dcterms]
DCMI Metadata Terms. DCMI Usage Board. DCMI. 20 January 2020. DCMI Recommendation. URL: https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
[dom]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[ecmascript]
ECMAScript Language Specification. Ecma International. URL: https://tc39.es/ecma262/multipage/
[epub-a11y-11]
EPUB Accessibility 1.1. George Kerscher; Matt Garrish; Charles LaPierre; Avneesh Singh; Gregorio Pellegrino. W3C. 17 October 2024. W3C Recommendation. URL: https://www.w3.org/TR/epub-a11y-11/
[epub-rs-33]
EPUB Reading Systems 3.3. Ivan Herman; Matt Garrish; Dave Cramer. W3C. 17 October 2024. W3C Recommendation. URL: https://www.w3.org/TR/epub-rs-33/
[epub-ssv-11]
EPUB 3 Structural Semantics Vocabulary 1.1. Ivan Herman; Matt Garrish. W3C. 28 August 2025. W3C Working Group Note. URL: https://www.w3.org/TR/epub-ssv-11/
[epubcontentdocs-301]
EPUB Content Documents 3.0.1. Markus Gylling; William McCoy; Elika J. Etimad; Matt Garrish. IDPF. 26 June 2014. URL: https://idpf.org/epub/301/spec/epub-contentdocs-20140626.html
[epubpackages-32]
EPUB Packages 3.2. Matt Garrish; Dave Cramer. EPUB 3 Community Group. 08 May 2019. URL: https://www.w3.org/publishing/epub32/epub-packages.html
[epubpublications-30]
EPUB Publications 3.0. Markus Gylling; William McCoy; Matt Garrish. IDPF. 11 October 2011. URL: https://idpf.org/epub/30/spec/epub30-publications-20111011.html
[epubpublications-301]
EPUB Publications 3.0.1. Markus Gylling; William McCoy; Matt Garrish. IDPF. 26 June 2014. URL: https://idpf.org/epub/301/spec/epub-publications-20140626.html
[fips-180-4]
FIPS PUB 180-4: Secure Hash Standard (SHS). U.S. Department of Commerce/National Institute of Standards and Technology. August 2015. National Standard. URL: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf
[geolocation]
Geolocation. Marcos Caceres; Reilly Grant. W3C. 29 October 2025. W3C Recommendation. URL: https://www.w3.org/TR/geolocation/
[gif]
Graphics Interchange Format. CompuServe Incorporated. 31 July 1990. URL: https://www.w3.org/Graphics/GIF/spec-gif89a.txt
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[html-rdfa]
HTML+RDFa 1.1 - Second Edition. Manu Sporny. W3C. 17 March 2015. W3C Recommendation. URL: https://www.w3.org/TR/html-rdfa/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[iso8601-1]
Date and time — Representations for information interchange — Part 1: Basic rules. ISO 8601-1:2019.. International Organization for Standardization (ISO). 2019. ISO 8601-1:2019. URL: https://www.iso.org/standard/70907.html
[jpeg]
JPEG File Interchange Format. Eric Hamilton. C-Cube Microsystems. Milpitas, CA, USA. September 1992. URL: https://www.w3.org/Graphics/JPEG/jfif3.pdf
[mathml3]
Mathematical Markup Language (MathML) Version 3.0 2nd Edition. David Carlisle; Patrick D F Ion; Robert R Miner. W3C. 10 April 2014. W3C Recommendation. URL: https://www.w3.org/TR/MathML3/
[mp3]
Information technology — Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s — Part 3: Audio. ISO/IEC. August 1993. Published. URL: https://www.iso.org/standard/22412.html
[mp4]
Information technology — Coding of audio-visual objects — Part 14: MP4 file format. ISO/IEC. January 2020. Published. URL: https://www.iso.org/standard/79110.html
[mpeg4-audio]
Information technology — Coding of audio-visual objects — Part 3: Audio. ISO/IEC. December 2019. Published. URL: https://www.iso.org/standard/76383.html
[onix]
ONIX for Books 3.0. URL: https://www.editeur.org/8/ONIX/
[opentype]
OpenType specification. Microsoft. URL: http://www.microsoft.com/typography/otspec/default.htm
[opf-201]
Open Packaging Format 2.0.1. IDPF. 04 September 2010. URL: https://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm
[png]
Portable Network Graphics (PNG) Specification (Third Edition). Chris Lilley; Leonard Rosenthol; Pierre-Anthony Lemieux; Chris Needham; Simon Thompson; Chris Seeger; Chris Blume; Cosmin Truta. W3C. 24 June 2025. W3C Recommendation. URL: https://www.w3.org/TR/png-3/
[push-api]
Push API. Marcos Caceres; Kagami Rosylight. W3C. 1 December 2025. W3C Working Draft. URL: https://www.w3.org/TR/push-api/
[rdfa-core]
RDFa Core 1.1 - Third Edition. Ben Adida; Mark Birbeck; Shane McCarron; Ivan Herman et al. W3C. 17 March 2015. W3C Recommendation. URL: https://www.w3.org/TR/rdfa-core/
[rfc2046]
Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. N. Freed; N. Borenstein. IETF. November 1996. Draft Standard. URL: https://www.rfc-editor.org/rfc/rfc2046
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[rfc2397]
The "data" URL scheme. L. Masinter. IETF. August 1998. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc2397
[rfc4329]
Scripting Media Types. B. Hoehrmann. IETF. April 2006. Informational. URL: https://www.rfc-editor.org/rfc/rfc4329
[rfc7303]
XML Media Types. H. Thompson; C. Lilley. IETF. July 2014. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7303
[rfc7845]
Ogg Encapsulation for the Opus Audio Codec. T. Terriberry; R. Lee; R. Giles. IETF. April 2016. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc7845
[rfc8089]
The "file" URI Scheme. M. Kerwin. IETF. February 2017. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8089
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[rfc9110]
HTTP Semantics. R. Fielding, Ed.; M. Nottingham, Ed.; J. Reschke, Ed. IETF. June 2022. Internet Standard. URL: https://httpwg.org/specs/rfc9110.html
[rfc9649]
WebP Image Format. J. Zern; P. Massimino; J. Alakuijala. IETF. November 2024. Informational. URL: https://www.rfc-editor.org/rfc/rfc9649
[smil3]
Synchronized Multimedia Integration Language (SMIL 3.0). Dick Bulterman. W3C. 1 December 2008. W3C Recommendation. URL: https://www.w3.org/TR/SMIL3/
[svg]
SVG. W3C. URL: https://www.w3.org/TR/SVG/
[truetype]
TrueType™ Reference Manual. Apple, Inc. URL: https://developer.apple.com/fonts/TrueType-Reference-Manual/
[uax15]
Unicode Normalization Forms. Ken Whistler. Unicode Consortium. 30 July 2025. Unicode Standard Annex #15. URL: https://www.unicode.org/reports/tr15/tr15-57.html
[unicode]
The Unicode Standard. Unicode Consortium. URL: https://www.unicode.org/versions/latest/
[url]
URL Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://url.spec.whatwg.org/
[us-ascii]
"Coded Character Set - 7-bit American Standard Code for Information Interchange", ANSI X3.4, 1986..
[wai-aria]
Accessible Rich Internet Applications (WAI-ARIA). W3C. URL: https://www.w3.org/TR/wai-aria/
[woff]
WOFF File Format 1.0. Jonathan Kew; Tal Leming; Erik van Blokland. W3C. 13 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/WOFF/
[woff2]
WOFF File Format 2.0. Vladimir Levantovsky. W3C. 8 August 2024. W3C Recommendation. URL: https://www.w3.org/TR/WOFF2/
[xinclude]
XML Inclusions (XInclude) Version 1.0 (Second Edition). Jonathan Marsh; David Orchard; Daniel Veillard. W3C. 15 November 2006. W3C Recommendation. URL: https://www.w3.org/TR/xinclude/
[xml]
Extensible Markup Language (XML) 1.0 (Fifth Edition). Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau et al. W3C. 26 November 2008. W3C Recommendation. URL: https://www.w3.org/TR/xml/
[xml-names]
Namespaces in XML 1.0 (Third Edition). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 8 December 2009. W3C Recommendation. URL: https://www.w3.org/TR/xml-names/
[xmldsig-core]
XML Signature Syntax and Processing (Second Edition). Donald Eastlake; Joseph Reagle; David Solo; Frederick Hirsch; Thomas Roessler et al. W3C. 10 June 2008. W3C Recommendation. URL: https://www.w3.org/TR/xmldsig-core/
[xmldsig-core1]
XML Signature Syntax and Processing Version 1.1. Donald Eastlake; Joseph Reagle; David Solo; Frederick Hirsch; Magnus Nyström; Thomas Roessler; Kelvin Yiu. W3C. 11 April 2013. W3C Recommendation. URL: https://www.w3.org/TR/xmldsig-core1/
[xmlenc-core1]
XML Encryption Syntax and Processing Version 1.1. Donald Eastlake; Joseph Reagle; Frederick Hirsch; Thomas Roessler. W3C. 11 April 2013. W3C Recommendation. URL: https://www.w3.org/TR/xmlenc-core1/
[xmlenc-decrypt]
Decryption Transform for XML Signature. Merlin Hughes; Takeshi Imamura; Hiroshi Maruyama. W3C. 10 December 2002. W3C Recommendation. URL: https://www.w3.org/TR/xmlenc-decrypt/
[xmlschema-2]
XML Schema Part 2: Datatypes Second Edition. Paul V. Biron; Ashok Malhotra. W3C. 28 October 2004. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema-2/
[zip]
.ZIP File Format Specification. 15 July 2020. Final. URL: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT

M.2 参考参照文献

[audiobooks]
Audiobooks. Wendy Reid; Matt Garrish. W3C. 10 November 2020. W3C Recommendation. URL: https://www.w3.org/TR/audiobooks/
[css-viewport-1]
CSS Viewport Module Level 1. W3C. URL: https://drafts.csswg.org/css-viewport/
[dpub-aria]
Digital Publishing WAI-ARIA Module. W3C. URL: https://www.w3.org/TR/dpub-aria/
[epub-a11y-tech-11]
EPUB Accessibility Techniques 1.1. Matt Garrish; George Kerscher; Charles LaPierre; Gregorio Pellegrino; Avneesh Singh. W3C. 13 March 2025. W3C Working Group Note. URL: https://www.w3.org/TR/epub-a11y-tech-11/
[epub-multi-rend-11]
EPUB 3 Multiple-Rendition Publications 1.1. Matt Garrish. W3C. 28 August 2025. W3C Working Group Note. URL: https://www.w3.org/TR/epub-multi-rend-11/
[epub-overview-33]
EPUB 3 Overview. Matt Garrish; Ivan Herman. W3C. 13 March 2025. W3C Working Group Note. URL: https://www.w3.org/TR/epub-overview-33/
[epub-tts-10]
EPUB 3 Text-to-Speech Enhancements 1.0. Matt Garrish. W3C. 28 August 2025. W3C Working Group Note. URL: https://www.w3.org/TR/epub-tts-10/
[fetch]
Fetch Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://fetch.spec.whatwg.org/
[h264]
H.264 : Advanced video coding for generic audiovisual services. 2017-04-13. URL: https://www.itu.int/ITU-T/recommendations/rec.aspx?rec=13189
[international-specs]
Internationalization Best Practices for Spec Developers. Richard Ishida; Addison Phillips. W3C. 8 August 2025. W3C Working Group Note. URL: https://www.w3.org/TR/international-specs/
[iso22424]
ISO/IEC TS 22424-1:2020 — Digital publishing — EPUB3 preservation. 2020-01. URL: https://www.iso.org/standard/73163.html
[isoschematron]
ISO/IEC 19757-3: Rule-based validation — Schematron. 2006-06-01. URL: http://standards.iso.org/ittf/PubliclyAvailableStandards/c040833_ISO_IEC_19757-3_2006(E).zip
[json-ld11]
JSON-LD 1.1. Gregg Kellogg; Pierre-Antoine Champin; Dave Longley. W3C. 16 July 2020. W3C Recommendation. URL: https://www.w3.org/TR/json-ld11/
[mediaqueries-3]
Media Queries Level 3. Florian Rivoal. W3C. 21 May 2024. W3C Recommendation. URL: https://www.w3.org/TR/mediaqueries-3/
[nvdl]
ISO/IEC 19757-4: NVDL (Namespace-based Validation Dispatching Language). 2006-06-01. URL: http://standards.iso.org/ittf/PubliclyAvailableStandards/c038615_ISO_IEC_19757-4_2006(E).zip
[odf]
Open Document Format for Office Applications (OpenDocument) v1.0. 1 May 2005. URL: https://www.oasis-open.org/committees/download.php/12572/OpenDocument-v1.0-os.pdf
[relaxng-schema]
Information technology -- Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG. ISO/IEC. 2008. URL: http://standards.iso.org/ittf/PubliclyAvailableStandards/c052348_ISO_IEC_19757-2_2008(E).zip
[rfc3986]
Uniform Resource Identifier (URI): Generic Syntax. T. Berners-Lee; R. Fielding; L. Masinter. IETF. January 2005. Internet Standard. URL: https://www.rfc-editor.org/rfc/rfc3986
[rfc4839]
Media Type Registrations for the Open eBook Publication Structure (OEBPS) Package File (OPF). G. Conboy; J. Rivlin; J. Ferraiolo. IETF. April 2007. Informational. URL: https://www.rfc-editor.org/rfc/rfc4839
[rfc6386]
VP8 Data Format and Decoding Guide. J. Bankoski; J. Koleszar; L. Quillio; J. Salonen; P. Wilkins; Y. Xu. IETF. November 2011. Informational. URL: https://www.rfc-editor.org/rfc/rfc6386
[rfc8141]
Uniform Resource Names (URNs). P. Saint-Andre; J. Klensin. IETF. April 2017. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8141
[uaag20]
User Agent Accessibility Guidelines (UAAG) 2.0. James Allan; Greg Lowney; Kimberly Patch; Jeanne F Spellman. W3C. 15 December 2015. W3C Working Group Note. URL: https://www.w3.org/TR/UAAG20/
[uax44]
Unicode Character Database. Ken Whistler. Unicode Consortium. 27 August 2025. Unicode Standard Annex #44. URL: https://www.unicode.org/reports/tr44/tr44-36.html
[wcag2]
Web Content Accessibility Guidelines (WCAG) 2. W3C. URL: https://www.w3.org/TR/WCAG2/
[webvtt]
WebVTT: The Web Video Text Tracks Format. Silvia Pfeiffer. W3C. 4 April 2019. W3C Candidate Recommendation. URL: https://www.w3.org/TR/webvtt1/
[xhr]
XMLHttpRequest Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://xhr.spec.whatwg.org/
[xmlbase]
XML Base (Second Edition). Jonathan Marsh; Richard Tobin. W3C. 28 January 2009. W3C Recommendation. URL: https://www.w3.org/TR/xmlbase/
[xmlsec-rngschema-20130411]
XML Security RELAX NG Schemas. Murata Makoto; Frederick Hirsch. W3C. 11 April 2013. W3C Working Group Note. URL: https://www.w3.org/TR/2013/NOTE-xmlsec-rngschema-20130411/