Copyright © 1999-2026 International Digital Publishing Forum and World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
EPUB® 3は、デジタル出版物および文書の配布・交換形式を定義します。EPUB 形式は、HTML、CSS、SVG、その他のリソースを含む、構造化され意味的に強化された Webコンテンツを、単一ファイルのコンテナーで配布するために表現、パッケージ化、エンコードする手段を提供します。
この仕様は、EPUB 出版物の作成要件を定義し、この標準の3回目の 主要改訂版を表します。
このセクションは、この文書の公開時点における 文書のステータスを説明します。現在のW3C 出版物およびこの技術報告書の最新改訂版の一覧は、 W3C標準および草案 索引にあります。
この文書は、Publishing Maintenance Working Groupにより、 勧告 トラックを用いて作業草案として公開されました。
作業草案としての公開は、 W3Cおよびその会員による 承認を意味するものではありません。
これは草案文書であり、いつでも他の 文書によって更新、置換、または廃止される可能性があります。この文書を進行中の作業 以外のものとして引用することは不適切です。 この今後の勧告への将来の更新には、 新機能が組み込まれる可能性があります。
この文書は、 W3C 特許 ポリシーの下で活動するグループによって作成されました。 W3Cは、 グループの成果物に関連して行われた 特許開示の公開一覧を管理しています。 そのページには、特許を開示するための 手順も含まれています。個人が、 必須クレームを含むと その個人が信じる特許について実際の 知識を有している場合、その情報を W3C特許ポリシーの第6節に従って開示しなければなりません。
この文書は、 2025年8月18日版W3Cプロセス文書に準拠します。
このセクションは非規範的です。
EPUB 3は、デジタル書籍(電子書籍)の形式として広く採用されており、この改訂では、 複雑なレイアウト、リッチメディアとインタラクティビティ、グローバルな組版機能を含む、 より幅広い出版要件をよりよくサポートするために、この形式の機能を引き続き拡張します。 出版者は、書籍、雑誌、教育・専門・科学出版物を含む幅広いコンテンツに、 EPUB 3形式を利用することが期待されます。
この仕様はEPUB 3の中核を表し、この標準の成果物であるEPUB出版物の適合要件を含みます。EPUB 3を構成するその他の 仕様は次のとおりです。
EPUB 3 Reading Systems [epub-rs-34] — EPUBリーディングシステム、すなわちEPUB出版物を消費し、 そのコンテンツをユーザーに提示するアプリケーションの処理要件を定義します。
EPUB Accessibility [epub-a11y-12] — EPUB出版物のアクセシビリティ 適合性および発見可能性の要件を定義します。
これらの仕様は、EPUB 3に属するものとして認識され、標準の一部として規範的に参照される 機能を含む正式な一覧を表します。拡張仕様の開発により、EPUB出版物には定期的に新しい機能が追加されます。 標準の中核改訂の外で定義される機能は、この仕様では正式に認識されていないものの、 EPUB出版物での使用およびリーディングシステムでの実装に利用できます。
非規範的なEPUB 3 Overview [epub-overview-34] は、 EPUB 3の一般的な紹介を提供します。前バージョンからの技術的変更の一覧も、 変更履歴で利用できます。
このセクションは非規範的です。
このセクションでは、この仕様が定義する中心的な成果物である EPUB出版物を通じて、この仕様の構成を概観します。
EPUB出版物は、最も基本的な意味では、コンテンツを論理的な順序で提示するために、 それらのリソースをレンダリングする方法の指示を伴うリソースの束です。EPUB出版物で許可される リソースの種類、およびその使用上の制限は、3. 出版 リソースで定義されています。
ファイル拡張子.epubを持つZIPベースのアーカイブは、配布のためにEPUB出版物の
リソースを束ねます。適合ZIPアーカイブとして、EPUB出版物は多くの
ソフトウェアプログラムで展開でき、その作成と利用の両方を簡素化します。
コンテナー形式は、zip化されたコンテンツがEPUB出版物を表していることを判定する手段
(mimetypeファイル)を提供するだけでなく、非規範的リソースの普遍的に命名された
ディレクトリ(/META-INF)も提供します。これらのリソースの中で重要なのが
container.xmlファイルであり、リーディングシステムを利用可能なパッケージ文書へ誘導します。コンテナー形式の詳細については、
4. Open Container Format (OCF)を参照してください。
EPUB出版物は通常、単一のパッケージ文書によって表されます。この文書には、 書棚で表示するためのタイトルや著者、ならびにレンダリングメタデータ(例えば、コンテンツが リフロー可能か固定レイアウトか)など、リーディングシステムがユーザーにコンテンツを提示するために使用する メタデータが含まれます。また、リソースのマニフェストを提供し、ユーザーがコンテンツを 進める際に文書をレンダリングする既定の順序を列挙するスパインを含みます。パッケージ 文書の要件については、5. パッケージ文書を参照してください。
EPUB出版物は既定で、利用可能な画面領域に収まるようにリフローすることを意図しています。 画像および/またはCSS配置を使用して、ピクセル単位で正確な固定レイアウトを持つ出版物を 作成することも可能です。レイアウトを制御するメタデータは、6. レイアウトで定義されています。
EPUB出版物の実際のコンテンツ、すなわちユーザーが読み始めたときに提示されるものは、 Open Web Platformに基づいており、XHTMLとSVGという2種類があります。EPUBコンテンツ文書と呼ばれるこれらの文書は、 適切なレンダリングに必要な画像、音声および動画クリップ、スクリプト、スタイルシートなど、 多くの追加リソースを通常参照します。
EPUBコンテンツ文書を作成するための規則と要件の詳細については、7. EPUBコンテンツ 文書を参照し、アクセシビリティ要件については[epub-a11y-12]を 参照してください。
EPUB出版物には、EPUBナビゲーション文書と呼ばれるもう1つの重要なファイルも含まれます。この 文書は、ユーザーがコンテンツを素早く容易に移動できるようにする、目次などの重要なナビゲーション機能を提供します。 ナビゲーション文書は、XHTMLコンテンツ文書の特殊な型であり、コンテンツ内での使用も可能にします (すなわち、機械処理用の目次とユーザー利用用の目次を別々に持つことを避けます)。この文書の詳細については、 8. EPUBナビゲーション文書を参照してください。
メディアオーバーレイ文書はEPUBコンテンツ 文書を補完します。これらは、EPUBコンテンツ文書内のテキストを録音済み音声と同期させるための 宣言的マークアップを提供します。その結果、リーディング システムが読み上げに合わせてテキストを強調表示する、読み上げ体験を作成できます。 メディアオーバーレイ文書の定義については、9.3 メディアオーバーレイ を参照してください。
概念的には単純である一方、EPUB出版物はここで示したようなZIPパッケージ内のHTMLページと 依存アセットの単なる集合ではありません。EPUB出版物が読書体験を向上させるために提供する 主要な機能に関する追加情報は、参照されている仕様から入手でき、EPUB 3の機能に関する より一般的な紹介は、非規範的な[epub-overview-34]で提供されています。
リーディングシステムの処理要件については、[epub-rs-34]を参照してください。EPUB出版物を作成するために その文書を読む必要はありませんが、リーディングシステムがどのようにコンテンツを提示するかを理解すると、 ユーザーに最適に提示される出版物を作成する際に役立ちます。
このセクションは非規範的です。
EPUB 3が基盤とする技術は絶えず進化しています。一部の技術は、通常 「living」または「evergreen」標準と呼ばれ、日々変更される可能性があり、 EPUB出版物の妥当性への影響は即時です。その他は更新頻度が低く、その変更は、 EPUB 3が新しい改訂を受けるまでEPUB出版物に影響しない場合があります。
いずれの場合も、以前は妥当だった機能が廃止される可能性があります(例えば、 サポート不足やセキュリティ問題によるもの)。また、新しい機能が、リーディングシステムで広くサポートされる前に 利用可能になることもあります。
したがって、広くサポートされている機能のみを使用し、EPUB適合性チェッカーを最新に保つことが推奨されます。
[html]標準は継続的に進化しており、もはや バージョン付きリリースはありません。 その標準は、MathML、SVG、CSS、JavaScriptなど、同じく進化を続けるさまざまな技術を参照します。
この方式の利点は、EPUB 3が常にWebとともに最新であることですが、この仕様が HTMLおよびそれが参照する技術の変更を追跡しないことも意味します。作成プロセスを 最新に保つには、それらの標準を別途監視する必要があります。
[html]標準は、 HTML構文またはXML構文のいずれかを使用して タグセットを表現するための規則を持つ単一のコンテンツモデルを定義します。しかしEPUB 3は、 XHTMLコンテンツ文書と呼ばれるものにおいて、 XML構文を使用したコンテンツ文書の作成のみを許可します。
この仕様で定義されるXHTMLプロファイルは、別途指定されない限り、 意味論、構造、処理動作のすべての定義を[html]から 継承します。
さらに、この仕様は、XHTMLコンテンツ 文書に含めることができる[html]文書モデルへの拡張セットを定義します。
この仕様は、[svg]の特定バージョンを参照せず、 日付なしの参照を使用します。この参照に曖昧さがある場合は常に、最新の勧告バージョンが 権威ある参照となります。
この方式の利点は、EPUB 3が常にSVG標準とともに最新であることですが、 この仕様がSVGへの変更を追跡しないことも意味します。作成プロセスを最新に保つには、 SVG標準を別途監視する必要があります。
EPUB 3は、CSS Working Group Snapshot [csssnapshot]によって定義されるCSSをサポートします。EPUB 3はまた、 グローバルな言語の一貫したサポートを確保するために、いくつかの接頭辞付きCSSプロパティも 維持します。
EPUB 3はPresentation Markup [mathml3]のみをサポートします。 Content Markupは、構造化された マークアップ注釈内でのみ許可されます。
この仕様は、[smil3]のサブセットに依存しており、 9.3.2.2 メディアオーバーレイ文書の定義で定義されるメディアオーバーレイ要素および 属性はそこから派生しています。
この仕様は、EPUB出版物で表現されるURLに関連する用語および処理について、 [url]標準を参照します。新しい、および改訂されたWeb形式は この標準を採用すると予想されますが、それまでは、この仕様が一部の形式の内部要件 (例えば、妥当な相対パス)と、特に国際化URLの使用に関して衝突する可能性があります。 ある形式が国際化URLを許可しない場合(すなわち、 URLが[rfc3986]またはそれ以前に適合しなければならない場合)、 その要件がそれらのリソース内で優先されます。
この仕様は、EPUB 3に固有の次の用語を定義します。
セクション内の用語の最初の出現箇所のみが、その定義にリンクします。
コーデックとは、最適な圧縮を目的として設計された、または最適化されたストリーミング機能を提供する、 動画や音声メディア型など、固有のバイナリ形式の性質を持つコンテンツを指します。
出版リソースのうち、 EPUBコンテナー内に配置されているものを指し、 そうではないリモートリソースと対比されます。
リソースの場所に関するメディア型固有の規則については、3.6 リソースの 場所を参照してください。
URL [url]であり、 OCF抽象コンテナーを表す ルートディレクトリのURLです。 コンテナールートURLは実装固有ですが、その性質は4.2.5 OCF抽象コンテナー内のURLで定義されます。
URLであり、 OCF抽象コンテナー内のファイルまたはディレクトリのURLです。 これは4.2.5 OCF 抽象コンテナー内のURLで定義されます。
出版リソースのうち、 3.2 コアメディア 型に列挙されているMIMEメディア型 [rfc2046] のいずれかに適合するものであり、したがって フォールバックの提供を必要としません(外部 リソースと比較してください)。
「コアメディア型リソース」という指定は、そのリソースがEPUBコンテンツ文書および 外部コンテンツ文書のレンダリングで使用される場合にのみ適用されます。例えば、 コアメディア型リソースは、EPUBコンテンツ文書のメディア型も持たない限り、 スパインで フォールバックなしに使用できません。
この仕様の要件をEPUB出版物に対して検証し、その適合性を報告するアプリケーションです。
EPUB 出版物のZIPベースのパッケージ化および配布形式であり、4.3 OCF ZIPコンテナーで定義されます。
EPUBコンテナーとOCF ZIPコンテナーは同義です。
出版リソースのうち、スパインまたはマニフェストフォールバックチェーンから参照され、 XHTMLまたはSVGコンテンツ文書の定義のいずれかに適合するものです。
EPUBコンテンツ文書は、EPUB出版物のコンテンツの全部または一部 (すなわち、テキスト、視覚、および/または音声コンテンツ)を含みます。
EPUB出版物は、フォールバックを提供せずにEPUBコンテンツ文書をスパインから参照できます。
パッケージ文書のうち、 出版リソースを列挙するセクションです。
詳細については、5.7.1
manifest要素を参照してください。
XHTMLコンテンツ文書の特殊化であり、 人間可読および機械可読の グローバルナビゲーション情報を含みます。EPUBナビゲーション文書は、8. EPUBナビゲーション 文書で表される制約に適合します。
リソースの相互に関連する集合からなり、 EPUBコンテナーにパッケージ化された論理的な文書実体です。
EPUB出版物は通常、単一の知的または芸術的著作物を表しますが、この仕様はコンテンツの性質を制限しません。
EPUB出版物を、この仕様に適合する方法で ユーザーに提示するために処理するシステムです。
パッケージ文書のうち、 EPUBコンテンツ文書および 外部コンテンツ文書の順序付きリストを定義するセクションです。このリストは、 EPUB出版物の既定の読書順序を表します。
詳細については、5.8.1
spine要素を参照してください。
免除リソースは、出版リソースの特殊なクラスであり、フォールバックを必要とせず、リーディングシステムがそのレンダリングを サポートする必要もありません。
詳細については、3.4 免除 リソースを参照してください。
OCF抽象コンテナー内の任意の種類のファイルの名前であり、 ディレクトリであるか、ディレクトリ内のファイルであるかを問いません。
ファイルまたはディレクトリのファイルパスは、ルートディレクトリに対する完全なパスであり、 4.2.4 ファイルパスの導出で指定されるアルゴリズムによって 定義されます。
EPUBコンテンツ文書のうち、固定寸法を持ち、 スパインから直接参照されるものです。 固定レイアウト文書は、事前ページ分割済みまたはロール レイアウトのいずれかで表示されます。
出版リソースのうち、スパイン
itemref
要素、または
マニフェストフォールバックチェーンから参照されるもので、
EPUBコンテンツ文書ではないものです。
外部コンテンツ文書がスパインのitemref要素から参照される場合、
少なくとも1つのEPUBコンテンツ文書を含むマニフェストフォールバックチェーンを必要とします。
XHTMLおよびSVGを除き、すべてのコアメディア型リソースは、 スパインから直接参照される場合、外部コンテンツ文書です。
出版リソースのうち、MIMEメディア型 [rfc2046] が3.2 コアメディア型に列挙されているいずれにも一致しないものです。外部リソースは、 3.3 外部リソースで定義されるフォールバック要件の対象です。
「外部リソース」という指定は、EPUBコンテンツ文書および外部コンテンツ文書のレンダリングに使用されるリソースにのみ適用されます。
外部リソースと外部コンテンツ文書は相互に置き換え可能な用語ではありません。 スパインで使用される場合に外部と見なされるリソースの種類は、EPUBコンテンツ 文書で使用される場合に外部と見なされるリソースの種類よりも多くなります。
パッケージ
文書の
link
要素からのみ参照されるリソースです(すなわち、
EPUB
出版物のレンダリングにも使用されるわけではありません)。
リンクリソースは出版リソースではありませんが、 EPUBコンテナーに格納できます。 これらはフォールバックを必要としません。
XHTMLコンテンツ文書を録音済み音声 ナレーションと関連付け、9.3 メディアオーバーレイで定義されるように、 同期再生体験を提供するXML文書です。
非コーデックとは、文字列に基づくファイル形式(例えば、HTML、CSSなど)のように、 内部データ構造の性質により圧縮の恩恵を受けるコンテンツ型を指します。
OCF抽象コンテナーは、OCF ZIPコンテナーの内容に対するファイルシステムモデルを定義し、 4.2 OCF抽象 コンテナーで定義されます。
出版リソースのうち、 EPUB出版物のレンダリングを記述するものであり、 5. パッケージ 文書で定義されます。パッケージ文書は、 EPUB出版物に関するメタ情報を保持し、リソースのマニフェストを提供し、既定の読書順序を定義します。
EPUB出版物の論理とレンダリングに寄与するコンテンツまたは指示を含むリソースです。 このリソースがない場合、リーディングシステムは、 EPUB出版物を意図どおりにレンダリングできない可能性があります。出版リソースの例には、 パッケージ文書、EPUBコンテンツ文書、CSSスタイルシート、 音声、動画、画像、埋め込みフォント、スクリプトが含まれます。
パッケージ文書のマニフェストは、 通常EPUB コンテナーにバンドルしなければならないすべての出版 リソースの一覧を含まなければなりません(例外として、 3.6 リソースの場所に列挙されるリソースは、 EPUBコンテナーの外に配置できます)。
出版リソースのうち、 EPUBコンテナーの外、通常は Web上に配置されるものです。
EPUBコンテナー内の出版リソースは、コンテナーリソースと呼ばれます。
リソースの場所に関するメディア型固有の規則については、3.6 リソースの 場所を参照してください。
ルートディレクトリは、OCF抽象コンテナーファイルシステムの基点を表します。この ディレクトリは本質的に仮想的です。
スクリプトを含むEPUBコンテンツ文書、または
[html]
form
要素を含むXHTMLコンテンツ文書です。
詳細については、7.4.2 スクリプト処理を参照してください。
EPUBコンテンツ文書のうち、 7.2 SVG コンテンツ文書で表される制約に適合するものです。
デバイス画面上で2つの隣接ページを同時にレンダリングすることです。
EPUBコンテンツ文書または外部コンテンツ文書のうち、 スパインから、 直接またはフォールバック チェーンを介して参照されるものです。
EPUBコンテンツ文書のうち、 7.1 XHTMLコンテンツ文書で定義される [html]のプロファイルに適合するものです。
EPUB出版物の主要な識別子です。一意
識別子は、
unique-identifier属性によって指定される
パッケージ文書内の
dc:identifier
要素の値です。
内容の大幅な改訂、要約などには、新しい一意識別子が必要です。
EPUBリーディングシステムの領域であり、 その中でEPUB出版物が ユーザーに視覚的にレンダリングされます。
非規範的としてマークされたセクションに加え、この仕様内のすべての作成ガイドライン、図、例、および注記は 非規範的です。この仕様内のそれ以外のすべては規範的です。
この文書におけるキーワードMAY、MUST、MUST NOT、OPTIONAL、RECOMMENDED、REQUIRED、SHOULD、およびSHOULD NOTは、 ここに示すようにすべて大文字で出現する場合に限り、 BCP 14 [RFC2119] [RFC8174] に記述されているとおりに解釈されます。
すべての注意ボックス、括弧内の説明文、およびアルゴリズム説明も 非規範的です。
このセクションは非規範的です。
パッケージ文書メタデータの例では、予約済み 接頭辞が宣言なしで使用されます。
Dublin Core要素 [dcterms] への参照は、dc:接頭辞を使用します。この接頭辞は、
その使用が妥当であるために
パッケージ文書内で宣言されなければなりません
(xmlns:dc="http://purl.org/dc/elements/1.1/")。
epub名前空間接頭辞 [xml-names] も、
明示的な宣言が常にあるとは限らない状態で、要素および属性に使用されます
(xmlns:epub="http://www.idpf.org/2007/ops")。
EPUB出版物は:
MUST 次のように、そのコンテンツの少なくとも1つのレンダリングを定義しなければなりません:
MUST パッケージ文書を含まなければなりません。この文書は、5. パッケージ文書 に適合し、パッケージ文書に対するすべての出版リソース 要件を満たさなければなりません。
SHOULD [epub-a11y-12]で定義されるアクセシビリティ要件に 適合するべきです。
MUST EPUB コンテナーにパッケージ化されなければなりません。これは4. Open Container Format (OCF)で定義されています。
さらに、すべての出版リソースは、3. 出版 リソースの要件に従わMUSTなければなりません。
この仕様の残りの部分では、具体的な適合性の詳細を扱います。
このセクションは非規範的です。
この仕様の複雑さ、およびEPUB出版物で使用される技術の数により、 コンテンツの適合性を検証するためにEPUB適合性チェッカーを使用することが 推奨されます。
EPUBCheckは、出版業界で使用される事実上のEPUB適合性 チェッカーであり、EPUBの各新バージョンに合わせて更新されてきました。多くの作成ツールに 組み込まれており、代替インターフェイスや 他の言語でも利用可能です(詳細については、Apps and Tools pageを参照してください)。
EPUB出版物を検証する際は、この 仕様の要件(キーワード「MUST」、「MUST NOT」、および「REQUIRED」で識別される実践)に違反していないことを確認してください。 この種の問題は、多くの場合、EPUB出版物がレンダリングされない、または一貫しない方法でレンダリングされる結果を招きます。 これらの問題は通常、エラーまたは重大エラーとして報告されます。
また、EPUB出版物がこの仕様の推奨事項 (キーワード「SHOULD」、「SHOULD NOT」、および「RECOMMENDED」で識別される実践)に違反していないことも確認してください。 これらの実践に従わなくても、EPUB出版物が無効になるわけではありませんが、相互運用性の 問題やユーザーの読書体験に影響するその他の問題につながる可能性があります。これらの問題は通常、 警告として報告されます。
EPUB出版物のベンダー、配布者、およびその他の小売業者は、EPUB適合性チェッカーからの 問題ゼロの結果を受け入れまたは拒否の根拠にする前に、推奨される実践の重要性を 考慮する必要があります。EPUB出版物がすべての場合に推奨される実践に従えない正当な理由は 存在します。
このセクションは非規範的です。
EPUB出版物は、多くの異なるカテゴリの リソースで構成されますが、それらすべてが 相互排他的であるわけではありません。一部のリソースは出版リソースであり、一部はそうではありません。一部の出版 リソースは既定でスパインで許可されますが、 それ以外はすべてフォールバックを必要とします。 一部のリソースはEPUB コンテンツ文書のレンダリングで使用できますが、その他はフォールバックとともにのみ使用できます。
各カテゴリのリソースの技術的定義を読むことでこれらの違いを理解しようとすると複雑になり得ます。 分類を理解しやすくするため、この序論では、異なるプレーンという概念を使用して、 リソースがどのようにグループ化され参照されるかを説明します。
3つのプレーンは次のとおりです:
同じリソースは複数のプレーン上に存在でき、この仕様では、どのプレーンが論じられているかに応じて 異なる名前で参照されます。例えば、EPUBコンテンツ文書のレンダリングで使用されるコアメディア型リソース (コンテンツプレーン上)は、それがスパインにも列挙されている場合(スパインプレーン)、外部 コンテンツ文書にもなり得ます。
以下のセクションでは、これらのプレーンについてさらに詳しく説明します。
リソースが異なるプレーンにどのように収まるかを示す詳細な例については、 A.1 リソースを参照してください。
マニフェストプレーンは、 EPUB出版物のすべてのリソースを定義します。これは、 パッケージ文書のマニフェストに類似していますが、 その一覧に存在しないリソースも含みます。
このグループの主要なリソースは出版リソースとして指定され、これは
EPUB出版物をユーザーにレンダリングするために使用されるすべてのリソースです。
manifest
要素は、これらのリソースの完全な一覧を
含まなければなりません。
出版リソースは、スパインプレーンおよびコンテンツ プレーンでの用途により、さらに分類されます。
マニフェストプレーンには、一連のリンク リソースも含まれます。これらのリソースは、 直接的なレンダリングには付随的です。例えば、メタデータレコードや外部コンテンツへのリンク (例えば、EPUB出版物を購入する場所)を含みます。
出版リソースとは異なり、これらはパッケージ文書のマニフェストには列挙されません
(すなわち、EPUB出版物のレンダリングに必須ではないため)。代わりに、パッケージ文書メタデータの
link
要素で定義されます。これらの要素は、マニフェストの
item
要素が出版リソースを定義するのと同様に、その性質と目的を定義します。(この意味で、これらは
マニフェストの拡張のようなものです。)
リンクリソースの詳細については、5.6.6
link要素を参照してください。
マニフェストプレーン内のリソースは、その場所によって分類されることもあります。 ほとんどの出版リソースはEPUBコンテナー内に配置されなければなりませんが(コンテナーリソースと呼ばれます)、EPUB 3では、 音声、動画、フォント、およびスクリプトデータ リソースをコンテナー外にホストすることが許可されています。これらの例外は、 これらのリソースが通常かなり大きく、フォントの場合は提示に必須ではないため、EPUB出版物の ダウンロードと読み込みを高速化するために設けられました。リモートでホストされる場合、これらの出版 リソースはリモートリソースと呼ばれます。
リンクリソースはEPUB出版物のレンダリングに必須ではないため、それらがどこに配置されるかについての 要件はなく、その結果、場所に基づく特別な呼称もありません。EPUBコンテナー内にも外にも配置できます。
EPUBコンテナー外のハイパーリンク先コンテンツ(例えばWebページ)は出版 リソースではなく、したがってマニフェストには列挙されません。リーディングシステムは通常、 これらのリンクをEPUB出版物の一部としてではなく、別のブラウザーインスタンスで開きます。
スパインプレーンは、 スパインによって確立される既定の読書順序で 使用されるリソースを定義します。これには線形および非線形コンテンツの両方が含まれます。スパインは、 ユーザーがEPUB出版物を進めるにつれて、 リーディングシステムにこれらのリソースをどのように読み込むかを指示します。 多くのリソースをEPUBコンテナーにバンドルできますが、 すべてが既定でスパイン内で許可されるわけではありません。
EPUB 3は、制限なしにスパインで使用できるEPUBコンテンツ文書と呼ばれる特殊なクラスのリソースを定義します。 EPUBコンテンツ文書には、XHTMLコンテンツ文書とSVGコンテンツ文書の両方が含まれます。
コアメディア型リソースを含むその他の種類のリソースをスパインで使用することは、
外部コンテンツ文書と呼ばれます。
外部コンテンツ文書には、EPUBコンテンツ文書へのマニフェストフォールバックが必要です。この
モデルでは、外部コンテンツ文書のマニフェスト項目は、
fallback属性を含まなければなりません。この属性は、
リーディングシステムがその形式をサポートしない場合に試すことができる次のリソースを指します。
一般的ではありませんが、フォールバックリソースがさらに別のフォールバックを指定し、チェーンが多くのリソース
深さになることもあります。唯一の要件は、マニフェストフォールバックチェーン内に少なくとも1つのEPUBコンテンツ文書が
存在しなければならないことです。
フォールバックチェーン内のすべてのリソースはスパインに直接列挙されていなくても、 いずれのリソースもリーディングシステムによって使用され得るため、スパインの一部であり、ひいてはスパインプレーンの 一部と見なされます。
この拡張モデルにより、外部コンテンツ文書のサポートが保証されていなくても、 リーディングシステムがユーザーに読むものを常にレンダリングできることを確保しつつ、 形式の実験が可能になります。
詳細については、3.5.1 マニフェスト フォールバックを参照してください。
マニフェストフォールバックはEPUBの技術的要件を満たしますが、 リーディングシステムでの実用的なサポートはほとんどありません。その使用は、読めない出版物につながる可能性があるため、 強く推奨されません。
EPUBコンテンツ文書にマニフェストフォールバックを提供することは可能ですが、これは一般的でも 要件でもありません。例えば、スクリプト処理付きコンテンツ文書は、 スクリプトをサポートしないリーディングシステム向けに、スクリプトなしの代替への フォールバックを持つことができます。
コンテンツプレーンは、 EPUBコンテンツ文書および外部コンテンツ文書のレンダリング時に 使用されるリソースを分類します。これらの種類の リソースには、埋め込みメディア、CSSスタイルシート、スクリプト、フォントが含まれます。これらのリソースは、 リーディングシステムのサポートに基づいて、コアメディア型リソース、 外部リソース、および免除リソースの3つのカテゴリに分かれます。
コアメディア型リソースは、リーディングシステムがサポートしなければならないものであるため、 EPUBまたは外部コンテンツ文書内で制限なく使用できます。コアメディア型リソースの詳細については、 3.2 コアメディア型を参照してください。
コアメディア型リソースであることは、すべてのリーディングシステムが常にそのリソースをレンダリングすることを 意味しません。すべてのリーディングシステムがEPUB 3のすべての機能をサポートするわけではないためです。例えば、 ビューポートを持たないリーディングシステムは、画像などの視覚コンテンツを レンダリングしません。
コアメディア型リソースの反対が外部リソースです。これらは、リーディングシステムが
レンダリングをサポートすることが保証されていないリソースです。その結果、スパインで
外部コンテンツ文書を使用するにはそのレンダリングを確保するためのフォールバックが必要であるのと同様に、
コンテンツ文書内で外部リソースを使用する場合もフォールバックが必要です。これらのフォールバックは、
ホスト形式の機能を使用して提供されます。例えば、多くのHTML要素には固有の
フォールバック機能があります。その一例が、
picture
要素 [html]であり、複数の代替画像形式を指定できます。
外部リソースの詳細については、3.3 外部リソースを参照してください。
コアメディア型リソースと外部リソースの中間にあるのが免除リソースです。これらは、 リーディングシステムがレンダリングする保証がないため、外部リソースと最も密接に関連します。 しかしコアメディア型と同様に、フォールバックを必要としません。
免除リソースは、コアメディア型が定義されていない特定の場合であって、
フォールバックを提供することが煩雑または不要になる場合に対処する傾向があります。これには、
動画の埋め込み、アクセシビリティトラックの追加、および[html]のlink要素からのリソースへのリンクが含まれます。
これらの例外の詳細については、3.4 免除 リソースを参照してください。
コアメディア型リソースから生じる一般的な混乱点は、XHTMLおよびSVGが、 それぞれのEPUBコンテンツ文書定義に適合するという要件とともに、コアメディア型リソースとして 列挙されていることです。この共通定義により、XHTMLおよびSVG文書がスパインに列挙されているか、 他のEPUBコンテンツ文書に埋め込まれているかにかかわらず、作成およびリーディングシステム サポートに対して同じ要件を持つことが確保されます。
実際には、XHTMLおよびSVGコアメディア型リソースは、適合するXHTMLおよびSVGコンテンツ 文書でもあるため、変更やフォールバックなしにスパインで許可されることを意味します。 しかし、これは特殊なケースです。その他すべてのコアメディア型リソースは、スパインで使用されると 外部コンテンツ文書になります(すなわち、外部コンテンツ文書には、XHTMLおよびSVGを除く すべての外部リソースおよびすべてのコアメディア型リソースが含まれます)。
次の表で定義されるMIMEメディア型 [rfc2046] 仕様に適合する出版リソースは、 EPUBコンテンツ文書および外部コンテンツ文書で使用される場合、 EPUB 出版物にフォールバックなしで含められMAYます。これらのリソースは コアメディア型リソースとして分類されます。
XHTMLコンテンツ文書およびSVGコンテンツ文書のみが、マニフェストフォールバックなしで スパインから参照できます。その他すべてのコアメディア型 リソースは、スパインから直接参照される場合、マニフェストフォールバックを含まMUSTなければなりません。 この場合、それらは外部コンテンツ文書です。
表の列は次の情報を表します:
メディア型—マニフェスト内で 指定された出版リソースを表すために使用されるMIMEメディア型 [rfc2046]。
リソースに複数のメディア型がある場合、最初に列挙されたものが推奨メディア型です。 リソースを宣言する際は、このメディア型を使用することが推奨されます。
| メディア型 | コンテンツ型定義 | 適用対象 | EPUB 3での採用時期 |
|---|---|---|---|
| HTML | |||
application/xhtml+xml
|
XHTMLコンテンツ文書 | XML構文を使用するHTML文書 [html] | 3.0 |
| 画像 | |||
image/gif
|
[gif] | GIF画像 | 3.0 |
image/jpeg
|
[jpeg] | JPEG画像 | 3.0 |
image/png
|
[png] | PNG画像 | 3.0 |
image/svg+xml
|
SVGコンテンツ文書 | SVG文書 | 3.0 |
image/webp
|
[rfc9649] | WebP画像 | 3.3 |
image/avif
|
[av1-avif] | AVIF画像 | 3.4 |
image/jxl
|
[iso18181-1] | JPEG XL画像 | 3.4 |
| 音声 | |||
audio/mpeg
|
[mp3] | MP3音声 | 3.0 |
|
[mpeg4-audio], [mp4] | MP4コンテナーを使用するAAC LC音声 | 3.0 |
audio/mp4; codecs=opus
|
[mpeg4-audio], [mp4], [rfc8251] | MP4コンテナーを使用するOPUS音声 | 3.4 |
audio/ogg; codecs=opus
|
[rfc7845] | OGGコンテナーを使用するOPUS音声 | 3.3 |
| スタイル | |||
text/css
|
CSSスタイルシート | CSSスタイルシート | 3.0 |
| フォント | |||
|
[truetype] | TrueTypeフォント | 3.0 |
|
[opentype] | OpenTypeフォント | 3.0 |
|
[woff] | WOFFフォント | 3.0 |
font/woff2
|
[woff2] | WOFF2フォント | 3.2 |
| その他 | |||
|
[rfc4329] | スクリプト。 | 3.0 |
application/x-dtbncx+xml
|
[opf-201] | 古いNCX | 3.0 |
application/smil+xml
|
メディアオーバーレイ | EPUBメディアオーバーレイ文書 | 3.0 |
コアメディア型リソースとして含まれることは、すべてのリーディングシステムが そのリソースのレンダリングをサポートすることを意味しません。リーディングシステムのサポートは、 アプリケーションの機能にも依存します(例えば、ビューポートを持つ リーディングシステムは画像コアメディア型 リソースをサポートしなければなりませんが、ビューポートを持たないリーディングシステムはそうではありません)。どのリーディングシステムの レンダリング機能がどのコアメディア型リソースのサポートを必要とするかの詳細については、 Core media types [epub-rs-34]を参照してください。
作業グループは通常、Webブラウザーコア、すなわちEPUB 3リーディングシステムが基盤とする レンダリングエンジンで広くサポートされている段階になった形式のみをコアメディア型リソースとして含めます。 その段階では、最新のリーディングシステムでのレンダリングに依拠できるためです。 それにもかかわらず、著者は、より新しい形式(EPUB 3.0以降に導入されたもの。表の 最後の列を参照)が、例えば独自のレンダリングエンジンに依存する、または最近更新されていない リーディングシステムではサポートされない可能性があることを認識しなければなりません。
外部リソースは、コアメディア型リソースとは異なり、 EPUBコンテンツ文書または 外部コンテンツ文書で使用される場合に、 リーディングシステムのサポートが保証されないものです。
外部リソースにはフォールバックを提供しMUSTなければなりません。フォールバックは通常、 ホスト形式の固有のフォールバック機構を使用して 提供されます(例えば、[html]要素は多くの場合、 複数のメディア型を参照したり、あるメディア型をレンダリングできないときに代替の埋め込みメッセージを 表示したりする機能を提供します)。
[html]および[svg]仕様を参照して、 それらの要素が提供する固有のフォールバック機能を確認してください。
3.5.2 固有の フォールバックも、特定の要素についてフォールバックがどのように解釈されるかに関する追加情報を 提供します。
古いコンテンツフォールバック 機能は外部リソースにフォールバックを提供するために使用できますが、 その使用は強く推奨されません。
免除リソースは、外部リソースおよびコアメディア型リソースの両方と性質を共有します。これは、 外部リソースに最も類似しており、リーディングシステムのサポートが保証されませんが、 コアメディア型リソースと同様にフォールバックを必要としません。
場合によっては、このセクションで定義される免除は、既存のコアメディア型
リソースがEPUBコンテンツ文書に含まれる方法と重なります(例えば、
[html]のlink要素を使用してCSSスタイルシートを含めること、
CSSにフォントをインポートすること、または[html]の
script
要素をJavaScriptに使用すること)。これは表面的には、フォールバックを必要としないという点で
リソースを類似させますが、コアメディア型は、リーディングシステムにおけるより強いサポート期待を
持つ点で区別されます。コアメディア型
リソースは、同じ包含機構を共有するだけで免除リソースになるわけではありません。
また、免除がなければ、免除リソースは外部
リソースになります。
免除リソースには小さな一連の特殊なケースのみがあります。例えば動画は、 現時点でコアメディア型の動画形式について合意がないため(すなわち、フォールバック先となる形式がないため)、 フォールバックを免除されます。同様に、音声および動画トラックは、リーディングシステムが最もよくサポートする 任意の形式を使用できるよう、アクセシビリティ目的で免除されます。
次の一覧は、コンテンツ固有の免除リソースの事例を詳述し、それらを使用できる場所の制限も含みます。
フォントリソースは免除リソースです。
この免除により、リーディングシステムのサポート期待にかかわらず、任意のフォント形式を フォールバックなしで使用できます。CSS規則により、サポートがない場合にはフォールバックフォントが 確保されるためです。
詳細については、フォントに関するリーディングシステム サポート 要件 [epub-rs-34]を参照してください。
[html] track
要素から参照される音声および動画トラック(例えば、[webvtt]キャプション、字幕、
説明)は免除リソースです。
上記の免除はスパインには適用されません。免除リソースが スパインで使用され、かつEPUBコンテンツ文書でもない場合、そのコンテキストではフォールバックが 必要になります。
コンテンツ固有の免除に加え、次の場合、リソースは 免除リソースとして分類されます:
スパインの
itemref
要素から参照されていないこと(すなわち、外部コンテンツ文書として使用されていないこと)、
かつ
EPUBコンテンツ文書内で、そのネイティブ形式のまま直接レンダリングされないこと。
この免除により、EPUBリーディングシステムによる使用を目的としないリソースを EPUBコンテナーに 含めることが可能になります。例えば:
CSSスタイルシート内のurl
関数 [css-values]から参照される外部画像リソースは、
非コアメディア型形式が表示されることになるため、この規則によって免除されないリソースの例です。
この免除により、リーディングシステムやEPUB適合性チェッカーが それらのリソースのフォールバック機能を理解する必要なく、外部コンテンツ文書内で外部リソースを使用することも可能になります (すなわち、外部コンテンツ文書に対するフォールバック要件が、その内部のあらゆる レンダリング問題をカバーします)。リソースはEPUBコンテンツ文書から参照されないため、 自動的にフォールバックを免除されます。
マニフェストフォールバックは、パッケージ 文書の機能であり、代替 リソースのマニフェストフォールバックチェーンを作成します。 これにより、リーディングシステムは トップレベルコンテンツ 文書の代わりにそれらを使用でき、既定リソースがスパインで サポートされない場合、レンダリング可能な形式を選択できます。
フォールバックチェーンは、マニフェストの
item
要素上のfallback
属性を使用して作成されます。この属性は、現在のitemの
フォールバックである別のマニフェストitemの
ID [xml]を参照します。
指定されたitemのfallback属性から始めて、
リーディングシステムが到達できるすべての参照の順序付きリストは、そのitemの完全な、
かつ優先されるフォールバックチェーンを表します。
外部コンテンツ文書は、少なくとも1つの EPUBコンテンツ文書を含むフォールバックチェーンを指定しMUSTなければならず、そのチェーンは スパイン項目を リーディングシステムが常にレンダリングできるようにするため、少なくとも1つのEPUBコンテンツ文書を含まMUSTなければなりません。
EPUBコンテンツ文書はフォールバックを指定しMAYます。例えば、 スクリプト処理付きコンテンツのフォールバックを提供する場合です。
フォールバックチェーンに複数のEPUBコンテンツ文書が含まれる場合、
properties属性を使用して
それぞれの目的を区別できます。
マニフェストフォールバックチェーンは、チェーン内の
item要素への自己参照または循環参照を含めてはMUST NOTなりません。
以下のセクションでは、[html]の特定要素の固有のフォールバック要件について 明確化します。
[html] フローコンテンツがaudioまたはvideo要素内に埋め込まれていても、
外部リソースの
固有のフォールバックとはみなされません。子の
source
要素 [html]のみが
固有のフォールバック機能を提供します。
audioまたは
video要素を認識しない古いリーディングシステム
(例えば、EPUB 2リーディングシステム)のみが、埋め込まれた
コンテンツをレンダリングします。リーディングシステムがこれらの要素をサポートしているが利用可能なメディア形式を
サポートしていない場合、ユーザー向けに埋め込まれたコンテンツをレンダリングしません。
フォールバックの要件は、audioおよびvideo要素から参照される
音声の外部リソースにのみ適用されます。動画リソースにはフォールバックは不要です。それらは
免除リソースです。
代替形式のフォールバックを提供するため、
[html]
img
要素は、
picture
要素の子として使用できます。ただし、次が
真である場合に限ります:
img要素は、srcおよびsrcset属性が設定されている場合、
それらの属性からコアメディア型
リソースのみを参照しMUSTなければなりません。
かつ
source
要素は、その
src
および
srcset
属性からコアメディア型リソースのみを参照しMUSTなければなりません。
ただし、その
type
属性で外部リソースのMIMEメディア型
[rfc2046]
を指定する場合を除きます。
imgがpictureの子ではない場合、そのsrcおよび
srcset属性は、外部
リソースのフォールバックを提供するために使用してはMUST NOTなりません。
データブロックは、それを含む
XHTMLコンテンツ文書とは別のMIMEメディア型
[rfc2046]
を持ちますが、[html]
script
要素にはそのような機構が指定されていないため、固有のフォールバックを提供することはできません。
しかし、script要素はユーザーコンテンツを表しません。
データブロックはスクリプトによって操作されない限りレンダリングされず、
スクリプトによってレンダリングされるコンテンツにはすでにコア
メディア型要件があるため、生データにフォールバックを要求しても
有用な目的を果たしません。
したがって、データブロックは、スクリプトによる使用を可能にするため、 フォールバック要件を免除されます。
この免除は、データブロックをデータファイルの免除と整合させます。
[svg]は公開時点でデータブロックを定義していませんが、 将来の更新でその概念が追加された場合にも、同じ除外が適用されます。
次の種類の出版リソースは、 EPUBコンテナーの外部で ホストされMAYます:
その他すべてのリソースは、EPUBコンテナー内に格納されMUSTなければなりません。
接続状態に関係なくユーザーが提示全体にアクセスできるように、可能な場合はすべてのリソースを EPUBコンテナー内に格納することが強く推奨されます。
リソースをEPUBコンテナーの外部に配置しなければならない場合は、その
出版物およびユーザーをネットワーク攻撃にさらす脅威を制限するため、安全なhttps URIスキーム
[rfc9110]を介して参照することがRECOMMENDED
されます。リーディング
システムは、httpなどの安全でないスキームを使用して参照される
リモートリソースを
読み込まない場合があります。
出版リソースの配置に関するこれらの規則は、指定されたリソースが コアメディア型リソースであるか、 外部リソースであるかにかかわらず適用されます。
マニフェスト
item
が
リモートリソースを参照していることを示す方法の詳細については、
remote-resourcesプロパティを参照してください。
data: URLスキーム [rfc2397]は、リソースを
URL文字列に直接エンコードするために使用されます。このスキームの利点は、外部ファイルを必要とせずに、
リソースを別のものの中に埋め込めることです。
Data URLは、次のシナリオでは使用してはMUST NOTなりません。なぜなら、それらは トップレベルコンテンツ文書またはトップレベル閲覧コンテキスト [html]を もたらすためです:
パッケージ文書内のhref属性での使用 — これはマニフェスト
item
要素とメタデータ
link
要素の両方に適用されます。
[html]または[svg]のa
要素上のhref属性での使用。ただし、
iframe
要素 [html]内にある場合を除きます。
[html]のarea要素上の
href属性での使用。ただし、
iframe要素内にある場合を除きます。
[ecmascript]の
window.openまたはdocument.openの呼び出しでの使用。
Data URLの使用に関するこれらの制限は、セキュリティ問題を防ぎ、 リーディングシステムがユーザーを次にどこへ連れて行くかを判断できるようにするためのものです (すなわち、Data URLはスパインから参照できないため)。
Data URLの禁止される使用の一覧は、それらの使用を許可する各標準の進化に伴い変更される可能性があります。
埋め込みの結果として、Data URL内のデータは、マニフェスト報告の目的ではそれ自体の一意な 出版リソースとは見なされません (すなわち、それを含む出版リソースのみが列挙されます)。ただし、このデータには独自のメディア型があるため、 外部リソース制限の対象にはなります。したがって、Data URLは コアメディア型リソースとしてエンコードされるか、ホスト形式の 固有のフォールバック機構を使用したフォールバックを持たMUSTなければなりません。
file: URLスキームは、[rfc8089]で
「ホスト上の構造化されたオブジェクト命名およびアクセス環境(「ファイルシステム」)に
格納されたオブジェクト(「ファイル」)を識別するもの」として定義されています。これは通常、
ローカルオペレーティングシステムからファイルを取得するために使用されます。
EPUB出版物でFile URLを使用することは、 異なるホスト間で転送される可能性があるため、 セキュリティリスクを表し、相互運用性もありません。したがって、File URLは EPUB出版物で使用してはMUST NOTなりません。
XMLベースのメディア型 [rfc2046]である 任意の出版リソースは:
そのメディア型に適した外部 識別子を参照する、または外部識別子を省略する文書型 宣言のみを指定しMAYます — これはB. 許可される外部 識別子で定義されます — [xml]。
XInclude [xinclude]を使用してはMUST NOTなりません。
UTF-8またはUTF-16 [unicode]でエンコードされなければMUSTならず、 UTF-8が RECOMMENDEDされるエンコーディングです。
上記の制約は、指定された出版リソースがコアメディア型リソースであるか、 外部リソースであるかにかかわらず適用されます。
このセクションは非規範的です。
OCFはEPUB出版物のためのコンテナー技術です。これは次の ワークフローで役割を果たすことができます:
このセクションでは、ファイル集合を抽象的に構造化するための規則、すなわち「抽象 コンテナー」を定義します。また、この抽象コンテナーをZIP アーカイブ内で表現するための規則、すなわち「物理コンテナー」も定義します。ZIP物理コンテナーの規則は、 [odf]で使用されるZIP 技術を基礎としています。
OCFは、埋め込み フォントを古い方法で難読化する アルゴリズムも保持していますが、この機能は現在では推奨されません。
このセクションは非規範的です。
OCF抽象コンテナーのファイルシステムモデルは、 単一の共通のルートディレクトリを使用します。すべての コンテナーリソースは、ルートディレクトリを起点とする ディレクトリツリー内に配置されますが、この仕様はそれらに対して特定のファイルシステム構造を義務付けません。
ファイルシステムモデルには、ルートディレクトリの直接の子であり、次の特殊ファイルを格納する、
META-INFという名前の必須ディレクトリも含まれます:
container.xml
[required]
signatures.xml
[optional]
各種アセットのデジタル署名を含みます。
encryption.xml
[optional]
出版リソースの暗号化に関する情報を含みます。このファイルは、 古いフォント難読化 機能を使用する場合に必須です。
metadata.xml
[optional]
OCF ZIPコンテナーに関するメタデータを格納するために使用されます。
rights.xml
[optional]
デジタル権利に関する情報を格納するために使用されます。
manifest.xml
[optional]
Open Document Format [odf] で許可されるコンテナー内容のマニフェストです。
META-INFディレクトリ内の各種ファイルの適合要件については、4.2.6
META-INFディレクトリを参照してください。
OCF抽象コンテナーの仮想ファイルシステムは、 コンテナーのすべての内容に対して単一の共通のルート ディレクトリを持たMUSTなければなりません。
OCF抽象コンテナーは、コンテナーのルートディレクトリの直接の子である
META-INFという名前の構成ファイル用ディレクトリを含まMUSTなければなりません。この
ディレクトリの内容に関する要件については、4.2.6
META-INFディレクトリを参照してください。
ルートディレクトリ内のファイル名mimetypeは、OCF
ZIPコンテナーでの使用のために予約されています。これは4.3 OCF ZIPコンテナーで
説明されています。
META-INFディレクトリ内のファイルおよびmimetypeファイルは
出版リソースではないため、マニフェストに列挙してはMUST
NOTなりません。
OCF抽象コンテナー内のその他すべてのファイルは、META-INFディレクトリ内にない限り、
ルートディレクトリの子孫である任意の場所に格納されMAYます。EPUB出版物は、META-INFディレクトリ内の
ファイルへの参照を含んではMUST NOTなりません。
一部のリーディングシステムは、 パッケージ文書が格納されているディレクトリの外にある リソースへのアクセスを提供しませんが、これは [epub-rs-34]で定義された制限ではありません。これらのリーディングシステムとの 相互運用性の問題を避けるため、すべてのリソースをパッケージ文書を含むディレクトリまたはその下に 配置することが推奨されます。
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)
特殊用途文字 (U+FFF0 … U+FFFF)
補助私用領域-A (U+F0000 … U+FFFFF)
補助私用領域-B (U+100000 … U+10FFFF)
Unicode Character Database [uax44]には、 非推奨文字の 一覧が含まれます。EPUB適合性チェッカーが それらの使用にフラグを立てることが予想されるため、これらの文字を避けることも推奨されます。
古いリーディングシステムとの互換性のため、ファイル名はSPACE (U+0020)文字を含むべきではSHOULD NOTありません。
同一ディレクトリ内のすべてのファイル名は、Unicode 正準正規化 [uax15]、その後の完全な大文字小文字畳み込み [unicode]に従って、一意でなければMUSTなりません。(詳細については、Unicode Canonical Case Fold Normalization Step [charmod-norm]を 参照してください。)
EPUB出版物がリソースを動的に統合して作成される場合 (すなわち、命名が事前に分からない場合)、ファイル名を255バイト制限内に収めるための 自動切り詰めが破損につながる可能性があることに注意してください。これは、UTF-8のようなマルチバイト符号化における バイトと文字の違いによるものです。したがって、文字の途中での切り詰めを避けることが 重要です。詳細については、[international-specs]の 「文字列の長さを 切り詰める、または制限する」に関するセクションを参照してください。
OCF抽象コンテナー内のファイルまたはディレクトリfileが与えられたとき、 ファイルパスを導出するには、次の手順を適用します ([infra]の用語を使用して表現):
U+002F (/)文字を使用してpathを連結した結果を返します。コンテナールートURLは、ルートディレクトリのURL [url]です。 コンテナールートURLは実装固有ですが、次の 性質を持たMUSTなければなりません:
/」を構文解析した結果は、コンテナールートURLです。..」を構文解析した結果は、コンテナールートURLです。OCF抽象コンテナー内のファイルまたはディレクトリの コンテンツURLは、そのファイルのファイルパスを コンテナールートURLをbaseとして構文解析した結果です。
コンテナールートURLは、リーディングシステムが EPUBコンテナーのルートに割り当てるURLです。これは通常、 リーディングシステムが内部的にコンテナーのファイルシステムを実装する方法に依存します。
ただし、リーディングシステムは任意のURLを自由に使用できるわけではなく、上で定義された制約を 尊重するものを使用しなければなりません。これらの制約により、EPUB内で見つかる任意の相対URL文字列は、 常にコンテナー内のリソース(存在する場合も存在しない場合もあります)のURLとして構文解析されます。 これらの制約の主な理由は、構文解析されたURLがコンテナーファイルの外へ「漏れる」ことによって生じる 潜在的な実行時セキュリティ問題を回避するためです。
例えば、https://localhost:12345/や
https://www.example.org:12345/のようなURLはこれらの性質を満たします。しかし、
https://localhost:12345/path/to.epub/、
file:///path/to.epub#path=/、またはjar:file:/path/to.epub!/EPUB/のようなURLは
満たしません(これら3つの例をbaseとしてURL文字列「..」を構文解析すると、
それぞれhttps://localhost:12345/path/、file:///path/、および構文解析
エラーが返されます)。上で定義された性質に適合するURLをルートディレクトリに割り当てることは、
リーディングシステムの責任です。
構文解析により、ファイルパス内の一部の文字がそのパーセントエンコードされた代替表現に置き換えられることがあります。例えば、
A/B/C/file name.xhtmlはA/B/C/file%20name.xhtmlになります。
文字列urlは、それが
path-relative-scheme-less-url
stringであり、任意でU+0023 (#)と
url-fragment stringが続き、かつ次の
手順がtrueを返す場合、valid-relative-ocf-URL-with-fragment stringです:
コンテナールートURLを
https://a.example.org/A/に設定します。
このアルゴリズムの目的は、urlがコンテナー外へ「漏れる」ように見える可能性があるかどうかを
検出することです。そのために、標準のURL構文解析アルゴリズムを人工的なルートURLとともに使用します。
「漏れ」の検出は、構文解析の結果を最初のテストパスセグメント
(A)の存在と比較することで行われます。(このアルゴリズムの目的のために、人工的なコンテナールートURLは
その最初のテストパスセグメントを使用することで、要求される性質に意図的に違反していることに注意してください。)
baseを、urlが使用される文脈(文書または環境)によって定義され、 パッケージ文書のコンテンツURLに従って、 urlを構文解析するために使用されるbase URLとします (5.2 パッケージ文書内の URLの構文解析を参照)。
パッケージ文書内のURLの場合、base変数はパッケージ文書のコンテンツURLに設定されます。
META-INFディレクトリ内の文書の場合、base変数は
コンテナールートURLに設定されます(4.2.6.2 META-INF
ディレクトリ内のURLの構文解析を参照)。XHTMLコンテンツ
文書内のURLの場合、構文解析に使用されるbase URLは
HTML標準によって定義されます。通常、それは
コンテンツ文書のコンテンツURLになります(推奨されない
base要素が使用されていない限り)。
コンテナールートURLを
https://b.example.org/B/に設定します。
異なる人工的なコンテナールートURL設定で同じ手順を2回繰り返す理由は、
url文字列にも/A/が含まれる場合に発生し得る衝突を避けるためです。
例えば、urlが../../A/doc.xhtmlである場合を考えてください。
testURLStringAがhttps://a.example.org/で始まらない、または
testURLStringBがhttps://b.example.org/で始まらない場合、
trueを返します。
いずれかの結果がテストURLのホストを共有していない場合、それはurl、
またはそのbase URL(例えばHTMLでbase要素によって明示的に設定されている場合)が
絶対であり、コンテナーの外を指していることを意味します。これは許容されます。
testURLStringAがhttps://a.example.org/A/で始まり、
testURLStringBがhttps://b.example.org/B/で始まる場合、
trueを返します。
最初のテストパスセグメント(それぞれAおよびB)の存在は、
URLがコンテナー外へ漏れていないことを示します。
OCF抽象コンテナーでは、任意のURL文字列は absolute-url-with-fragment stringまたはvalid-relative-ocf-URL-with-fragment stringでなければMUSTなりません。
さらに、すべてのrelative-URL-with-fragment strings [url]は、構文解析後、OCF 抽象コンテナー内の既存ファイルのコンテンツURLと等しくなければMUSTなりません。
URL文字列に関するこれらの制約は、次のことを意味します:
/ (U+002F)で始まる相対URL文字列(例えば、
/EPUB/content.xhtml)は許可されません;
EPUB/../../../../config.xml)は
許可されません; いずれの場合でも、上で説明した許可されないURL文字列であっても、構文解析後にコンテナー外へ 「漏れる」ことはないことに注意してください(このセクションの最初の注記で説明したとおり)。それでもなお、 非適合またはレガシーなリーディングシステムおよびツールチェーンとの相互運用性を高めるために 許可されません。
すべてのOCF抽象コンテナーは、その
ルートディレクトリ内にMETA-INFという名前のディレクトリを
含まMUSTなければなりません。
このディレクトリは構成ファイル、具体的には4.2.6.3 予約済みファイルで定義されるもののために予約されています。
META-INFディレクトリに配置されたファイルで使用されるURL文字列
urlを構文解析するには、URL parserを、コンテナールートURLをbaseとして、urlに適用しなければMUSTなりません。
META-INFディレクトリ内のREQUIREDの
container.xmlファイルは、OCF抽象
コンテナー内で利用可能なパッケージ文書を識別します。
このセクションで定義されるすべての[xml]
要素は、特に指定がない限り、
urn:oasis:names:tc:opendocument:xmlns:container名前空間 [xml-names]に属します。
このファイルの内容は、他の名前空間に属するすべての要素および属性(それらの要素のすべての属性と内容を含む)を 削除した後、このセクションの定義に対して有効でなければMUSTなりません。
XML Schemaも、このファイルの内容を 非形式的に定義します。
container要素は、
container.xmlファイル内のすべての情報をカプセル化します。
各rootfile要素は、EPUBコンテナー内にある1つのパッケージ文書の場所を識別します。
rootfile
rootfiles
要素の子として。反復可能。
full-path
[required]
パッケージ文書の場所を識別します。
属性の値はpath-relative-scheme-less-URL string [url]でなければMUSTなりません。パスはルートディレクトリに対する相対パスです。
media-type
[required]
パッケージ文書のメディア型を識別します。
属性の値は「application/oebps-package+xml」でなければMUSTなりません。
空
複数のrootfile要素が指定される場合、それぞれは同じEPUBバージョンに適合する
パッケージ文書を参照しなければMUSTなりません。各パッケージ文書は
EPUB出版物の1つのレンダリングを表します。
EPUBコンテナーは複数のパッケージ文書を参照する能力を提供しますが、この仕様は、 利用可能な選択肢をどのように解釈または選択するかを定義しません。コンテンツの複数のレンダリングを バンドルする方法の詳細については、[epub-multi-rend-11]を 参照してください。
links要素は、OCF ZIPコンテナーの処理に必要なリソースを識別します。
この仕様は現在、links
要素の用途を定義していません。その使用例については、[epub-multi-rend-11]を
参照してください。
link
links
要素の子として。反復可能。
href
[required]
リソースの場所を識別します。
link要素のhref
属性の値はpath-relative-scheme-less-URL
string
[url]でなければMUSTなりません。
パスはルート
ディレクトリに対する相対パスです。
media-type
[optional]
参照されるリソースの型および形式を識別します。
属性の値はメディア型 [rfc2046]でなければMUSTなりません。
rel
[required]
リソースの関係を識別します。
属性の値は、空白区切りのトークン一覧でなければMUST なりません。
空
このセクションは非規範的です。
META-INFディレクトリ内のOPTIONALな
encryption.xmlファイルは、コンテナーの内容に関するすべての暗号化情報を保持します。
コンテナー内のいずれかのリソースが暗号化されている場合、使用される暗号化に関する情報を
提供するためにencryption.xmlファイルが存在しなければMUSTなりません。
encryption
urn:oasis:names:tc:opendocument:xmlns:container
なし
任意の順序で:
EncryptedKey [1つ以上]EncryptedData [1つ以上]encryption要素は、
[xmlenc-core1]で定義される
EncryptedKeyおよびEncryptedData型の子要素を含みます。
EncryptedKey要素は、コンテナーで使用される各
暗号化鍵を記述し、一方、EncryptedData要素は各
暗号化ファイルを記述します。各EncryptedData要素は、XML Encryptionで説明されるように、
EncryptedKey要素を参照します。
XML Schemaも
encryption.xmlファイルの内容を非形式的に定義します。
OCFは個々のファイルを独立して暗号化し、一定のセキュリティを犠牲にして性能を向上させ、 コンテナー内容を段階的に復号できるようにします。この方法での暗号化は、パッケージ全体の ディレクトリ構造およびファイル命名を露出します。
OCFは、暗号化の枠組みを提供するためにXML Encryption [xmlenc-core1]を使用し、 さまざまなアルゴリズムの使用を可能にします。XML Encryptionは、任意のデータを暗号化し、その結果を XMLで表現するプロセスを規定します。OCF抽象 コンテナーに非XMLデータが含まれている場合でも、XML Encryptionを使用して そのデータを暗号化できます。OCF暗号化は、コンテナー内のファイル全体の暗号化のみをサポートし、 ファイルの一部の暗号化はサポートしません。
次のファイルは暗号化しては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
暗号化されたデータは、OCF抽象コンテナー内の暗号化されていないデータを置き換えます。例えば、
photo.jpegという名前の画像が暗号化される場合、
photo.jpegリソースの内容は暗号化された内容で置き換えられます。
ZIPディレクトリ内の暗号化ファイルは圧縮されるべきではSHOULD NOT
ありません。
一部の状況では、EPUB出版物が参照する埋め込みフォントの格納を難読化し、
制限なしに使用するために抽出することをより困難にする必要があることに注意してください。
難読化は暗号化ではありませんが、リーディングシステムは、難読化解除するフォントを識別するために、
encryption.xmlファイルを古いフォント
難読化アルゴリズムと組み合わせて使用します。
XML SignatureのDecryption Transform [xmlenc-decrypt]は、その後、 署名済みリソースを暗号化するために使用されMAYます。この機能により、リーディングシステムは、 署名前に暗号化されたデータと署名後に暗号化されたデータを区別できます。
OCF ZIPコンテナーに格納される場合、 非コーデックコンテンツ 型のデータストリームは、暗号化の前に圧縮されるべきですSHOULD。Deflate 圧縮を使用しなければMUSTなりません。 この実践により、ZIPコンテナーに格納されるファイルエントリーのサイズが小さくなります。
コーデックコンテンツ型のデータストリームは、 暗号化の前に圧縮されるべきではSHOULD NOTありません。そのような場合、追加の圧縮は生成時に不要な 処理オーバーヘッドをもたらし(特に大きなリソースファイルで)、消費時の音声/動画再生性能に 影響します。場合によっては、一部の暗号化方式と圧縮の組み合わせにより、メディア再生前に リソース全体の長さを判断することが技術的に不可能なため(例: HTTP Content-Lengthヘッダー)、 リーディングシステムが 部分コンテンツ要求(例: HTTPバイト 範囲)を処理する能力さえ損なわれる可能性があります。
データストリームが暗号化前に圧縮される場合、下で定義される
Compression XML要素に従い、初期リソース(すなわち、圧縮および暗号化前)の
サイズを指定するために追加の
EncryptionPropertiesメタデータが提供されるべきですSHOULD。
データストリームが暗号化前に圧縮されない場合、初期リソース(すなわち、暗号化前)のサイズを
指定するために追加のEncryptionPropertiesメタデータが提供されMAYます。
Compression
http://www.idpf.org/2016/encryption#compression
EncryptionPropertyのOPTIONALな子。
[required]使用される圧縮方式を識別します。
値は「0」(圧縮なし)または「8」
(Deflateアルゴリズム)のいずれかです。
[required]初期リソースのサイズ(バイト数)を表します。
値は正の整数です。
空
META-INFディレクトリ内のOPTIONALな
manifest.xmlファイルは、コンテナー内のファイルのマニフェストを提供します。
OCF仕様は、マニフェストの形式を義務付けません。
パッケージ文書は EPUB出版物の処理に使用される唯一のマニフェストを指定することに注意してください。 リーディングシステムはこのファイルを使用しません。
META-INFディレクトリ内のOPTIONALな
metadata.xmlファイルは、コンテナーレベルのメタデータのためだけのものです。
metadata.xmlファイルが含まれる場合、それは名前空間修飾された要素
[xml-names]のみを含むべきですSHOULD。
このファイルは、名前空間http://www.idpf.org/2013/metadataにある
metadataというルート要素 [xml]を
含むべきですがSHOULD、この仕様は後方互換性のために他のルート要素も許可します。
このバージョンの仕様は、
metadata.xmlファイルで使用するメタデータを定義していません。この仕様の将来のバージョンは、
コンテナーレベルのメタデータを定義することがありMAYます。
この仕様は、META-INFディレクトリ内のOPTIONALな
rights.xmlファイルを、権利者、仲介者、およびユーザー間での
EPUB出版物の信頼された交換のために予約します。
rights.xmlファイルが含まれていない場合、OCF抽象コンテナーのどの部分も
コンテナーレベルでは権利管理されません。権利表現はEPUB出版物内に存在する可能性があります。
デジタル署名を追加しても、悪意ある行為者がEPUB出版物を改ざんできないことは 保証されません。なぜなら、リーディングシステムは署名を チェックする必要がないためです。
META-INFディレクトリ内のOPTIONALな
signatures.xmlファイルは、コンテナーおよびその内容のデジタル署名を保持します。
signatures
urn:oasis:names:tc:opendocument:xmlns:container
なし
Signature [1つ以上]signature要素は、[xmldsig-core1]で定義される
Signature型の子要素を含みます。署名は、EPUB出版物全体またはその部分に
適用できます。また、任意の種類のデータ(すなわちXMLだけでなく)に署名するためにも使用できます。
XML Schemaも
signatures.xmlファイルの内容を非形式的に定義します。
signatures.xmlファイルが含まれていない場合、OCF抽象
コンテナーのどの部分もコンテナーレベルで署名されませんが、デジタル署名は
EPUB出版物内に存在する可能性があります。
OCF抽象コンテナーに対してデータ署名が作成される場合、その署名は
signatures要素の最後の子
Signature要素として格納されるべきですSHOULD。
signatures.xmlファイル内の各Signatureは、
[xmldsig-core1]の
Manifest要素およびそのReference子要素を使用し、
署名が適用されるデータをURL [url]で識別します。
個々のコンテナーファイルは個別に、またはまとめて署名できます。各ファイルを個別に署名すると、
リーディングシステムが独立して検証できるリソースのダイジェスト値が作成されます。この方法では
Signature要素が大きくなる可能性があります。ファイルをまとめて署名する場合、署名されたファイルの集合を
1つのXML Signature Manifest要素に列挙し、1つ以上の
Signature要素から参照します。
OCF抽象コンテナー内の任意またはすべてのファイルは全体として署名できますが、
signatures.xmlファイルは例外です。そのファイルには計算された署名情報が
含まれるためです。
signatures.xmlファイルに署名する方法は、目的によって異なります:
signatures.xmlファイルに署名すべきではSHOULD NOTありません。
Signatureを除く
既存の署名ファイル全体に署名できます。この変換はすべての以前の署名に署名し、その後の署名が
パッケージに追加されると無効になります。
既存の署名の削除のみがOCF抽象コンテナーの署名を無効にする(すなわち、新しい 署名の追加を許可する)ことが望まれる場合、XPath変換を使用して既存の署名だけに 署名できます。そのような変換の詳細はこの仕様の範囲外です。
[xmldsig-core1]
仕様は署名に意味論を関連付けません。エージェントは、例えば署名を記述する情報を
Signature要素に追加することで、意味情報を含めることができます。
[xmldsig-core1]
仕様は、SignatureProperties要素の使用などにより、
追加情報を署名に追加する方法を説明しています。
このセクションは非規範的です。
OCF抽象コンテナーの物理的な単一ファイルの 具現化が、OCF ZIPコンテナーです。この コンテナーにより次が可能になります:
作業中のEPUB出版物を 異なる個人および/または 異なる組織間で交換すること;
EPUB出版物を出版社または変換業者から 配布または販売チャネルへ転送すること; および
EPUB出版物をEPUBリーディングシステムまたはユーザーへ配信すること。
OCF ZIPコンテナーは、[zip]で指定されるZIP形式を使用しますが、次の 制約および明確化を伴います:
OCF ZIPコンテナーの内容は、適合するOCF抽象コンテナーで なければMUSTなりません。
OCF ZIPコンテナーは、ZIPファイルを複数の記憶媒体にまたがらせたり、 複数のファイルに分割したりできるZIP application note [zip]の機能を使用してはMUST NOTなりません。
OCF ZIPコンテナーは、ZIPアーカイブ内に格納(非圧縮)および Deflate圧縮されたZIPエントリーのみを含まなければMUSTなりません。
OCF ZIPコンテナーは、[zip]のsection 4.3.14 ("Zip64 end of central directory record")において "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コンテナーアーカイブ内の特定のフィールドに適用されます:
ローカルファイルヘッダーテーブルでは、version needed to
extractフィールドは、指定されたファイルに必要な最大バージョンレベルに合わせて
10、20、または
45に設定されなければMUSTなりません(例:
Deflateでは20、ZIP64では45)。
ローカルファイルヘッダーテーブルでは、compression
methodフィールドは0または8に設定されなければMUSTなりません。
mimetypeファイルは、OCF ZIPコンテナー内の最初のファイルでなければMUSTなりません。さらに:
mimetypeファイルの内容は、US-ASCII [us-ascii]で符号化された
MIMEメディア型 [rfc2046]
文字列application/epub+zipでなければMUSTなりません。
mimetypeファイルは、先頭または末尾のパディングまたは
空白を含んではMUST NOTなりません。mimetypeファイルは、UnicodeバイトオーダーマークU+FEFFで始まってはMUST NOT
なりません。mimetypeファイルは圧縮または暗号化されてはMUST NOTなりません。
mimetypeファイルは、そのZIPヘッダーに追加フィールドを含んではMUST NOTなりません。application/epub+zipメディア型に関する詳細情報については、G.2
application/epub+zipメディア型を参照してください。
このセクションで定義されるすべての[xml]要素は、
特に指定がない限り、http://www.idpf.org/2007/opf
名前空間 [xml-names]に属します。
このセクションは非規範的です。
パッケージ文書は、XML 文書であり、EPUB出版物の特定の側面に関する情報をそれぞれカプセル化する 一連の要素で構成されます。 これらの要素は、メタデータを集中管理し、個々のリソースを詳述し、そのレンダリングに必要な 読書順序およびその他の情報を提供する役割を果たします。
次の一覧は、パッケージ文書に含まれる情報を要約したものです:
メタデータ — EPUB出版物に関する情報を含める、または参照するための仕組み。
マニフェスト — URL [url]によって識別し、 MIMEメディア型 [rfc4839]によって 出版リソースの集合を記述します。
スパイン — リーディングシステムが集合内の他のすべての リソースへ到達または利用できる、マニフェスト内のトップレベルリソースへのID参照の順序付き列。 スパインは既定の読書順序を定義します。
マニフェストフォールバックチェーン — コンテンツ等価物として トップレベルリソースの順序付き一覧を定義する仕組みです。リーディングシステムは、レンダリング可能なリソースに基づいて それらのリソースから選択できます。
EPUB出版物は複数のパッケージ文書を参照でき、コンテンツの代替表現を可能にします。
詳細については、4.2.6.3.1
コンテナーファイル(container.xml)を参照してください。
パッケージ文書のファイル
プロパティに関する情報については、G.1
application/oebps-package+xmlメディア型を参照してください。
パッケージ文書で使用されるURL 文字列urlを構文解析するには、URL parser [url]を、パッケージ 文書のコンテンツURLをbaseとして、 urlに適用しなければMUSTなりません。
このセクションは非規範的です。
パッケージ文書は、コンパクトURLを使用することで、メタデータ表現および メタデータの拡張性を可能にします。コンパクトURLは、URL [url]を表現する方法においてCURIE [rdfa-core]と非常に似ています。どちらの表現も、 任意の接頭辞と、それに続く必須の参照で構成されます。
接頭辞は、リテラルであれ暗黙であれ、通常はDublin Core [dcterms]やSchema.org [schema-org]のような語彙へ解決されるURLの短縮マッピングです。例えば、
接頭辞dctermsは、毎回完全なURL
http://purl.org/dc/terms/を追加する代わりに使用されます。接頭辞を使用すると、使用される語彙の
一意性を保持しながら、メタデータの作成時の誤りを減らせます。
参照は、宣言される特定の用語またはプロパティです。これはコロンによって接頭辞から分離されます。 いわゆる既定語彙があるため、コンパクトURLでは接頭辞が常に必要とは限りません。 コンパクトURLを受け入れる各属性は、用語またはプロパティの既定語彙も定義します。 接頭辞がない場合、そのコンパクトURLは既定語彙からの値を表します。
リーディングシステムがコンパクトURLを完全なURLへ変換すると、 結果は通常、その語彙内のフラグメントへ解決され、その用語に関する人間可読および/または機械可読の情報を含みますが、 これは必須ではありません。接頭辞は、XML名前空間 [xml-names]の働きと同様に、 最終的には一意の識別子にすぎません。
コンパクトURLの接頭辞はXML名前空間接頭辞によく似ており、どちらも参照の一意な識別子として機能しますが、
類似点はそこまでです。コンパクトURLの接頭辞はxmlns:構文を使用して宣言されません。
詳細については、5.3.4
prefix属性を参照してください。
コンパクトURLデータ型の強みは、その容易な拡張性にあります。新しい用語やプロパティを組み込むには、 接頭辞を宣言するだけで十分です。 さらに作成上の便宜として、この仕様は、一般的に使用される多くの出版 語彙のために接頭辞を予約しています(すなわち、それらの宣言は不要です)。
パッケージ文書にはコンパクトURLを受け入れる属性がいくつかあり、より一般的に使用されるものとしては、
meta
要素のproperty属性、
link
要素のrel属性、およびマニフェスト
item
要素のproperties属性があります。
コンパクトURLは、EPUB 3ではパッケージ文書を超えても使用され、
epub:type
属性が、EPUBコンテンツ文書内で構造的意味を表現するために使用します。
以降のセクションでは、コンパクトURLの作成および使用に関する追加の詳細を提供します。
コンパクトURLデータ型は、URL [url]を 表現するための簡潔な手段であり、参照とコロンで分離されたOPTIONALな 接頭辞で構成されます。
| compact URL |
=
|
[ prefix , ":" ] , reference; | |
| prefix |
=
|
? xsd:NCName ? ; | |
| reference |
=
|
? path-relative-scheme-less-URL string [url] ? ; | /* [url]で定義されるとおり */ |
この仕様は、[rdfa-core]で定義されるCURIEデータ型から コンパクトURLデータ型を導出しています。コンパクトURLはCURIEの部分集合を表します。
CURIEとの主な違いは2つあります:
空のreferenceは、上の定義では有効であっても、有効なコンパクトURLを表しません (すなわち、接頭辞とコロンだけで構成されるコンパクトURLは無効です)。
空文字列は、上の定義では有効であっても、有効なコンパクトURLを表しません。
コンパクトURL値から接頭辞が省略される場合、指定された用語はその属性の既定語彙から取得されます。
既定語彙とは、コンパクトURLが期待される場合に、その用語および プロパティが接頭辞を持ってはMUST NOT ならない語彙です。
これらの語彙に関連付けられたURLに、prefix属性を使用して
接頭辞を割り当ててはMUST NOTなりません。
既定語彙の詳細については、コンパクトURLデータ型を取る各属性の定義を参照してください。
prefix属性は、コンパクトURLで使用する接頭辞マッピングを定義します。
prefix属性の値は、次の形式の1つ以上の接頭辞からURLへのマッピングの空白区切り一覧です:
| prefixes |
=
|
mapping , { whitespace, { whitespace } , mapping } ; | |
| mapping |
=
|
prefix , ":" , space , { space } , ? xsd:anyURI ? ; | |
| prefix |
=
|
? xsd:NCName ? ; | |
| space |
=
|
#x20 ; | |
| whitespace |
=
|
(#x20 | #x9 | #xD | #xA) ; |
予約済み接頭辞を除き、文書内で使用されるすべての接頭辞は
宣言されなければMUSTなりません。prefix属性は、それぞれの形式の
ルート要素
[xml]にのみ
指定されなければMUSTなりません。
この属性は、パッケージ 文書で使用される場合、名前空間付きではありません。
EPUBコンテンツ文書およびメディアオーバーレイ文書で使用される場合、この属性は
http://www.idpf.org/2007/ops名前空間内で宣言されなければMUSTなりません。
prefix属性は、[rdfa-core]の
同名のprefix属性をモデルにしていますが、これらの属性を
交換可能に使用することはできません。EPUBコンテンツ文書における名前空間なしの
prefix属性はRDFa属性です。
RDFa式も指定するEPUBコンテンツ文書では、両方の属性が現れることが一般的です。
<html … prefix="…"
xmlns:epub="http://www.idpf.org/2007/ops"
epub:prefix="…"> …
</html>
包含によって埋め込まれるSVGについては、接頭辞は
[html]のルート
html
要素で宣言されなければMUSTならないことに注意してください。
競合を避けるため、prefix属性は、既定語彙へマップされる接頭辞を宣言するために使用してはMUST NOTなりません。
接頭辞「_」は宣言してはMUST NOTなりません。この仕様は、RDFa [rdfa-core]処理との将来の 互換性のためにこの接頭辞を予約しています。
パッケージ文書の代替シリアル化との将来の互換性のため、Dublin Core /elements/1.1/名前空間 [dcterms]に対して接頭辞を宣言してはMUST NOTなりません。 パッケージ文書の メタデータで許可されるのは、[dcterms]要素のみです。
予約済み接頭辞は作成上の便宜ではありますが、問題を引き起こす可能性があります。例えばベンダーは、 自身のEPUB適合性チェッカーを更新するまで、 新しい接頭辞を拒否することがよくあります。問題を避けるため、すべての接頭辞を宣言することが推奨されます。
予約済み接頭辞は、コンパクトURLを期待する属性で、
prefix属性内で宣言せずに使用されMAYます。
予約済み接頭辞は、prefix
属性で上書きされるべきではSHOULD NOTありません。
使用できる予約済み接頭辞は文脈によって異なります:
次の接頭辞は、パッケージ文書の属性で、宣言することなく使用されMAYます。
| 接頭辞 | URL | 用途 |
|---|---|---|
| a11y | http://www.idpf.org/epub/vocab/package/a11y/# | EPUB Accessibility名前空間からプロパティを宣言するため。これらは通常、 EPUB Accessibility 1.2 [epub-a11y-12]で定義されます。 |
| dcterms | http://purl.org/dc/terms/ | Dublin Core /terms/名前空間 [dcterms]から プロパティを宣言するため。 |
| marc | http://id.loc.gov/vocabulary/ | 主にscheme
属性で使用され、作成者および寄与者の役割が
MARC
relators code listで定義されていることを示します。Library of Congressが公開する
他の語彙を参照するためにも使用できます。
|
| media | http://www.idpf.org/epub/vocab/overlays/# | Media Overlays 語彙からプロパティを宣言するため。 |
| onix | http://www.editeur.org/ONIX/book/codelists/ |
scheme属性で使用され、値が対応する
ONIX code listを識別します。
|
| rendition | http://www.idpf.org/vocab/rendition/# | パッケージ レンダリング語彙からプロパティを宣言するため。 |
| schema | http://schema.org/ | Schema.org 語彙からプロパティを宣言するため。 |
package要素は、パッケージ文書で表現されるすべての情報をカプセル化します。
package
この順序で:
version属性は、指定されたEPUB出版物が適合するEPUB仕様
バージョンを指定します。この属性は、EPUB 3への適合を示すために
値「3.0」を持たなければMUSTなりません。
この仕様の更新は、EPUB 3の新しいバージョンを表すものではありません(すなわち、各新しい3.X
仕様はEPUB 3形式の継続です)。Working Groupは、既存コンテンツを無効にする変更を
最小限に抑え、version属性値を変更せずに保てるようにすることに取り組んでいます。
unique-identifier属性は、推奨される、または主要な
識別子を提供する
dc:identifier
要素を識別するIDREF
[xml]を取ります。
prefix属性は、
この仕様で予約されていない接頭辞の宣言メカニズムを提供します。
詳細については、5.3.4
prefix属性を参照してください。
metadata要素はメタ情報をカプセル化します。
metadata
packageの
REQUIREDな最初の子。
なし
任意の順序で:
dc:identifier
[1つ以上]
dc:title
[1つ以上]
dc:language
[1つ以上]
Dublin Coreの任意要素
[0個以上]
meta
[1つ以上]
link
[0個以上]
パッケージ文書のmetadata要素には、2つの
主要な機能があります:
リーディングシステムがEPUB出版物を内部的に カタログ化し、ユーザーが利用できるようにする(例えば、本棚に表示する)ために使用する 最小限のメタ情報を提供すること。
コンテンツのレイアウトおよび表示を制御するために必要なすべてのレンダリングメタデータ (例えば、パッケージレンダリングプロパティ)へのアクセスを提供すること。
パッケージ文書は複雑なメタデータ符号化機能を提供しません。より詳細な
情報を提供する必要がある場合は、(例えば[onix]のような国際標準に適合する、または
独自の目的のために作成された)メタデータレコードを、
link
要素を使用してEPUB
出版物に関連付けることができます。この方法により、リーディングシステムはメタデータを
そのネイティブ形式で処理でき、最小限のパッケージ文書構造を使用するよう変換することで生じる
潜在的な問題や情報損失を避けられます。
この方針に従い、パッケージ文書には次の最小限のメタデータ要件のみがあります:
[dcterms]の
dc:title、
dc:identifier、
および
dc:language
要素を、[dcterms]の
プロパティとともに含めなければMUSTなりません。その他すべてのメタデータは
OPTIONALです。
dcterms:modified
meta
要素は、任意の語彙からのメタデータプロパティを含めるための
汎用的なメカニズムを提供します。このメカニズムは任意の
メタデータ目的に使用できますが、通常はEPUB仕様で定義されたレンダリングおよびアクセシビリティ
メタデータを含めるために使用されます。
アクセシビリティメタデータの推奨事項については、[epub-a11y-12]を参照してください。
Dublin Core要素 [dcterms]および
meta
要素は、必須の子テキスト内容
[dom]を持ちます。これらの要素の説明では、この仕様は
この内容を要素の値と呼びます。
これらの要素は、先頭および末尾のASCII 空白 [infra]を取り除いた後、空でない値を持たなければMUSTなりません(すなわち、少なくとも1つの 非空白文字で構成されている必要があります)。
これらの要素値内の空白は重要ではありません。1つ以上の空白 文字の並びは、処理中に単一の 空白に畳み込まれます [infra]。
dc:identifier要素 [dcterms]は、
UUID、DOIまたはISBNなどの識別子を含みます。
dc:identifier
http://purl.org/dc/elements/1.1/
metadataの
REQUIREDな子。
反復可能。
id
[conditionally required]
テキスト
EPUB出版物は、それ自体に一意な識別子、
すなわちその一意識別子を指定する
dc:identifier要素を含めなければMUSTなりません。この要素は、
package
要素のunique-identifier
属性から参照されなければMUSTなりません。
静的ではありませんが、一意識別子を頻繁に変更することは避けてください。一意識別子は、 参照および配布の目的の両方で最大限の永続性を持つことを意図しています。 メタデータの更新、正誤の修正、または同様の軽微な変更のような小規模な改訂を行う場合に、 新しい識別子を発行しないでください。
追加の識別子を指定してもMAYよいです。
可能な限り、識別子にはabsolute-URL strings [url]を使用することが推奨されます。 ドメインを含めることで識別子の一意性を高めることができ、例えば 名前空間 識別子 [rfc8141]を持つURNを使用すると、 リーディングシステムによる処理が向上します。
identifier-typeプロパティは、
dc:identifier要素の値が、確立された体系またはそれを付与した発行機関に
適合することを示すために使用してもMAYよいです。
dc:title要素 [dcterms]は、
EPUB出版物の名前のインスタンスを表します。
dc:title
http://purl.org/dc/elements/1.1/
metadataの
REQUIREDな子。
反復可能。
テキスト
文書順で最初のdc:title要素が、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の例を参照)。これらの意味を追加することは
なお可能ですが、それらも十分にはサポートされていません。
dc:language要素 [dcterms]は、
EPUB出版物の内容の言語を指定します。
dc:language
http://purl.org/dc/elements/1.1/
metadataの
REQUIREDな子。
反復可能。
id
[optional]
テキスト
各dc:language要素の値は、整形式の言語タグ
[bcp47]でなければMUSTなりません。
多言語のEPUB出版物について、追加のdc:language
要素を指定してもMAYよいですが、リーディングシステムは、文書順で最初の
dc:language
要素を主要言語として扱います。
出版
リソースは、その言語をdc:language
要素から継承しません。各リソースの言語は、その形式に固有の方法を使用して設定する必要があります。
dc:identifier、
dc:language、
および
dc:title
を除くすべての[dcterms]要素は、
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]要素の 定義を変更しません。
dc:contributor要素 [dcterms]は、コンテンツの作成において
二次的な役割を果たした人物、組織などの名前を表すために使用されます。
dc:contributor要素の要件は、その他すべての点で
要素の要件と同一です。
dc:creator
dc:creator
要素 [dcterms]は、コンテンツの作成に責任を持つ
人物、組織などの名前を表します。roleプロパティをその要素に関連付けることで、作成者が果たした機能を示してもMAYよいです。
dc:creator要素には、リーディングシステムがユーザーに表示することを期待される形式で、
作成者の名前を含めることが推奨されます。
file-asプロパティは、作成者名の正規化形式を
関連付けるために使用してもMAYよく、
alternate-scriptプロパティは、別の言語または文字体系で
作成者名を表すために使用できます。
EPUB出版物に複数の作成者がいる場合は、
それぞれを別個の
dc:creator要素で指定してください。
metadataセクション内のdc:creator要素の文書順は
表示優先度を決定し、最初に現れるdc:creator要素が主要な作成者です。
二次的な寄与者は、
要素を使用して表されます。
dc:contributor
dc:date要素
[dcterms]は、
EPUB出版物の出版日を定義します。出版日は
最終更新日(EPUB出版物が最後に変更された時点)とは
同じではありません。
日付文字列は[iso8601-1]に、 特にW3C Date and Time Formats [datetime]で表現される部分集合に適合することが RECOMMENDEDされます。そのような文字列は、人間にも 機械にも可読であるためです。
追加の日付は、[dcterms]語彙、または同様の語彙で利用可能な 特殊な日付プロパティを使用して表現できます。
EPUB出版物は、複数の
dc:date要素を含んではMUST NOTなりません。
dc:subject
要素 [dcterms]は、
EPUB出版物の主題を識別します。要素の
値は、人間可読な見出しまたはラベルに設定することが推奨されますが、
主題分類体系が別個の記述ラベルを提供しない場合は、コード値を使用できます。
要素の値が由来する体系またはスキームは、
authorityプロパティを使用して識別できます。
スキームが識別される場合、主題コードはterm
プロパティを使用して要素に関連付けられなければMUSTなりません。
termプロパティは、スキームを指定していない
dc:subject要素に関連付けてはMUST
NOTなりません。
dc:subject要素および
termプロパティの値は、指定されたスキームが要求する場合にのみ
大文字と小文字を区別します。
dc:type要素
[dcterms]は、EPUB出版物が特殊な種類
(例えば、EPUB形式でパッケージ化された注釈または辞書)であることを示すために使用されます。
要素の値は任意のテキスト文字列であってもMAYよいです。
旧IDPF EPUB 3 Working Groupは、この要素で使用するための特殊なEPUB出版物タイプの 非規範的レジストリを維持していました。このWorking Groupはもはやそのレジストリを維持しておらず、 新しい特殊な出版物タイプを開発する予定もありません。
meta要素は、パッケージメタデータを含めるための汎用的な手段を提供します。
meta
metadata
要素の子として。
反復可能。
テキスト
各meta要素はメタデータ表現を定義します。
property属性は、その表現で行われる文を定義するコンパクトURLを取り、
要素のテキスト内容はその表明を表します。(詳細については、5.3
語彙関連付け
メカニズムを参照してください。)
この仕様は、meta要素を使用して定義できる
2種類のメタデータ表現を定義します:
meta要素で定義される表現が
EPUB出版物の何らかの側面を確立するものです。
refines属性を省略した
meta要素は、主要表現を定義します。
meta要素で定義される表現が、
refines属性を使用して別の表現またはリソースと関連付けられ、
その意味を強化するものです。例えば、部分表現はメディアクリップをその継続時間を表すことで
精緻化したり、作成者または寄与者の表現をその人物の役割を定義することで精緻化したりできます。
部分表現は、他の部分表現の意味を精緻化するために使用してもMAYよく、 それによって情報のチェーンを作成できます。
すべての[dcterms]要素は主要表現を表し、 meta要素の部分表現による精緻化を許可します。
Meta Properties Vocabularyは、
property属性とともに使用するための既定語彙です。
他の語彙からの用語は、5.3 語彙関連付け メカニズムで定義されるように追加してもMAYよいです。
scheme属性は、要素の値が取得された体系またはスキームを識別します。属性の値は、
そのスキームを定義するリソースへ解決されるコンパクトURLでなければMUSTなりません。scheme属性には
既定語彙はありません(すなわち、すべての値に接頭辞が必要です)。
metadataセクションは、最終更新日を含む
dcterms:modified
プロパティ [dcterms]をちょうど1つ
含まなければMUSTなりません。このプロパティの値は、拡張形式に一致する日時の
[iso8601-1]
完全表現でなければMUSTなりません:
YYYY-MM-DDThh:mm:ssZ
パターン末尾の「Z」(Zulu)時刻指示子は、最終更新日が常に協定世界時(UTC)で 表現されることを意味します。
EPUB出版物に変更が加えられるたびに、最終更新日を更新することが推奨されます。
追加のdcterms:modifiedプロパティは、パッケージ文書
メタデータ内で指定してもMAYよいですが、それらは異なる主語を持たなければMUSTなりません(すなわち、要素またはリソースを参照する
refines
属性が必要です)。
最終更新日に関する要件は、EPUB出版物のリリース 識別子 [epubpackages-32]を 定義していたEPUB 3の以前のバージョンとの互換性を確保するためのものです。
link要素は、メタデータ
レコードなどのリソースをEPUB
出版物に関連付けます。
link
metadataの子として。
反復可能。
href
[required]
hreflang
[optional]
id
[optional]
media-type
[conditionally required]
properties
[optional]
refines
[optional]
rel
[required]
空
metadata
要素は0個以上のlink要素を含んでもMAYよく、その各々は、
REQUIREDな
href属性で、出版リソースまたはリンクされたリソースの場所を識別します。
link要素から参照されるリソースは、次の場合にのみ
出版リソースです:
スパインから 参照される場合; または
EPUBコンテンツ文書内に包含または埋め込まれる場合
(例えば、RDFa [rdfa-core]として、または
JSON-LD [json-ld11]として
[html] script
要素内に埋め込まれたメタデータレコード)。
その他すべての場合(例えば、独立した[onix]レコードへリンクする場合)、 参照されるリソースは出版リソースではなく(すなわち、コア メディア型要件の対象ではなく)、マニフェストに列挙してはMUST NOTなりません。
リンクされたリソースはEPUBコンテナーの外に配置されてもMAYよいですが、 リーディングシステムはリモートリソースを取得する必要はありません。リモートでホストする前に、 これがユーザーの読書体験にどのような影響を与えるかを考慮することが推奨されます。
media-type
属性は、EPUBコンテナー内のすべてのリンクされたリソースに対して指定されなければMUSTなりません。EPUBコンテナー外にあるリンクされたリソースについては、
同じURL [url]から複数のメディア型が提供され得るため、
OPTIONALです。
OPTIONALなhreflang属性は、
リンクされたリソースの言語を識別します。値は整形式の言語
タグ [bcp47]でなければMUST
なりません。
REQUIREDなrel属性は、
リンクされたリソースがEPUB
出版物に対して持つ関係を確立するコンパクトURLの空白区切り一覧を取ります。
media-type属性の値は、リンクされたリソースの種類を識別するのに常に十分とは限りません
(例えば、多くのXMLベースのレコード形式はメディア型
「application/xml」を使用します)。そのような
汎用リソースの識別においてリーディングシステムを支援するため、意味的な識別子を
properties
属性で指定してもMAYよいです。
Metadata Link Vocabularyは、
rel属性およびproperties属性の既定
語彙です。
他の語彙からの関係およびプロパティは、5.3 語彙関連付け メカニズムで定義されるように追加してもMAYよいです。
1つ以上のリンクされた メタデータレコードを提供してもMAYよいです。
EPUB出版物にリンクできるメタデータレコードの形式およびシリアル化は多様であり、 それらの間でメタデータプロパティを比較することは複雑であるため、この仕様は リーディングシステムにリンクされたレコードの処理を要求しません。
完全なレコードに加えて、link要素は、代替形式で利用可能な個々の
メタデータプロパティを識別するために使用してもMAYよいです。
manifest要素は、コンテンツのレンダリングに使用される出版リソースの網羅的な一覧を提供します。
パッケージ
文書を除き、
manifestは、出版リソースが
コンテナーリソースであるか、リモートリソースであるかに関係なく、
すべての出版リソースを列挙しなければMUSTなりません。
パッケージ文書はすでにcontainer.xmlファイルによって識別されているため、
manifestはそれを表すitem要素を指定してはMUST NOTなりません
(すなわち、自己参照には目的がありません)。
マニフェストは出版リソースを列挙するためだけのものです。リンクされたリソースおよびOCF
コンテナーの処理用の特殊ファイル(すなわち、META-INFディレクトリ内のファイル、および
mimetypeファイル)は、包含が制限されます。
出版リソースの完全なマニフェストを提供しないと、レンダリングの問題につながる可能性があります。 リーディングシステムは、そのような リソースを展開しなかったり、セキュリティ上の理由でそれらへのアクセスを防いだりする可能性があります。
item要素は、出版リソースを表します。
item
manifestの子として。
反復可能。
fallback
[conditionally required]
href
[required]
id
[required]
media-overlay
[optional]
media-type
[required]
properties
[optional]
空
各item要素は、
そのhref
属性内のURL [url]によって出版リソースを識別します。値は
absolute-またはpath-relative-scheme-less-URL
string [url]でなければMUSTなりません。
各URLは、構文解析後、manifestスコープ内で
一意でなければMUSTなりません。
item要素によって識別される出版リソースは、
media-type属性に提供されたMIME
メディア型 [rfc2046]から推定される
適用可能な仕様に適合しなければMUSTなりません。コアメディア型リソースについては、
3.2 コア
メディア型で指定されたメディア型を使用しなければMUST
なりません。
fallback属性は、参照される出版リソースのフォールバックを指定します。
fallback属性のIDREF [xml]値は、
manifest内の別のitemに解決されなければMUSTなりません。
あるitemのフォールバックは、別の
itemへのフォールバックを指定してもMAYよく、
さらに続けてフォールバックオプションのチェーンを作成できます。フォールバックチェーンの使用に関する
追加要件については、3.5.1
マニフェストフォールバックを
参照してください。
media-overlay属性は、
このitemによって記述されるリソースのメディアオーバーレイ文書を識別する
IDREF [xml]を取ります。
詳細については、9.3.3.5
メディアオーバーレイのパッケージ化を参照してください。
manifest内のitem要素の順序は重要ではありません。
spine
要素がコンテンツ文書の提示順序を提供します。
properties属性は、
リソースの内容に関する情報をリーディングシステムに提供します。
この情報により、カバー画像やEPUBナビゲーション文書などの主要リソースを
発見できます。また、リソースが埋め込みスクリプト、MathML、またはSVGを含むかどうかなどを示すことで、
リーディングシステムがレンダリングを最適化できるようにします。
Manifest Properties
Vocabularyは、
properties
属性の既定語彙です。
item
要素によって参照されるリソースがそれぞれの定義に一致する場合は常に、次のプロパティを設定しなければMUSTなりません:
これらのプロパティは、リソースに含められたコンテンツ(例えば
[html]
iframe
要素を介したもの)には再帰的に適用されません。例えば、スクリプトを持たないXHTMLコンテンツ文書が
スクリプト付きコンテンツ
文書を埋め込む場合、埋め込まれた文書のマニフェスト
itemの
properties属性だけがscripted値を持ちます。
EPUBナビゲーション文書として、navプロパティを使用して
ちょうど1つのitemが宣言されなければMUSTなりません。
EPUB出版物がカバー画像を含む場合、OPTIONALなcover-image
プロパティを設定することが推奨されます。
他の語彙からの用語は、5.3 語彙関連付け メカニズムで定義されるように追加してもMAYよいです。
spine要素は、既定の読書順序を表すマニフェスト
item参照の順序付き一覧を定義します。
spine
id
[optional]
page-progression-direction
[optional]
itemref
[1つ以上]
spineは、少なくとも1つの
EPUBコンテンツ文書または外部コンテンツ文書を指定しなければMUSTなりません。
spine内の出版リソースからハイパーリンクされるすべてのEPUB
および外部コンテンツ文書は、spineに列挙されなければMUSTなりません。ここで
ハイパーリンクとは、ユーザーが現在のリソースから離れて移動することを必要とする任意のリンク機構を含みます。
一般的なハイパーリンク機構には、
[html]の
a
および
area
要素の
href
属性、ならびにスクリプト化されたリンク(例えば、DOM Eventsおよび/またはform
要素を使用するもの)が含まれます。ハイパーリンクされたリソースを列挙する要件は再帰的に適用されます
(すなわち、ハイパーリンクされた文書からハイパーリンクされるすべてのEPUBおよび
外部コンテンツ文書も列挙されなければならず、以下同様です)。
EPUBナビゲーション文書からハイパーリンクされる
すべてのEPUBおよび外部コンテンツ文書も、EPUBナビゲーション文書が
spineに含まれているかどうかにかかわらず、spineに列挙されなければMUST
なりません。
page-progression-direction
属性は、コンテンツが流れる全体の方向を設定します。許可される値は
ltr(左から右)、rtl(右から左)およびdefaultです。
default値が指定された場合、優先方向は表明されず、
リーディングシステムがレンダリング方向を選択できます。
page-progression-direction属性は全体の流れ方向を設定しますが、
個々のEPUBコンテンツ文書およびEPUBコンテンツ文書の一部は、この設定を上書きしてもMAY
よいです(例えば、CSSのwriting-modeプロパティを介して)。リーディングシステムも、
既定方向を上書きする仕組み(例えば、代替スタイルシートの適用を可能にするボタンまたは設定)を提供する場合があります。
itemref要素は、既定の読書順序内のEPUBコンテンツ文書または外部コンテンツ文書を識別します。
itemref
spineの子として。
反復可能。
id
[optional]
idref
[required]
linear
[optional]
properties
[optional]
空
各itemref要素は、その
idref属性内の
IDREF [xml]を介して、
マニフェスト内の
itemの
ID [xml]を参照しなければMUSTなりません。
item要素のIDは複数回参照してはMUST NOTなりません。
参照される各マニフェストitemは、a)
EPUBコンテンツ文書、または b) その
マニフェストフォールバックチェーンに
EPUBコンテンツ
文書を含む外部コンテンツ文書のいずれかでなければMUST
なりません。
EPUB出版物はEPUBナビゲーション 文書を必要としますが、それをスパインに含めることは必須ではありません。
linear属性は、参照される
itemが、主要な読書順序に寄与し、リーディングシステムが順番に読むことを期待される
コンテンツ(「yes」)を含むのか、またはリーディングシステムが順序外でアクセスできる、
主要コンテンツを強化または補強する補助コンテンツ
(「no」)を含むのかを示します。補助コンテンツの例には、注、説明、および解答
キーがあります。
linear属性により、リーディングシステムは、ユーザーが
既定の読書順序の一部としてアクセスする必要があるコンテンツと、リーディングシステムが
例えばポップアップウィンドウで提示したり音声レンダリングから省略したりする可能性のある補足コンテンツを
区別できます。
コンテンツが非線形であると指定しても、リーディングシステムに特定の方法で提示することを要求するわけではありません。 それは目的に対するヒントにすぎません。リーディングシステムは、例えば非線形コンテンツを スパイン内で出現する位置に提示する場合もあれば、ユーザーがスパインの末尾に到達するまで それをスキップする場合もあります。
ユーザーが線形スパイン項目の間でそれに出会うことが意味を持つ場合を除き、 非線形コンテンツはスパインの末尾に列挙することが推奨されます。
線形itemref要素とは、そのlinear
属性値が明示的に「yes」に設定されているもの、またはその
属性を省略しているものです — リーディングシステムは、属性を持たない
itemref要素について値「yes」を仮定します。スパインは
少なくとも1つの
線形itemref要素を含まなければMUSTなりません。
リーディングシステムはスパインを 進めている間に非線形コンテンツへのアクセスを提供しない可能性があるため、すべての非線形コンテンツへアクセスする 二次的な手段を提供しなければMUSTなりません(例えば、コンテンツ内のハイパーリンクまたは EPUBナビゲーション文書を介して)。
Spine Properties
Vocabularyは、
properties属性の既定語彙です。
他の語彙からの用語は、5.3 語彙関連付け メカニズムで定義されるように追加してもMAYよいです。
このセクションは非規範的です。
すべてのレンダリング情報を、EPUB 3が基盤とする下位技術を通じて表現できるわけではありません。 例えば、CSS付きHTMLは強力なレイアウト機能を提供しますが、その機能はレンダリングされる 文書のスコープに限定されます。
このため、EPUB 3はEPUBコンテンツ文書を表示するために、複数のレイアウトオプションを提供します:
このセクションでは、これらのレイアウトオプションに加え、パッケージレベルのレンダリング意図 (すなわち、EPUBリーディングシステムでのみ実装できる機能)の 表現を制御する追加プロパティについて説明します。リーディングシステムが望ましいレンダリングをサポートする場合、 これらのプロパティにより、コンテンツを最適に設計されたとおりに提示できます。
リフロー可能レイアウトとは、EPUB コンテンツ文書の内容が、リーディングシステムのビューポートで 利用可能な空間に収まるようにリフローされるものです。リーディングシステムはその後、コンテンツを動的にページ分割したり、 スクロール形式で提供したりでき、多くの場合、ユーザーが好む読書体験を選択できるようにします。
リフロー可能レイアウトはEPUB 3の既定であり、通常は最もアクセシブルです。
既定であるため、EPUB
出版物がリフローされることを意図していることを示すメタデータを宣言する必要はありません。
ただし、明示的な宣言が望ましい場合は、rendition:layoutプロパティを、値
reflowableを指定するmeta要素に設定できます。
EPUB出版物全体をリフロー可能に設定することに加えて、事前ページ分割済み固定レイアウトを上書きして、一部のスパイン項目が
リフロー可能であることを指定できます。これを行うには、リフロー可能な各スパイン
itemrefのproperties属性に、rendition:layout-reflowable
スパイン上書きを設定します。
ロールレイアウトはレイアウトのスパイン 上書きをサポートしないため、リフロー可能レイアウトを同様にロールと混在させることはできません。
2つのリフロー可能なEPUBコンテンツ文書がスパイン内で連続して現れる場合、
それらの[html] body要素の既定レンダリングは、
page-break-before
プロパティ [css2]が
alwaysに設定されている場合と一致します。この振る舞いは、リーディングシステムがそのような上書きをサポートする場合、
適切なスタイルシート宣言を通じて上書きしてもMAYよいです。
EPUB 3は、固定レイアウト文書を使用する2種類の固定レイアウトを提供します。 1つ目の事前ページ分割済みは、各固定レイアウト文書が1ページのコンテンツを表す、 従来の印刷本に非常に似た読書体験を提供します。 事前ページ分割済みレイアウトは、ページのデザインを意味や読みやすさを失わずにリフローできない児童書、コミック、 および類似のコンテンツで一般的に使用されます。
2つ目のレイアウト種別であるロールは、固定レイアウト文書を 連続スクロールレイアウトで提供します。この体験は、文書をページ分割すると人工的な区切りが生じる 多くのコミックやマンガに不可欠です。
事前ページ分割済みレイアウトは、ロールレイアウトの導入前には一般的に固定レイアウトEPUBと呼ばれていました。 仕様では現在、1つだけを「固定レイアウト」と呼ぶ一般的な混乱を避けるため、 各固定レイアウト種別をその設計によって参照します。
事前ページ分割済み固定レイアウトでは、スパインの
itemref
によって参照される各固定レイアウト文書が、コンテンツの1ページを表します。リーディングシステムは、
文書をビューポートまたは合成スプレッドに収まるように拡大縮小することが期待されます。
EPUB出版物が事前ページ分割済み固定レイアウトを使用することを示すには、
rendition:layoutプロパティを、
値pre-paginatedを指定するmeta要素に宣言します。
EPUB出版物全体を事前ページ分割済みに設定することに加えて、
リフロー可能レイアウトを上書きして、一部のスパイン項目が
事前ページ分割済みであることを指定できます。これを行うには、事前ページ分割済みである各スパイン
itemrefのproperties属性に、
rendition:layout-pre-paginatedスパイン上書きを
設定します。
ロールレイアウトはスパイン上書きをサポートしないため、 事前ページ分割済みレイアウトを同様にロールと混在させることはできません。
スパイン項目に対してプロパティが
pre-paginatedに設定されている場合、
itemref
要素は固定レイアウト文書を参照しなければMUSTならないか、
またはマニフェストフォールバックチェーン内にそのような文書が
1つ存在しなければMUSTなりません。
リーディングシステムは通常、事前ページ分割済み文書へのユーザーまたはユーザーエージェントの スタイルシートの適用を制限または拒否します。動的なスタイル変更が、そのような文書の固有プロパティに 意図しない結果をもたらす可能性が高いためです。事前ページ分割済みコンテンツを使用することを選択する際は、 これらの制限がユーザビリティおよびアクセシビリティに与える悪影響を考慮することが推奨されます。 関連情報については、Guideline 1.4 - Provide text configuration [uaag20]を参照してください。
事前ページ分割済みレイアウトでは既定で、 リーディングシステムは各 固定レイアウト文書をビューポート内に個別に提示し、文書をスパイン順の 次の固定レイアウト文書に置き換えます。
リーディングシステムは、合成スプレッドのオプションを提供する場合もあります。この場合、2つのビューポートを
レンダリングして、2つの固定レイアウト文書を並べて表示したり、単一の固定レイアウト文書を
利用可能な2つのビューポートの一方に単独で表示したりできます(例えば、新しい章の開始前に
空白ページを持たせるため)。この場合、リーディングシステムは最初の文書を単独でレンダリングします —
利用可能な2つのスロットの一方に単独で表示する(どちらのスロットかは、指定されたページ
進行方向、またはEPUBコンテンツ文書内のローカル宣言によって決定されます)か、
または単独で中央に配置します(rendition:page-spread-centerプロパティを
設定することと同等)。最初の文書の後は、次の2つの連続するEPUBコンテンツ文書をレンダリングすることで
スプレッドを埋めます。その後、ユーザーが出版物内を前後に進むたびに、スプレッド内の両方の
文書が置き換えられます。
自動配置の振る舞いは、スパイン
itemref
要素のproperties属性に次の
プロパティのいずれかを指定することで上書きしてもMAYよいです:
rendition:page-spread-center
— 合成スプレッドを使用せず、固定レイアウト文書をビューポート内で中央に配置します。rendition:page-spread-left
— 参照される固定レイアウト文書を合成スプレッドの左側スロットに配置します。rendition:page-spread-right
— 参照される固定レイアウト文書を合成スプレッドの右側スロットに配置します。rendition:page-spread-center、rendition:page-spread-left、および
rendition:page-spread-rightプロパティは、リーディングシステムが
合成スプレッドを作成している場合にのみ適用されます。また、これらは事前ページ分割済みコンテンツにのみ
適用されますが、スパイン項目のレイアウトを事前ページ分割済みに上書きする場合には、
リフロー可能レイアウト内でスプレッドを持つことも可能です。
rendition:page-spread-leftおよびrendition:page-spread-right
プロパティは、パッケージレンダリングプロパティに単一の語彙を使用できるようにするために作成されました。
どちらのプロパティ集合も使用できますが、古いリーディングシステムは接頭辞なしのバージョンしか
認識しない場合があります。
rendition:page-spread-centerは、2ページスプレッドと単一中央ページの間で
切り替える処理を理解しやすくするために作成されました。
rendition:layoutプロパティが
meta要素内で値rollを持って宣言されている場合、
それはコンテンツがロールであることを示します(すなわち、リーディングシステムは各スパイン
itemref
の幅をビューポートに合わせ、可視の隙間なしに連続したロールとして表示します)。
ロールレイアウトスタイルは全体に適用され(すなわち、すべてのスパイン項目に対して)、
上書きできません。
rollレイアウトが宣言されている場合、各スパイン項目は
固定レイアウト文書を参照しなければMUST
なりません。各文書の寸法は、7.3.2
固定レイアウト文書の寸法で定義されるとおりに
設定されなければMUSTなりません。
パッケージレンダリング 語彙の他のプロパティまたはスパイン上書きは、ロールレイアウトのレンダリングを制御するためには使用できません。
リーディングシステムは通常、ロール文書へのユーザーまたはユーザーエージェントのスタイルシートの 適用を制限または拒否します。動的なスタイル変更が、そのような文書の固有プロパティに 意図しない結果をもたらす可能性が高いためです。ロールを使用することを選択する際は、 これらの制限がユーザビリティおよびアクセシビリティに与える悪影響を考慮することが推奨されます。 関連情報については、Guideline 1.4 - Provide text configuration [uaag20]を参照してください。
このセクションは非規範的です。
XHTMLコンテンツ文書は、 HTML Standard [html]の XML構文を使用して表現されるXML 文書のインスタンスです。
このプロファイルに適合するXHTMLコンテンツ文書は、コアメディア型リソースであり、
EPUBコンテンツ文書を構成する2つの形式のうちの
1つです — これは
spine内で
フォールバックなしに使用できます。
EPUB 3は、[html]の
HTML構文をコア
メディア型としてサポートしません。どちらのシリアル化でも同じ要素を表現できますが、
すべてのJavaScriptライブラリおよびAPIが
XML構文、特に
shadow DOMを扱うように設計されているわけではありません。これは、例えば、
template
要素 [html]はXML構文で
作成できますが、HTML構文と同じ方法では使用できない可能性があることを意味します。
Publishing Maintenance Working Groupは、HTML StandardがXML構文の使用をもはや推奨していないことを 認識しています。しかし、XMLは多くの出版ワークフローに不可欠であり、多くのベンダーの取り込みシステムおよび リーディングシステムで期待されています。また、将来、構文間に追加のサポート差異が生じるとしても、 XHTMLのサポートがブラウザーから削除されることは想定されていません。HTML構文のサポートは、 EPUB 3の後継形式で扱われる可能性があります。
EPUB 3の以前のバージョンでは、EPUBコンテンツ文書を定義するために W3CのHTML5標準を参照していましたが、 その標準は主にWHATWGによって維持されているHTML Standardのスナップショットでした。 2019年にHTMLの開発に関する合意に 達した後、W3C標準は廃止され、EPUB 3は現在、 HTML Standardのみを参照しています。これは、EPUB 3がXHTMLコンテンツ文書でHTML5を もはやサポートしないことを意味するものではなく、HTML5が現在、HTML 4.01および XHTML 1.1の後継であるHTML Standardを指すマーケティング用語になったことを意味するだけです。
XHTMLコンテンツ文書は:
7.1.4 HTML からの逸脱および制約で明示的に上書きされている場合を除き、[html]によって定義されるすべての 文書構成要素の適合基準に適合しなければMUSTなりません。
7.1.3 HTML拡張で定義されるように、[html]文法への拡張を含んでもMAYよく、 そこで定義されるすべてのコンテンツ適合制約に適合しなければMUSTなりません。
別途指定がない限り、XHTMLコンテンツ文書は、意味、構造、および処理動作に関するすべての定義を [html]仕様から継承します。
EPUB出版物が [epub-a11y-12]のアクセシビリティ要件に従うという推奨は、 XHTMLコンテンツ文書にも適用されます。アクセシビリティを参照してください。
このセクションは、基礎となる[html] 文書モデルに対するEPUB 3 XHTMLコンテンツ文書 拡張を定義します。
epub:type
属性は、XHTMLコンテンツ文書内で構造セマンティクスを表現するために使用してもMAYよいです。
この属性は、head要素またはメタデータコンテンツ [html]で使用してはMUST NOTなりません。
[html-rdfa]仕様は、 コンテンツを意味的に豊かにするためにXHTMLコンテンツ文書内で使用してもMAYよい 属性の集合を定義します。これらの属性の使用は、[html-rdfa]で定義される 要件に適合しなければMUSTなりません。
[html-rdfa]仕様は、作成者が RDFa属性を使用する場合の[html]コンテンツモデルへの変更を定義します。 この変更されたコンテンツモデルは、XHTMLコンテンツ文書で有効です。
RDFaを列挙していることは、Working Group側の優先を表すものではなく、これらの属性がHTML文法の 拡張を表すことだけを意味します。Microdata属性 [html]およびリンクトデータ [json-ld11]は、XHTML コンテンツ文書でネイティブにサポートされており、同様に使用できます。
[its20]仕様は、 国際化、翻訳、およびローカライズのサポートを追加するために、XHTMLコンテンツ文書内で使用してもMAYよい 属性の集合を定義します。
ITS属性は、Using ITS markup in HTML [its20]で定義されるとおりにのみ 使用されなければMUSTなりません(すなわち、EPUB 3は名前空間付き 属性をサポートしません)。
これらの属性の使用は、[its20]で定義される要件に 適合しなければMUSTなりません。
XHTMLコンテンツ文書は、カスタム属性を含んでもMAYよいです。これは、 名前空間 URLのドメイン [url]に次の文字列のいずれも含まない 接頭辞付き [xml-names]属性です:
w3.org
idpf.org
カスタム属性を使用する場合、コンテンツは、どのリーディングシステムでレンダリングされるかにかかわらず、 情報の損失またはその他の重大な劣化なしに、ユーザーが利用可能なままでなければMUST なりません。
カスタム属性は通常、リーディングシステム固有の方法で定義され、他のリーディングシステムで 使用されることは意図されていません。複数の独立したリーディングシステムが使用できる 拡張を追加するための推奨される方法は、この仕様を拡張することです。
このセクションは、EPUB 3 XHTMLコンテンツ文書に 適用される、基礎となる[html]文書 モデルからの逸脱および制約を定義します。
XHTMLコンテンツ文書は、埋め込み [mathml3]を サポートします。MathMLマークアップの出現は、次の追加制限とともに、 MathML仕様 [mathml3]で 表現される制約に適合しなければMUST なりません:
math要素は、
annotation-xml要素内を除き、表示MathMLのみを含まなければMUST
なりません。
内容
MathMLは、XHTMLコンテンツ文書内のMathMLマークアップの中に含めてもMAYよく、
存在する場合は、semantics要素の
annotation-xml子要素内に含まれなければMUSTなりません。
前の条件に従って内容MathMLが含まれる場合、
指定されたannotation-xml要素のencoding
属性は、機能的に等価な値である
MathML-Contentまたはapplication/mathml-content+xmlの
いずれかに設定され、name属性はcontentequivに
設定されなければMUSTなりません。
このサブセットは、リーディングシステムの実装負担を軽減し、 アクセシビリティを促進しながら、[html]ユーザー エージェントとの互換性を保持します。
mathmlプロパティは、マニフェストの
item
要素において、XHTMLコンテンツ文書が埋め込みMathMLを含むことを示します。
XHTMLコンテンツ文書は、SVGの埋め込みをサポートします:
img
または
object
要素から。参照によって埋め込まれたSVGはSVG
コアメディア型であるため、その要件はすでに7.2
SVGコンテンツ文書で定義されています。
このセクションは非規範的です。
[html]のbase
要素は、URLを構文解析する目的で文書ベースURLを指定するために使用できます。
EPUB出版物でそれを使用すると、
base要素の解釈により、意図せずリモートリソースへの参照が生じる可能性があります。
また、リーディングシステムが
ハイパーリンクの場所を誤って解釈する原因にもなり得ます(例えば、base要素が絶対URLを指定している場合、
出版物内の他の文書への相対リンクがウェブサイトへのリンクのように見える可能性があります)。重大な相互運用性の問題を
避けるため、base要素の使用は推奨されません。
[html]の
rp
要素は、ルビマークアップを認識しない古いリーディングシステムに
フォールバックを提供することを意図しています(すなわち、rubyマークアップの周囲に
括弧を表示します)。EPUB 3リーディングシステムはルビを認識し、フォールバックを提供できるため、
rp要素の使用は推奨されません。
[html]のembed
要素は、スクリプティングをサポートしないリーディングシステム向けの固有の
フォールバック機能を含まないため、スクリプト付きリソースとともにこの要素を使用することは
推奨されません。[html]の
object
要素は、固有のフォールバック機能を含むため、よりよい代替です。
このセクションは非規範的です。
Scalable Vector Graphics(SVG)仕様 [svg]は、最終形のベクターグラフィックスおよびテキストを 表現する形式を定義します。
XHTMLコンテンツ文書はトップレベルコンテンツ文書としてより一般的に使用されますが、 SVGコンテンツ文書の使用も許可されています。SVGは通常、 コンテンツの表現として最終形のページ画像しか適さない場合など、特定の特殊ケースでのみ必要になります (例えば、表紙アートやマンガまたはコミックブックの文脈で)。
このセクションは、[svg]文書のプロファイルを定義します。このプロファイルに 適合するXML文書のインスタンスはコアメディア型リソースであり、この 仕様ではSVGコンテンツ文書と呼ばれます。
このセクションは、SVGコンテンツ文書の適合要件を定義します。XHTML コンテンツ文書に埋め込まれたSVGの適合要件については、7.1.4.2 埋め込みSVGを 参照してください。
SVG コンテンツ文書は、適合するSVG スタンドアロンファイル [svg]でなければMUSTならず、7.2.3 SVGに関する 制限で表現されるすべてのコンテンツ適合制約に適合しなければなりません。
EPUB出版物が [epub-a11y-12]のアクセシビリティ要件に従うという推奨は、 SVGコンテンツ文書にも適用されます。アクセシビリティを参照してください。
この仕様は、SVG コンテンツ文書およびXHTML コンテンツ文書に包含によって埋め込まれたSVGのコンテンツモデルを 次のように制限します:
[svg]のforeignObject
要素:
[html]のフローコンテンツ、またはちょうど1つの[html]のbody要素のいずれかを含まなければMUSTなりません。
包含によって埋め込まれたSVGの場合、
[html]で定義されるSVGに関する制限により、
body要素は許可されません。
7.1.2 XHTML 要件で定義されるXHTMLコンテンツ文書モデルに適合する有効な文書フラグメントを 含まなければMUSTなりません。
[svg]の
title
要素がマークアップ付きテキストを含む場合、そのマークアップは
HTML名前空間 [infra]で
宣言された要素のみを含まなければMUSTなりません。
[svg]のtitle要素はマークアップ
要素を許可していますが、
この機能のサポートは限られています。最大限の相互運用性のため、テキストのみのタイトルの使用が
推奨されます。
指定される場合、
epub:type
属性は、レンダリング可能要素 [svg]に
のみ含められなければMUSTなりません。
SVGコンテンツモデルは、作成者が名前空間付き属性を
含めることを許可しているため、この仕様で
epub:type
属性または語彙関連付け
メカニズムを許可する必要はありません。
ただし、参照によって埋め込まれたSVGと包含によって埋め込まれたSVGの主な違いの1つは、
包含によって埋め込まれたSVGは、そのルート
svg
要素
[svg]にepub:prefix属性を持つことができない点です。
詳細については、5.3.4
prefix属性を参照してください。
このセクションは非規範的です。
EPUB出版物は、印刷本やPDFファイルとは異なり、 変化するように設計されています。コンテンツは、画面とユーザーのニーズに合わせて 流れ、またはリフローします。Rendering and CSSで述べられているように、 「コンテンツの提示は、ユーザーが特定の提示に適応しなければならないのではなく、ユーザーに適応します。」 [epub-overview-34]
しかし、この原則はすべての種類の文書に当てはまるわけではありません。コンテンツとデザインが非常に 密接に結び付いていて、それらを分離できない場合があります。外観の変更は、意味を変えたり、 すべての意味を失わせたりする危険があります。固定レイアウト文書は、 リフロー可能レイアウトがコンテンツに適さない場合に、提示をより細かく制御できます。
固定レイアウト文書は、文書内のメタデータで指定された一定の幅と高さでリーディングシステムにより
レンダリングされる点で、reflowableなEPUB
コンテンツ文書とは異なります。これにより、文書のコンテンツをピクセル単位で正確に配置できます。
任意の外部リソースも固定レイアウトを持つものとして指定できます
(ただし、これらにはEPUBコンテンツ文書へのフォールバックが必要です)。例えば、特に
ロールレイアウトでは、画像の外部リソースが固定レイアウトで
スパインに使用されることがよくあります。
EPUBコンテンツ文書または外部リソースが固定レイアウト文書を表すかどうかは、 出版物のレイアウトに依存します。事前ページ分割済みおよび ロールの固定レイアウトはどちらも、スパインから参照される すべての項目が既定で固定レイアウト文書であることを期待します(ただし、この動作は事前ページ分割済み レイアウトの場合には上書きできます)。リフロー可能レイアウトを上書きして、事前ページ分割済みの固定レイアウト 文書を追加することも可能です。
固定レイアウト文書のレイアウト寸法は、 それぞれのEPUBコンテンツ文書から 取得されます。文書がリーディングシステムでどのように提示されるかは、使用されるレイアウトに依存します — 事前ページ分割形式で表示される(ビューポートまたは合成スプレッドのスロットごとに1つ)か、 連続ロールとして提示されます。
EPUB 3は、固定レイアウトコンテンツを表現するための複数の形式をサポートします。固定レイアウト コンテンツが必要な場合、形式の選択は、望まれる精度、ファイルサイズ、アクセシビリティなど、 多くの要因に依存します。この文書は、形式の選択を規定しようとするものではありません。
特に、スパインで画像を使用することは、配布とアクセシビリティの両面で問題があることが知られています。 EPUBコンテンツ文書のフォールバックが必要であるにもかかわらず、すべてのベンダーが画像をスパインに含む EPUB出版物を受け入れるわけではなく、リーディングシステムはユーザーがそれらのフォールバックに到達する オプションを常に提供するわけではありません。その使用は、ロールレイアウトをサポートするコミックやマンガなどの 専門的なエコシステムでのみ推奨されます。
このセクションは、固定レイアウト文書の寸法プロパティの 表現および解釈に関する規則を定義します。
固定レイアウト文書は、その形式に適用される方法で、 初期包含 ブロック [css2]を 指定します:
XHTMLの固定レイアウト文書については、
初期
包含ブロック [css2]は、
viewport
metaタグ内のREQUIREDなheightおよび
width定義から取得されます。ここで:
height
プロパティは、その
値として正の数値 [css2]
またはキーワード
device-heightを持たなければMUSTなりません; そして
widthプロパティは、その値として正の
数値 [css2]
またはキーワード
device-widthを持たなければMUSTなりません。
device-widthおよびdevice-height値は、それぞれ
リーディングシステムのビューポートの
幅および高さの100%を指します。
heightおよびwidth定義は、文書順で[html]の
head要素内の最初の
viewport metaタグに指定されなければMUST
なりません。リーディングシステムは後続のviewport metaタグを無視します。
EPUB作成者は、viewport metaタグ内で複数のheightまたは
width
定義を指定してはMUST NOTなりません。
SVGの固定レイアウト文書については、
初期包含ブロック [css2]の
寸法は、viewBox
属性 [svg]を使用して表現されなければMUST
なりません。
スパインから参照される画像外部リソースについては、 初期 包含ブロック [css2]は、 画像の幅および高さのメタデータから取得されます。このメタデータがどのように保存されるかについては、 画像形式の文書を参照してください。
初期包含ブロックの定義は、それが定義されている文書にのみ影響します。同じ出版物内の 他のコンテンツ文書における包含ブロックの寸法は異なる場合があります。
このセクションは、XHTML およびSVGコンテンツ文書の両方で使用可能な技術の要件を定義します。
このセクションは非規範的です。
CSSはOpen Web Platformの不可欠な部分です。読者、出版者、および文書作成者は、 HTMLが「そのまま動く」ことを期待するのと同様に、CSSも「そのまま動く」ことを期待します。
過去には、EPUBは特定のプロパティのサポートを義務付け、多数の他のプロパティに対して 接頭辞付きバージョンを提供するCSSのプロファイルを定義していました。CSS Working Groupは もはや接頭辞付きプロパティの使用を推奨していませんが、この仕様は既存のコンテンツを壊さないように いくつかの接頭辞付きプロパティを維持しています。しかし、このセクションで定義される軽微な例外を除き、 EPUBはCSSの定義をW3Cに委ね、 リーディングシステムが主要ブラウザーのレベルで それをサポートすることを期待します。
リーディングシステムはCSS snapshotで定義されるCSS [epub-rs-34]をサポートすることが期待されていますが、 実際には、ほとんどのリーディングシステムは現在、CSSの望ましい機能すべてをサポートしているわけではなく、 EPUB出版物で定義された既定の提示をしばしば変更し、ユーザーが変更できるようにします。 その結果、スタイリングはこれらの実情に適応する必要があります。詳細については、7.4.1.3 リーディングシステムのサポートに関する考慮事項を参照してください。
CSSスタイルシートは:
次の例外を除き、任意のCSSプロパティを含んでもMAYよいです:
direction
プロパティ [css-writing-modes-3]を
含んではMUST NOTなりません。
unicode-bidi
プロパティ [css-writing-modes-3]を
含んではMUST NOTなりません。
古い接頭辞付き プロパティを含んでもMAYよいです。
UTF-8または UTF-16 [unicode]で符号化されなければMUSTならず、 UTF-8がRECOMMENDEDされる符号化です。
この仕様は、リーディングシステムがCSS処理を
実装しない、または無効にする可能性があるため、directionおよび
unicode-bidiプロパティの使用を制限します。レンダリングのこれらの側面を制御する必要がある場合、
次の形式固有の方法を使用する必要があります:
このセクションは非規範的です。
次のCSS機能のサポートは、EPUBリーディングシステムで特に問題があることが知られています:
リーディングシステムによるページ分割は、リーディングシステムが列を使用してページ分割する場合があるため、 スタイルシートとうまく相互作用しないことがあります。これにより、ビューポートサイズに対して不正確な値が 生じる可能性があります。固定配置および絶対配置は特に問題があります。
一部の種類の画面では、アニメーションおよびトランジションのレンダリングが不十分になることがあります (例えば、遅延が大きいもの)。
リーディングシステムは通常、EPUB出版物のスタイルの一部 (例えば、アプリケーションに適した余白の設定)を設定し、既定の指示を上書きする可能性があります。 競合および潜在的なレンダリング問題を軽減するため、リーディングシステムのユーザーエージェントスタイルシートが 公開されている場合は、それらを参照し、最適な表示のためにスタイリングの選択を適応させることが推奨されます。
さらに、ユーザーが外観を変更できるリーディングシステム(例えば、フォント、テキスト揃え、または前景色と背景色の
選択)も、EPUB出版物内の一部のCSSレンダリング指示を変更します。CSSの優先順位規則のため、
EPUBコンテンツ文書内で[html]の
style
属性の使用を制限し、ユーザー体験に悪影響が生じないようにすることが望ましいです
(すなわち、ユーザーのスタイル選択が普遍的に適用されない状況を避ける)。一部のリーディングシステムは
インラインスタイルを上書きしますが、そのような動作は保証されません。
EPUBコンテンツ文書は、
それぞれの基礎仕様([html]および[svg])で定義される
機能を使用してスクリプティングを含んでもMAYよいです。EPUB
コンテンツ文書がスクリプティングを含む場合、この仕様ではそれをスクリプト付きコンテンツ文書と呼びます。この
ラベルは、[html]の
form
要素を含むXHTMLコンテンツ文書にも適用されます。
scriptedプロパティは、マニフェストの
item要素において、EPUBコンテンツ文書がスクリプト付きコンテンツ文書であることを
示すために使用されます。
[html]のscript要素がデータ
ブロック [html]を含む場合、それはスクリプト付きコンテンツを表しません。
[svg]は公開時点でデータブロックを定義していませんが、 将来の更新でこの概念が追加された場合、同じ除外が適用されます。
リーディングシステムは、各EPUB出版物に一意なオリジン [html]が割り当てられているかのように 振る舞う必要があることに注意してください。実際には、これはスクリプトがEPUB出版物間でデータを 共有できないことを意味します。
スクリプトがどのコンテキストで使用されるかも、 リーディングシステムがそれに課す権利および制約を決定します(詳細については、Scripting [epub-rs-34]を参照してください)。
リーディングシステムは、他のEPUB機能を無効にし、および/または異なるレンダリングと ユーザー体験を提供する方法で、スクリプト付きコンテンツ文書をレンダリングする場合があります (例えば、ページ分割を無効にすることによって)。
EPUB 3は、スクリプト実行のための2つのコンテキストを定義します:
iframe
要素内で発生する場合; および
スクリプトは他のコンテキストで実行できますが、これらのコンテキストに対するリーディングシステムのサポートは
任意です。例えば、スクリプト付きSVG文書が[html]の
object
要素から参照される場合があります。
詳細については、スクリプトの処理 [epub-rs-34]を参照してください。
コードがscript要素に直接埋め込まれているか、その要素のsrc属性を介して
参照されているかは、その実行コンテキストに違いをもたらしません。
スクリプトに使用されるコンテキストは、スクリプトが実行できる操作と、リーディングシステムでの サポートの可能性の両方に影響します。これは以下のサブセクションで説明します。
2つのコンテキストの違いの例については、A.2 スクリプティングコンテキストを参照してください。
コンテナー制約付きスクリプトとは、次のいずれかです:
[html]の
script
要素のインスタンスで、[html]の
iframe
要素を使用してXHTMLコンテンツ文書に埋め込まれたXHTMLコンテンツ文書に含まれるもの。
[svg]のscript
要素のインスタンスで、[html]の
iframe
要素を使用してXHTMLコンテンツ文書に埋め込まれたSVGコンテンツ文書に含まれるもの。
コンテナー制約付きスクリプトは、それを埋め込む
EPUBコンテンツ文書のDOMを変更する命令
(すなわち、iframe要素を含む文書)を含んではMUST
NOTなりません。また、その包含矩形のサイズを操作する
命令を含んでもMUST NOTなりません。
リーディングシステムにおける コンテナー制約付きスクリプティングのサポートは、リフロー可能文書でのみ推奨され [epub-rs-34]、固定レイアウト文書では任意であることに注意してください。
コンテナー制約付きスクリプトは、スクリプティングサポートのないリーディングシステムでも 優雅に劣化するようにしてください(7.4.2.5 スクリプティングフォールバックを参照)。
スクリプティングの使用をコンテナー制約付きモデルに制限することを選択すると、スクリプト付きコンテンツと スクリプトなしコンテンツの間でより一貫したユーザー体験を確保できます (例えば、一貫したページ分割動作)。
スパインレベルスクリプトとは、トップレベルコンテンツ文書に
含まれる、[html]の
script
または[svg]のscript
要素のインスタンスです。
リーディングシステムにおけるスパインレベル スクリプティングのサポートは、固定レイアウト文書 およびスクロールに設定されたリフロー可能文書 [epub-rs-34]でのみ推奨されることに注意してください。 さらに、その他すべてのコンテキストにおけるリーディングシステムのサポートは任意です。
スパインレベル スクリプティングを含むトップレベルコンテンツ文書は、 スクリプティングが無効または利用不可の場合でも、情報の損失またはその他の 重大な劣化なしにユーザーが利用可能なままであるべきですSHOULD (例えば、プログレッシブエンハンスメント技法またはフォールバックを用いることによって)。トップレベル コンテンツ文書でスクリプトなし環境を考慮しないと、EPUB出版物が読めなくなる可能性があります。
このセクションは非規範的です。
リーディングシステム実装には 幅広い可能性があるため、EPUB 出版物にスクリプティング機能を追加する際には考慮する必要があります(例えば、すべてのデバイスが 物理キーボードを持つわけではなく、多くの場合、ソフトキーボードはテキスト入力要素でのみ有効になります)。 したがって、キーボードイベントだけに依存せず、目的のアクションをトリガーする代替手段を常に提供してください。
スクリプティングを含むEPUBコンテンツ文書は、 コンテンツがすべてのユーザーに利用可能なままであることを確保するために、関連する[wai-aria] アクセシビリティ技法を用いるべきですSHOULD。
スクリプティングを含むEPUBコンテンツ文書は、そのようなコンテンツに対する
フォールバックを提供してもMAYよいです。これは、
[html]の
object
および
canvas
要素で利用可能なものなどの固有のフォールバック機構を使用するか、固有の
フォールバックが適用できない場合はマニフェストレベルの
フォールバックを使用することによって行います。
スクリプトは、コアメディア型リソースまたはそのフラグメントのみを生成しなければMUSTなりません。
構造セマンティクスは、要素が果たす特定の構造的目的について追加の意味を加えます。
epub:type
属性は、EPUBコンテンツ文書内でドメイン固有の
セマンティクスを表現するために使用され、それが保持する構造情報は基礎となる
語彙を補完します。また、再生されるコンテンツの意味構造を反映するために、メディアオーバーレイ文書でも使用できます。
適用されるセマンティクスは、類似の
role
属性 [html]を使用する場合のように、支援技術に対する性質を
変えることなく、それらを含む要素の意味を精緻化します。言い換えれば、この属性はコンテンツの
アクセシビリティを向上させるものではなく、目的についてのヒントを提供するだけです。
意味メタデータは、出版ワークフローおよび作成者定義の目的で使用するためにコンテンツを豊かにします。 また、リーディングシステムが 文書の構造と内容についてさらに知ることを可能にします(例えば、メディアオーバーレイで スキップ可能性およびエスケープ可能性を有効にするため)。
この仕様は、属性軸を使用して構造セマンティクスを追加する方法を定義します:
新しい要素を追加するのではなく、既存の要素にepub:type属性を追加して、
望ましいセマンティクスを付与できます。
epub:type
http://www.idpf.org/2007/ops
XHTML、SVG、およびメディアオーバーレイの要件を参照してください。
空白区切り [xml]の コンパクトURLの一覧。 5.3 語彙関連付けメカニズムで定義される制限を伴います。
epub:type属性は、
role
属性 [html]と性質が似ていますが、これらの属性は異なる目的を果たします。
epub:type属性の値は、スクリーンリーダーのような支援技術によるアクセスを
向上させません。これは、それらがこれらの技術で使用されるアクセシビリティ
APIにマッピングされないためです。
つまり、[html]の
div
や
span
のような意味的に中立な要素にepub:type値を追加しても、それらが支援
技術に対してよりアクセシブルになるわけではありません。支援技術がそのような要素をどのように
理解するかに影響するのはARIAロールのみです。
したがって、epub:type属性は出版セマンティクスおよびリーディングシステム
拡張のみを意図しています。リーディングシステムは、
支援技術との相互作用が不可欠でない場合に、内蔵の読み上げやメディアオーバーレイ機能のような
アクセシビリティ拡張を提供するためにepub:type値を使用できます。
アクセシブルな出版ロールの詳細については、Digital Publishing WAI-ARIA Module [dpub-aria]を参照してください。
epub:type属性は、それが現れる要素にセマンティクスを付与します。
その値は、文書インスタンスに関連付けられた外部語彙に由来する、1つ以上の空白区切りの用語です。
epub:type属性の既定語彙は、EPUB 3
Structural Semantics Vocabulary [epub-ssv-11]です。その
プロパティを参照するための接頭辞
URLはhttp://idpf.org/epub/vocab/structure/#です。
この語彙の一部ではない接頭辞なしの用語を使用してもMAYよいですが、 カスタムセマンティクスを追加するための推奨される方法は、それらに接頭辞を使用することです。 詳細については、5.3 語彙 関連付けメカニズムを参照してください。
このセクションは非規範的です。
EPUB 3は主に視覚的な読書形式と考えられていますが、EPUB 出版物は、その音声レンダリングを可能にするように設計されています。これを実現する主な方法は2つあります:
テキスト読み上げレンダリングを介してEPUB出版物を読む体験は、組み込みの合成音声を使用するユーザーの リーディングシステムによって制御されます。 この機能は一般に「読み上げ」機能と呼ばれますが、正確な名称はリーディングシステムごとに異なる場合があります。
EPUB 3リーディングシステムが提供する読み上げ機能は、音声支援を必要とする障害のあるユーザーの アクセシビリティを向上させますが、専用の支援技術(一般にスクリーンリーダーと呼ばれるもの)が提供する テキスト読み上げレンダリングとは同じではありません。読み上げ機能は、別個のアプリケーションとしてではなく、 リーディングシステム内に存在するため、すべてのユーザーによる使用を目的として設計されています。 例えば、移動中の人が乗り物酔いを避けるために、視覚的読書から聴覚的読書へ切り替える場合があります。 どちらの種類のテキスト読み上げレンダリングもユーザーのシステム上に存在でき、どちらもEPUB出版物の読書に 使用できますが、この仕様はリーディングシステムが提供する組み込み機能のみに焦点を当てています。
一方、メディアオーバーレイは、EPUB出版物の制作者が音声を提供し、それをテキストと同期させることに依存します。 メディアオーバーレイにより、EPUB出版物はより伝統的なオーディオブックとしても機能できますが、 音声が再生されている間、ユーザーがテキストを読みながら追えるという利点があります。
メディアオーバーレイは通常、プロによるナレーションを提供するために使用されますが、これは慣例にすぎません。 コンテンツのテキスト読み上げ再生も録音してメディアオーバーレイで同期できますし、人間の音声と合成音声が 混在することもよくあります(例えば、本文は人間によるナレーション、後付けは人間が読むには退屈で時間がかかるため 合成ナレーションにするなど)。また、メディアオーバーレイを使用して、リーディングシステムが関連するテキストを 読むためにそのテキスト読み上げ機能を使用するよう指定することも可能ですが、 実際にはこの機能は十分にはサポートされていません。
メディアオーバーレイ再生とテキスト読み上げ再生は、相互に排他的な機能ではありません。メディアオーバーレイを介して 録音済みナレーションを含むEPUB出版物であっても、ユーザーは自分のリーディングシステムの読み上げ機能を使用して 読むことができます。
このセクションは非規範的です。
現在、テキスト読み上げ再生の品質を向上させるために広くサポートされている技術はありません。 EPUB 3の当初の設計では、3つの技術を利用することを意図していました:
これらの技術の将来は不確かですが、いずれもEPUB出版物で使用することは有効です。 EPUB SSML属性は、EPUB 3の現在の目標が可能な限りウェブでサポートされる技術を使用することであるため、 サポートされるようになる可能性が最も低いものです。ウェブに適した方法でSSMLサポートを追加する 作業が広く受け入れられれば、これらの属性の後継となる可能性があります。発音辞書は限定的かつ地域的な サポートしか得られていません。また、将来の作業によってCSS Speechがより限定的な形で復活する可能性も ありますが、これも作業中です。
これらの技術およびEPUB 3での使用方法の詳細については、 EPUB 3 Text-to-Speech Enhancements 1.0 [epub-tts-10]を参照してください。
このセクションは、これらまたは他の技術がEPUB出版物で広く利用可能になるたびに更新されます。
現時点で、リーディングシステムにおけるテキスト読み上げ再生を改善するための最善の助言は、 EPUB出版物が[epub-a11y-12]に従って アクセシブルであることを確保することです。これにより、構造とセマンティクスが再生時にリーディングシステムを 支援できるようになり、視覚的コンテンツを認識できないユーザーのためにテキスト代替が利用可能になります。
このセクションは非規範的です。
一般向け電子書籍、教育用ツール、および印刷物を読むことに困難のある人向けに整形された電子書籍は、 同期された音声ナレーションを含む作品の例です。EPUB 3では、これらの種類の本は、録音済み音声 ナレーションのタイミングと、それがEPUBコンテンツ文書のマークアップにどのように 関連するかを記述するメディアオーバーレイ文書を使用して作成できます。この仕様は、メディアオーバーレイの ファイル形式を、XMLで同期マルチメディア情報を表現するためのW3C勧告である[smil3]の サブセットとして定義します。
メディアオーバーレイによって可能になるテキストと音声の同期は、従来の本のテキストを追うことが難しい すべてのユーザーに対してアクセシビリティを高めます。メディアオーバーレイはまた、何らかの理由で テキストを読むことができない読者に対して、従来の音声埋め込み技法では提供できない連続した聴取体験を 提供します。これは、従来アクセシビリティ上の関心事とはみなされていない目的(例えば語学学習)にも有用です。
メディアオーバーレイ機能は、この機能をサポートしないEPUB リーディングシステムに対して透過的です。EPUB 出版物にメディアオーバーレイを含めても、メディアオーバーレイを認識しないリーディングシステムが、 メディアオーバーレイが存在しないかのようにEPUB出版物をレンダリングする能力には影響しません。
EPUBにおけるメディアオーバーレイはオーディオブックと同等ではありません。オーディオブックは主に 音声ベースであり、テキストは代替形式として時折提供されるためです。W3Cの[audiobooks] 勧告は、音声出版物を構築するためのものです。
この仕様の将来のバージョンでは動画メディアのサポート(例えば、同期テキスト/手話本)を取り入れる可能性がありますが、 このバージョンでは音声メディアとEPUBコンテンツ文書の同期のみをサポートします。
F.3 メディアオーバーレイ スキーマで定義されるメディアオーバーレイ スキーマに対して有効であり、9.3.2.2 メディアオーバーレイ文書定義で表現される すべてのコンテンツ適合制約に適合しなければMUSTなりません。
複数の EPUBコンテンツ 文書を参照してもMAYよいですが、複数のメディアオーバーレイ文書が同じ EPUBコンテンツ文書を参照してはMUST NOTなりません。
このセクションで定義されるすべての要素 [xml]は、
別途指定がない限り
http://www.w3.org/ns/SMIL名前空間 [xml-names]にあります。
smil要素は、メディアオーバーレイ文書内のすべての情報を包含します。
smil
version
[必須]
メディアオーバーレイ文書が準拠する[smil3] 仕様のバージョン番号を指定します。
この属性は値「3.0」を持たなければMUSTなりません。
id
[任意]
epub:prefix
[任意]
追加のメタデータ語彙接頭辞を宣言します。
詳細については、9.3.3.3 オーバーレイにおける構造セマンティクスを 参照してください。
この順序で:
head要素は、メディアオーバーレイ文書内のメタデータのコンテナーです。
この仕様は、メディアオーバーレイ文書内に現れなければならないメタデータプロパティを定義しないため、
head要素はOPTIONALです。
metadata要素は、メディアオーバーレイ文書のメタデータを表します。
metadata要素は、任意のメタ情報構造化言語からメタデータを含めることを可能にする
拡張ポイントです。
metadata
head
要素の子として。
なし
任意の名前空間の要素[0個以上]
この仕様は、メディアオーバーレイ文書内のいかなるメタデータプロパティも要求しません。
metadata要素はカスタムメタデータ要件のために提供されます。
body要素は、
メディアオーバーレイ文書に含まれるプレゼンテーションの
開始点です。これは
par
および
seq
要素の主シーケンスを含みます。
body
body要素は、
smil
要素のREQUIREDな子です。それは、
head
要素が存在する場合、その要素に続きます。
epub:type
[任意]
対応するEPUB コンテンツ文書内の要素の構造セマンティクスの表現。
値は、空白区切りのコンパクトURLの一覧です。 詳細については、9.3.3.3 オーバーレイにおける構造セマンティクスを 参照してください。
id
[任意]
epub:textref
[任意]
関連するEPUBコンテンツ文書を参照し、任意でその特定の部分を識別します。
値は、path-relative-scheme-less-URL
stringでなければMUSTならず、任意で
U+0023 (#)とURL-fragment
stringが続きます。
任意の順序で:
少なくとも1つのparまたは
seqを含まなければMUSTなりません。
seq要素は、メディアオブジェクトおよび/または子時間コンテナーのための
順次時間コンテナーです。
seq
epub:type
[任意]
対応するEPUB コンテンツ文書内の要素の構造セマンティクスの表現。
値は、空白区切りのコンパクトURLの一覧です。 詳細については、9.3.3.3 オーバーレイにおける構造セマンティクスを 参照してください。
id
[任意]
epub:textref
[必須]
関連するEPUBコンテンツ文書を参照し、 任意でその特定の部分を識別します。
値は、path-relative-scheme-less-URL
stringでなければMUSTならず、任意で
U+0023 (#)とURL-fragment
stringが続きます。
詳細については、9.3.3.2.1 オーバーレイ構造を参照してください。
任意の順序で:
少なくとも1つのparまたは
seqを含まなければMUSTなりません。
par要素は、メディアオブジェクトのための並列時間コンテナーです。
par
epub:type
[任意]
対応するEPUB コンテンツ文書内の要素の構造セマンティクスの表現。
値は、空白区切りのコンパクトURLの一覧です。 詳細については、9.3.3.3 オーバーレイにおける構造セマンティクスを 参照してください。
id
[任意]
任意の順序で:
text要素は、EPUBコンテンツ文書内の要素を参照します。
text要素は通常、テキスト要素を参照しますが、他の
EPUBコンテンツ文書
メディア要素を参照することもできます。兄弟の
audio
要素が存在しない場合、リーディングシステムは、
この要素によって参照されるテキストコンテンツをテキスト読み上げによって
レンダリングすることが期待されます。
text
par
要素のREQUIREDな子として。
src
[必須]
関連するEPUBコンテンツ文書を参照し、任意でその特定の部分を識別します。
値は、path-relative-scheme-less-URL
stringでなければMUSTならず、任意で
U+0023 (#)とURL-fragment
stringが続きます。
id
[任意]
空
この仕様は、text要素のsrc属性に制限を課しませんが、
スタイル情報との関連付けを有効にするため、CSSでスタイル付け可能な
コンテンツを参照することが推奨されます。XHTMLの場合、これは知覚可能コンテンツを参照することを意味します。
SVGの場合、これはパス、基本図形、またはテキスト要素を参照することを意味します。
[epub-rs-34]は、時間指定メディアの
再生(すなわち、参照されたメディアの自動開始)について、リーディングシステム向けのガイダンスを
もはや提供していません。text要素のsrc属性は、埋め込まれた
時間指定メディア(例えば、[html] video
要素を介したもの)を参照できますが、そのようなメディアの参照は予測できない結果を
もたらす可能性があります。
audio要素は、音声メディアのクリップを表します。
audio
par
要素のOPTIONALな子。
id
[任意]
src
[必須]
音声ファイルへのrelative-またはabsolute-URL string [url]参照。音声ファイルは コアメディア型リソース表に列挙されている音声形式の いずれかでなければMUSTなりません。
可変ビットレートでエンコードされたMP3(audio/mpeg)音声ファイル
[mp3]は、
シーク精度が一般に音声トラックの長さと反比例するため、正確なシークにはあまり適していません。
したがって、可変ビットレートMP3音声はメディアオーバーレイに使用すべきではSHOULD NOT
ありません。
clipBegin
[任意]
音声クリップの開始点に対応する、物理メディア内のオフセットを指定するクロック値。
A.4 クロック値を参照してください。
clipEnd
[任意]
音声クリップの終了点に対応する、物理メディア内のオフセットを指定するクロック値。
A.4 クロック値を参照してください。
終了位置の時間的オフセットは、clipBegin属性で指定された
開始オフセットより後でなければMUSTなりません。
空
このセクションは非規範的です。
出版物の録音済みナレーションは、一連の音声クリップとして表現できます。各クリップは EPUBコンテンツ文書の一部に対応します。例えば、 単一の音声クリップは通常、単一の句または段落を表しますが、他のクリップや文書内のテキストに対する 順序は推論しません。メディアオーバーレイは、[smil3] マークアップを使用して、構造化された音声ナレーションをEPUBコンテンツ文書内の対応するテキスト(または他の メディア)に結び付けることで、この同期の問題を解決します。実際、メディアオーバーレイは SMIL 3.0の簡略化されたサブセットであり、これらのクリップの再生シーケンスを定義します。
メディアオーバーレイの構造化に主に使用されるSMIL要素は、
body
(主シーケンスに使用)、
seq
(シーケンス)および
par
(並列)です。(これらおよび他のSMIL要素の詳細については、9.3.2.2
メディアオーバーレイ文書定義を参照してください。)
par要素はメディアオーバーレイの基本構成要素であり、EPUBコンテンツ文書内の
句に対応します。この要素は、コンテンツを同期するための2つの重要な情報を提供します:
1) その句のナレーションを含む音声クリップ; および 2)
関連するEPUBコンテンツ文書フラグメントへのポインター。par要素は、
この情報を表すために2つのメディア要素の子を使用します:
audio
要素および
text
要素です。par要素のメディアオブジェクトの子は並列に時間指定されるため、
リーディングシステムは音声クリップとEPUBコンテンツ文書フラグメントを同時にレンダリングし、
同期されたプレゼンテーションをもたらします。
text要素のsrc属性は、関連する句、文、またはEPUBコンテンツ文書の
その他のセグメントをURL [url]参照によって参照します。
audio要素のsrc属性も同様に、対応する音声クリップの場所を参照し、
クリップ内の特定のオフセットを示すためにclipBeginおよびclipEnd属性を追加します。
par要素は、句や文の系列を形成するために順次まとめて配置されます。
EPUBコンテンツ文書のすべての要素がメディアオーバーレイ文書内に対応する
par要素を持つわけではなく、音声ナレーションに関連するものだけが持ちます。
par要素は、部や章など、より複雑な構造を定義するためにseq要素に
追加することもできます(9.3.3.2.1
オーバーレイ構造を参照)。
このセクションでは、EPUBコンテンツ文書は XHTMLコンテンツ 文書であると仮定します。メディアオーバーレイはSVGコンテンツ 文書とともに使用できますが、再生 動作は一貫しない可能性があり、したがって相互運用性は保証されません。
リフロー可能および固定レイアウトのEPUBコンテンツ文書の両方について、リーディングシステムの再生サポートは 保証されません。リーディングシステムのページ分割戦略の違いにより、一部のリーディングシステムは、 いずれか一方のレイアウト形式でのみメディアオーバーレイをサポートする場合があります。
メディアオーバーレイ
文書の
body
は、2つの要素で構成されます:
par
要素および
seq
要素です。これらの要素の順序は、再生中にリーディングシステムが対応する
EPUBコンテンツ文書内の
コンテンツをどのようにレンダリングするかを表します。
par要素は、単語、句、文、表のセル、リスト項目、画像、またはマークアップ内の
その他の識別可能なコンテンツ片など、コンテンツのセグメントを表します。各要素は、再生中に
表示するコンテンツ(
text
要素内)と、同期する音声(
audio
要素内)の両方を識別します。
seq要素はシーケンスを表します — コンテンツの論理コンポーネントをまとめて表す
seqおよび/または
par要素の集合です。この要素は、セクション、傍注、ヘッダー、表、リスト、
脚注などのネストされたコンテナーを表すために使用されます。これにより、これらのコンテナーに
固有の構造をメディアオーバーレイ文書内に保持できます。
seq要素はepub:textref属性を含まなければMUSTなりません。
seq要素は同期指示を提供しないため、この属性により
リーディングシステムは
フラグメントをテキスト内の場所に対応付けることができます。
セクション、図、表、脚注などの構造をseq要素でグループ化する理由は、
リーディングシステムが再生中にそれらの開始位置と終了位置を識別できるようにするためです。
その後、リーディングシステムは、長い図を飛ばす、改ページ告知のレンダリングをオフにする
(9.3.4
スキップ可能性と
エスケープ可能性を参照)、または表などの構造に適した読書モードを
カスタマイズするなど、コンテンツのレイアウトに合わせた再生オプションを提供できます。
epub:textref属性および
text
要素のsrc
属性はどちらも、関連するEPUBコンテンツ文書の特定の部分(例えば、
IDによる要素)を参照するURL-fragment stringを含むことができます。
XHTMLおよびSVGコンテンツ文書については、URL-fragment stringは、それぞれIDによる特定の要素への参照、またはSVG Fragment Identifier [svg]であるべきですSHOULD。
他のフラグメント識別子スキームを使用してもMAYよいですが、リーディングシステムは そのような識別子をサポートしない可能性があります。
このセクションは非規範的です。
メディアオーバーレイの粒度レベルは、EPUBコンテンツ文書がどのようにマークアップされているか、
および
text
要素のsrc属性と
seq
要素のepub:textref
属性で使用されるフラグメント識別子の種類に依存します。例えば、[html]要素を
参照する場合、マークアップの最も細かいレベルが段落レベルであれば、それがメディアオーバーレイ同期の
可能な最小レベルになります。同様に、句や文を表す[html]
span
要素など、段落より細かいマークアップが利用可能であれば、メディアオーバーレイではより細かい粒度が
可能です。より細かい粒度は、単語または句単位で移動するときやテキスト検索時に、同期再生のより
正確な結果をユーザーに提供しますが、メディアオーバーレイ文書のファイルサイズを増加させます。
要素の存在に依存しないフラグメント識別子スキームは、サポートされる場合、さらに細かい粒度を
提供できる可能性があります。
この仕様は、録音済み音声クリップに加えて、テキスト読み上げ(TTS)— EPUB出版物の テキストコンテンツを合成音声を使用した人工的な人間の発話としてレンダリングすること — の使用を認めます。
メディアオーバーレイの
par
要素がその
audio
要素を省略する場合、その
text
要素はリーディングシステムでTTSを介してレンダリングできます。テキストフラグメントがTTSレンダリングに
適していない場合(例えば、テキスト要素ではない、かつ/またはテキストフォールバックがない場合)、
予期しない結果を生じる可能性があります。
EPUB出版物でTTS技術を使用する方法の詳細については、EPUB 3 Text-to-Speech Support [epub-tts-10]を 参照してください。
メディアオーバーレイ文書で構造セマンティクスを表現するために、
epub:type
属性を
par、
seq、
および
body
要素に指定してもMAYよいです。
epub:type属性は、示されたセマンティック種別に適したリーディングシステムの動作を促進します。
これらの動作の例には、スキップ可能性とエスケープ可能性、および
表読書モード
[epub-rs-34]があります。
メディアオーバーレイ文書は、追加の
セマンティクスを定義するために、epub:type属性に適用可能な語彙関連付けメカニズムを使用してもMAYよいです。
現在再生中のEPUBコンテンツ文書要素に対する視覚的レンダリング情報は、 作成者定義クラスを使用してCSSスタイルシートで表現してもMAYよいです。
使用する場合、クラス名はパッケージ文書内で、
active-classおよびplayback-active-classプロパティを使用して
宣言されなければMUSTなりません。
各プロパティで定義されるCSSクラス名はちょうど1つでなければMUSTなりません。 各プロパティは、セレクターを含まない有効なCSSクラス名 [css2]を 定義しなければMUSTなりません。この仕様は、これらのプロパティで使用する名前を 予約しません。
指定されたCSSクラスに対して任意のCSSプロパティを定義してもMAYよいです。 関連付けられたメディアオーバーレイ文書を持つ 各EPUBコンテンツ文書は、クラス定義を含むCSSスタイルシート(埋め込みまたはリンク)を含める必要があります。 そのような定義が存在しない場合、リーディングシステムは独自のスタイルを提供するか、 まったくスタイルを提供しない可能性があります。
active-classおよびplayback-active-classプロパティは、
常にEPUB出版物全体に
適用されるため、refines属性と併用してはMUST
NOTなりません。
EPUBコンテンツ文書が
メディアオーバーレイ文書によって全体または一部を
参照される場合、そのマニフェスト
item
要素は
media-overlay属性を指定しなければMUSTなりません。
この属性は、対応するメディアオーバーレイ文書のマニフェストitemの
ID [xml]を
参照しなければMUSTなりません。
media-overlay属性は、EPUBコンテンツ文書のマニフェスト
item要素にのみ指定されなければMUSTなりません。
メディアオーバーレイ文書のマニフェスト項目は、メディア型
application/smil+xmlを持たなければMUSTなりません。
EPUB出版物全体の長さは、
パッケージ文書内で、
durationプロパティを持つ
meta
要素を使用して指定されなければMUSTなりません。
さらに、各メディアオーバーレイ文書の長さは、
各duration宣言を対応するマニフェスト
itemに
関連付けるため、refines属性を使用して
提供されなければMUSTなりません。
各メディアオーバーレイ文書の長さの合計は、総再生時間と プラスマイナス1秒以内で等しくなるべきですSHOULD。
個別の長さの合計は、時刻を最も近い秒の小数部分に丸めるため、総再生時間と正確に一致しない場合がありますが、 1秒を超える差は、他の問題に起因する不一致を示します。
ナレーター情報も、narratorプロパティを使用して
パッケージ文書に指定してもMAYよいです。現在再生中の
EPUBコンテンツ文書
要素に適用する作成者定義のCSSクラス名も指定できます。
media:接頭辞は、これらのプロパティをパッケージメタデータに含めるために
予約されています。
読書中、ユーザーは脚注、ページ番号、またはその他の種類の二次コンテンツなど、コンテンツの特定の機能を
オンまたはオフにしたい場合があります。この機能はスキップ可能性と呼ばれます。リーディングシステムは、
メディアオーバーレイ要素のepub:type属性が
提供するセマンティック情報を使用して、スキップ可能な機能のオプションをユーザーにいつ提示するかを
判断します。
次のセマンティクスは、スキップ可能性を有効にするために使用してもMAYよいです:
ただし、この一覧は網羅的ではありません。これは、構造セマンティクス語彙 [epub-ssv-11]の用語のうち、 リーディングシステムがスキップ可能性のオプションを提供する可能性が最も高いものを表しています。
エスケープ可能項目とは、表やリストなど、ユーザーが飛ばして、ネストされた構造の直後の位置から 読書を続けたいと思う可能性があるネストされた構造です。エスケープ可能性機能は、項目の種類全体を 有効または無効にするのではなく、そこから抜け出す手段を提供する点で、スキップ可能性機能とは異なります (例えば、ユーザーは一部のコンテンツを聞いてからエスケープすることを選択できます)。
次のセマンティクスは、エスケープ可能性を有効にするために使用してもMAYよいです:
ただし、この一覧は網羅的ではありません。これは、構造セマンティクス語彙 [epub-ssv-11]の用語のうち、 リーディングシステムが エスケープ可能性のオプションを提供する可能性が最も高いものを表しています。
エスケープ可能な構造がエスケープ可能な構造を含む場合があります。例えば、表は多くの行とセルで 構成されており、ユーザーはそれらから個別にエスケープしたい場合があります。そのような構造から エスケープするためのリーディングシステムのサポートは複雑であり、現時点では十分にサポートされていません。 より良いサポートが利用可能になるまでは、ネストされたエスケープ可能構造を識別することは 避けることが推奨されます。
このセクションは非規範的です。
EPUB 3は、Open Web Platformの上に明示的に構築されており、それによって基盤技術に組み込まれた構造、 セマンティクス、ひいてはアクセシビリティを活用できるようにしています。
アクセシブルなウェブコンテンツを作成するための主要な標準には、次のものがあります:
アクセシブルなウェブコンテンツを作成するための要件と実践は、 [wcag2]に記載されています。
[wai-aria]仕様は、 ネイティブのHTML要素や属性を使用しない動的コンテンツをアクセシブルにするためのロール、状態、 プロパティを定義します。また、ウェブページをナビゲートするためのランドマーク一式も提供します。
[html-aria]は、ARIAおよびDPUB-ARIAで定義されたロール、 状態、プロパティをHTML文書でどのように使用できるかを規定します。
これらの標準は、EPUB 出版物をアクセシブルにするための基盤にもなります。ただし、現在のWCAGガイドライン(バージョン2)は ウェブページに強く焦点を当てているため、EPUB Accessibility標準 [epub-a11y-12]は、これらの標準をEPUB出版物に 適用する方法を定義し、メタデータ、ページ分割、メディアオーバーレイに関するEPUB固有の要件と推奨を 追加しています。
この仕様は、EPUB出版物が [epub-a11y-12]で定義される アクセシビリティ要件に適合することを推奨します。この推奨に従う利点は、 EPUB出版物が世界中の法域で制定されているアクセシビリティ要件を満たすことを確保しやすくなる点です。
法的要請の先を見据え、アクセシビリティをすべてのEPUB出版物の要件として扱うことが強く推奨されます。 EPUB出版物がよりアクセシブルであるほど、その潜在的な読者層は大きくなります。
この仕様は、アクセシビリティ要件を統合していません。これは、それらがEPUB仕様から独立して適応し、 発展できるようにするためです。アクセシビリティの実践は、より頻繁な更新を必要とすることが多いためです。 アクセシビリティ仕様は、過去、現在、将来のEPUBバージョンとともに使用されることも意図しています。 別個の仕様とするこの方式により、EPUBの進化がアクセシビリティを時間的に固定しないことが確保されます (すなわち、古いバージョンのEPUBの制作者が最新のアクセシビリティ要件を参照できるようになります)。
このセクションは非規範的です。
EPUB出版物の特徴は、その構造にあります。 EPUB形式は、HTML、CSS、SVG、JavaScript、およびその他のリソースを含む、構造化されセマンティクスが 強化されたウェブコンテンツを、単一ファイルのコンテナーで配布するために表現、パッケージ化、エンコードする 手段を提供します。
これは、EPUB 3のセキュリティおよびプライバシー上の問題が、主にそれらの形式の機能に結び付いており、 ウェブコンテンツが提示する脅威とよく似ていることを意味します。
コンテンツリスクは意図的に悪意のある作成意図と同一視されることがよくありますが、善意に基づいて 行われる多くの実践も、ユーザーをプライバシーおよびセキュリティ上の問題にさらす可能性があることに 注意してください。このセクションの残りでは、これらのリスクを認識し軽減するために、EPUB 3のリスクモデルを 探ります。
リーディングシステムに関連するリスクについては、 [epub-rs-34]の セキュリティとプライバシーのセクションを 参照してください。
このセクションは非規範的です。
EPUB出版物は、無防備なユーザーに対してさまざまなプライバシーおよび セキュリティ上の脅威をもたらします。これらの脅威の多くはウェブコンテンツと交差しますが、EPUBは、 ユーザーをだまして悪意のあるコンテンツにアクセスさせたり、機密情報を提供させたりするために使用できる、 独自の攻撃方法も導入しています。注意すべき主な攻撃ベクトルには、次のものがあります:
EPUB 3は、一部の出版物リソースを リモートでホストすることを許可します。具体的には、EPUB出版物の ダウンロードおよび開封に悪影響を与える可能性があるサイズのリソース(例えば、音声、動画、フォント)です。 意図されたとおりに使用される場合はユーザーにとって有用ですが、これらの例外は悪意のあるコンテンツを 出版物に注入するためにも使用される可能性があります。
この脅威は、悪意のある主体によって作成されたコンテンツへのアクセスに限定されません。信頼できない ソースからのコンテンツ(例えば、第三者の音声や動画)がEPUB出版物に埋め込まれている場合、 ユーザーが改ざんされたリソースを受け取る可能性は常にあります。
配布時にマルウェアやエクスプロイトを確認することも、常に信頼できるとは限りません。悪意のあるコンテンツは、 EPUBコンテナーに埋め込まれている リソースとは異なり、出版後いつでも差し替えられるためです。
EPUBのオリジンは各リーディングシステム実装に固有であり、
リーディングシステムの外部からは知ることができません。したがって、リモートリソースが安全なウェブサーバー上でホストされている場合でも、
CORS、Content-Security-Policy、
またはX-Frame-Optionsの
ヘッダーなど、許可されるオリジンを指定する必要があるセキュリティ機能を使用することはできません。
意図的か否かにかかわらず、外部ウェブサイトおよびリソースへのリンクは、ユーザーのリーディングシステムや オペレーティングシステムを侵害する可能性のあるエクスプロイトにユーザーをさらします。外部リンクは通常、 ウェブブラウザーで開かれ、ブラウザーのセキュリティモデルの対象になりますが、それでもすべての エクスプロイトからユーザーを保護できるわけではありません。
意図が悪意のあるものでなくても、外部リンクにトラッキング情報を追加することは、ユーザーの同意なしに ユーザーの活動を追跡できる可能性があるため、プライバシー上問題があります。
リンク切れハイジャック — ドメインの有効期限が切れ、別の当事者に購入され、そのリンクを悪用されること — も、ユーザーが意図しないリソースへ誘導される原因となる可能性があります。
EPUBコンテナーに埋め込まれたリソースも、特にEPUB出版物が信頼できないソースから取得される場合、 悪意のある主体から免れるわけではありません。リソースには、エクスプロイトや、機密情報を意図しない 当事者へ送信するフォームが含まれる可能性があります。そのような主体は、シンボリックリンクや ファイルエイリアスなどのファイル間接参照技法を使用して、リモートリソースへの アクセスを試みることもあります。
ゲームやクイズなどの第三者コンテンツの使用も、そのコンテンツを完全に精査できない場合、 セキュリティおよびプライバシー上の問題につながる可能性があります。
スクリプトがデバイスのネットワークにアクセスできる場合、ユーザーを悪用するためのさまざまな経路が 提供されます:
ネットワークアクセスは、第三者コンテンツがユーザーを悪用することも可能にします。
デジタル著作権管理方式を使用したEPUB出版物の暗号化および復号は、ユーザーに関する個人識別情報、 使用しているベンダー、および読書の選択を第三者に中継する可能性があります。透かしについても同様です。
これらの攻撃の有効性は、多くの場合、ユーザーが操作している出版物が信頼できるソースからのものだと 信じ込ませることにも依存します。これらの欺きは、次の形式を取る可能性があります:
EPUB出版物は、正当なソースからのものだとユーザーに信じ込ませるために、自身に関する虚偽の情報を 含むことができます。例えば、悪意のある主体は、その作品のタイトル、著者、識別子、出版社を偽造する 可能性があります。
この誤情報自体は直ちに害をもたらすものではありませんが、ユーザーが、そのEPUB出版物内の悪意のある フォーム、リンク、その他のコンテンツを、信頼できるソースから来たものだと信じて信用してしまう可能性があります。
悪意のある主体は、ユーザーをだまして自分のコンテンツを信用させるために、プラットフォームの体験を 模倣または複製するようにコンテンツを設計することもできます。
EPUB 3は、その基盤となる技術を拡張することを避けようとしていますが、いくつかの新しい機能を 導入しています。ただし、これらの機能の制限された範囲は、それらがもたらす可能性のある脅威を制限します:
コンテンツ切り替えおよびマルチメディア制御要素は、HTMLにおけるコンテンツの非表示と スクリプトなしの再生制御のみを許可します。さらに、EPUB 3.0の最初のリリースで導入されたこれらの機能は 非推奨であり、もはや使用は推奨されません。
HTMLおよびSVGにおける構造セマンティクスの表現は、 要素への注釈付けのみを許可します。
1つの潜在的な例外は、現在のリーディングシステムに関する
情報を照会できるepubReadingSystemオブジェクト
[epub-rs-34]です。このオブジェクトによって
公開される情報は、EPUB出版物のレンダリングを改善するためにのみ使用することが推奨されます
(すなわち、その情報を使用してユーザーやその環境をプロファイリングすることは避けてください)。
ユーザーを悪用するすべての方法を防ぐことはできませんが、コンテンツを安全に構築する責任はその作成者にあります。 そのためには、前のセクションで説明した種類の悪意のあるエクスプロイトに EPUB出版物がさらされることを制限するための予防策を 講じる必要があります。
実用的な手順には、次のものがあります:
ユーザーのプライバシー権も考慮し、意図的なデータ収集を避けてください。理想的には、ユーザーは 追跡されるべきではSHOULD NOTありませんが、すべての種類の出版において これは現実的ではありません。
ユーザーを追跡しなければならない場合(例えば、教育課程の課題において)、EPUB出版物を開く前に、 情報収集についてユーザーの承認を得るべきですSHOULD。それが不可能な場合、 ユーザーが初めてEPUB出版物にアクセスするときに許可を得るべきですSHOULD。 ユーザーには、追跡をオプトアウトすることを許可し、収集された自分に関するデータを管理および削除する能力を 提供すべきですSHOULD。
ユーザーに関する情報の意図しない収集も考慮する必要があります。出版社のウェブサイト上のコンテンツへの リンクや、出版社のサーバー上でのリソースのリモートホスティングは、特に一意のトラッキング識別子がURLに 追加されている場合、ユーザーのプロファイリングにつながる可能性があります。
EPUB出版物内でユーザー情報を収集および保存する場合(例えば、Cookieやウェブ ストレージ [html]の使用を通じて)、リーディングシステム上の他のEPUB出版物による データ窃取の可能性を考慮する必要があります。[epub-rs-34]はEPUB出版物に対して 一意のオリジン要件を導入しており、 攻撃の可能性を制限しますが、それでもリーディングシステムがEPUB出版物に共有永続ストレージへのアクセスを 許可するリスクは残ります(例えば、更新されていない古いリーディングシステムや、適合していない新しい リーディングシステム)。したがって、機密性の高いユーザーデータは永続ストレージに保存すべきでは SHOULD NOTありません。機密データを保存しなければならない場合、エクスプロイトが 発生した場合にそれへ簡単にアクセスされることを防ぐため、暗号化すべきですSHOULD。
デジタル著作権管理方式を使用しなければならない場合、暗号化または復号を実行するために、ユーザーや そのコンテンツに関する情報を外部の当事者へ利用または送信しない方式を優先してください。
透かしを使用しなければならない場合、Privacy Principles for Digital Watermarking [watermark-privacy]で 定義されているような、プライバシーに関する業界のベストプラクティスに従ってください。
セキュリティおよびプライバシーリスクを最大限低減するために、EPUB出版物は長期保存を目的として 制作されるべきですSHOULD。このように作成されたEPUB出版物は通常、 自己完結しており、ネットワークアクセスに依存せず、デジタル著作権管理で暗号化されていないため、 多くの可能な攻撃ベクトルを取り除きます。[iso22424]は、 EPUB出版物のためのそのような保存形式の例です。すべてのEPUB出版物がこれらの自己完結性の水準を 満たせるわけではないことは理解されますが、これらの実践を可能な限り多く従うことは、全体的な ユーザープライバシーおよびセキュリティに引き続き有益です。
このセクションは非規範的です。
パッケージ文書と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コンテンツ文書であり、コンテンツプレーン上には存在しません。フォールバックは不要です。
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
このリソースは発音辞書ファイルです。これはスパインには列挙されていませんが、[html]のlink要素から参照されています。これは
マニフェストプレーン上の出版物リソースであり、コンテナーリソースであり、スパインプレーン上には存在せず、
コンテンツプレーン上の免除リソースです。フォールバックは不要です。
image/image_1.png
このリソースはPNG画像ファイルです。これはスパインには列挙されていませんが、[html]の
img
要素から参照されています。これはマニフェストプレーン上の出版物リソースであり、コンテナー
リソースであり、スパインプレーン上には存在せず、コンテンツプレーン上のコアメディア型リソースです。
フォールバックは不要です。
image/image_2.png
このリソースはPNG画像ファイルです。これは[html]の
a
要素を介して参照されています。ハイパーリンクから参照されているため、スパインに列挙される
必要があります。これはマニフェストプレーン上の出版物リソースであり、コンテナーリソースであり、
スパインプレーン上の外部コンテンツ文書であり、コンテンツプレーン上の
コアメディア型リソースです。外部コンテンツ文書として、フォールバックは必須であり、
マニフェストフォールバックを介して提供されます。
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.7.2.2 例にあります。
次のパッケージ文書の例を考えてください:
<package …>
…
<manifest>
…
<item id="chap01"
href="scripted01.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="inset01"
href="scripted02.xhtml"
media-type="application/xhtml+xml"
properties="scripted"/>
<item id="slideshowjs"
href="slideshow.js"
media-type="text/javascript"/>
</manifest>
<spine …>
<itemref idref="chap01"/>
…
</spine>
…
</package>
および次のファイルscripted01.xhtml:
<html …>
<head>
…
<script type="text/javascript">
const te = navigator.epubReadingSystem.hasFeature("touch-events");
const te_message = te ? "passes" : "does not pass";
alert(`The reading system ${te_message} touch events to the content.`);
</script>
</head>
<body>
…
<iframe src="scripted02.xhtml" … />
…
</body>
</html>
および次のファイルscripted02.xhtml:
<html …>
<head>
…
<script type="text/javascript" href="slideshow.js"></script>
</head>
<body>
…
</body>
</html>
これらの例から、次のことが正しいと言えます:
scripted01.xhtmlのhead内のscript要素のコードは、
その文書がスパインから参照されているため、スパインレベル
スクリプトです; および
scripted02.xhtml内のscript要素のコードは、それが出現する
XHTML文書がiframe要素を介してscripted01.xhtmlに含まれているため、
コンテナー制約付きスクリプトです。
この例は、署名および暗号化されたEPUB出版物をOCF ZIPコンテナー内に含めるためのOCF形式の使用を示します。
OCF ZIPコンテナー内のファイルの順序付き一覧:
mimetype
META-INF/container.xml
META-INF/signatures.xml
META-INF/encryption.xml
EPUB/As_You_Like_It.opf
EPUB/book.html
EPUB/nav.html
EPUB/images/cover.png
mimetypeファイルの内容
application/epub+zip
META-INF/container.xmlファイルの内容
<?xml version="1.0"?>
<container
version="1.0"
xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile
full-path="EPUB/As_You_Like_It.opf"
media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
META-INF/signatures.xmlファイルの内容
<signatures
xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<Signature
Id="AsYouLikeItSignature"
xmlns="http://www.w3.org/2000/09/xmldsig#">
<!--
SignedInfo is the information that is actually signed.
In this case, the SHA-1 algorithm is used to sign the
canonical form of the XML documents enumerated in the
Object element below.
-->
<SignedInfo>
<CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
<Reference
URI="#AsYouLikeIt">
<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>
…
</DigestValue>
</Reference>
</SignedInfo>
<!--
The signed value of the digest above, using the DSA
algorithm
-->
<SignatureValue>
…
</SignatureValue>
<!--
The key used to validate the signature
-->
<KeyInfo>
<KeyValue>
<DSAKeyValue>
<P>…</P>
<Q>…</Q>
<G>…</G>
<Y>…</Y>
</DSAKeyValue>
</KeyValue>
</KeyInfo>
<!--
The list of resources to sign (note that the canonical
form of XML documents is signed, while the binary form
of all other resources is used)
-->
<Object>
<Manifest
Id="AsYouLikeIt">
<Reference
URI="EPUB/As_You_Like_It.opf">
<Transforms>
<Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>
</DigestValue>
</Reference>
<Reference URI="EPUB/book.html">
<Transforms>
<Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>
</DigestValue>
</Reference>
<Reference
URI="EPUB/images/cover.png">
<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>
</DigestValue>
</Reference>
</Manifest>
</Object>
</Signature>
</signatures>
META-INF/encryption.xmlファイルの内容
<?xml version="1.0"?>
<encryption
xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
xmlns:enc="http://www.w3.org/2001/04/xmlenc#"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<!--
The RSA-encrypted AES-128 symmetric key used to encrypt
data enumerated in EncryptedData blocks below
-->
<enc:EncryptedKey
Id="EK">
<enc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<ds:KeyInfo>
<ds:KeyName>
John Smith
</ds:KeyName>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherValue>
xyzabc…
</enc:CipherValue>
</enc:CipherData>
</enc:EncryptedKey>
<!--
Each EncryptedData block identifies a single resource
that has been encrypted using the AES-128 algorithm.
The data remains stored, in its encrypted form, in the
original file within the container.
-->
<enc:EncryptedData Id="ED1">
<enc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>
<ds:KeyInfo>
<ds:RetrievalMethod
URI="#EK"
Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherReference
URI="EPUB/book.html"/>
</enc:CipherData>
</enc:EncryptedData>
<enc:EncryptedData Id="ED2">
<enc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes128"/>
<ds:KeyInfo>
<ds:RetrievalMethod
URI="#EK" Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"/>
</ds:KeyInfo>
<enc:CipherData>
<enc:CipherReference
URI="EPUB/images/cover.png"/>
</enc:CipherData>
</enc:EncryptedData>
</encryption>
EPUB/As_You_Like_It.opfファイルの内容
<?xml version="1.0"?>
<package
version="3.0"
xml:lang="en"
xmlns="http://www.idpf.org/2007/opf"
unique-identifier="pub-id">
<metadata
xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:identifier
id="pub-id">
urn:uuid:B9B412F2-CAAD-4A44-B91F-A375068478A0
</dc:identifier>
<dc:language>
en
</dc:language>
<dc:title>
As You Like It
</dc:title>
<dc:creator
id="creator">
William Shakespeare
</dc:creator>
<meta
property="dcterms:modified">
2000-03-24T00:00:00Z
</meta>
<dc:publisher>
Project Gutenberg
</dc:publisher>
<dc:date>
2000-03-24
</dc:date>
<meta
property="dcterms:dateCopyrighted">
9999-01-01
</meta>
<dc:identifier
id="isbn13">
urn:isbn:9780741014559
</dc:identifier>
<dc:identifier
id="isbn10">
0-7410-1455-6
</dc:identifier>
<link
rel="xml-signature"
href="../META-INF/signatures.xml#AsYouLikeItSignature"/>
</metadata>
<manifest>
<item id="r4915"
href="book.html"
media-type="application/xhtml+xml"/>
<item id="r7184"
href="images/cover.png"
media-type="image/png"/>
<item id="nav"
href="nav.html"
media-type="application/xhtml+xml"
properties="nav"/>
</manifest>
<spine>
<itemref
idref="r4915"/>
</spine>
</package>
許可されるクロック値の例を次に示します:
5:34:31.396 = 5時間、34分、31秒、396ミリ秒
124:59:36 = 124時間、59分、36秒
0:05:01.2 = 5分、1秒、200ミリ秒
0:00:04 = 4秒
09:58 = 9分58秒
00:56.78 = 56秒、780ミリ秒
76.2s = 76.2秒 = 76秒、200ミリ秒
7.75h = 7.75時間 = 7時間45分
13min = 13分
2345ms = 2345ミリ秒
12.345 = 12秒、345ミリ秒
次の表は、公開および システム 識別子 [xml] のうち、文書型宣言で許可されるものを列挙しています。 [xml]
これらの外部識別子は、出版物リソースのうち、マニフェスト宣言で指定された、列挙された メディア型 [rfc2046] を 持つものに限って使用してもMAYよいです。(詳細については、3.9 XML適合性を参照してください。)
| メディア型 | 公開識別子 | システム識別子 |
|---|---|---|
|
-//W3C//DTD MathML 3.0//EN
|
http://www.w3.org/Math/DTD/mathml3/mathml3.dtd
|
application/x-dtbncx+xml
|
-//NISO//DTD ncx 2005-1//EN
|
http://www.daisy.org/z3986/2005/ncx-2005-1.dtd
|
image/svg+xml
|
-//W3C//DTD SVG 1.1//EN
|
http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd
|
このセクションは非規範的です。
EPUB 3の以前のバージョンで使用されていたviewport metaタグのSafari
HTML定義は、公式に認識された標準ではないため、この仕様は、XHTML固定レイアウト文書の
幅と高さの寸法を表現できるようにする基本構文を定義します。
この文法の構文は、[css-viewport-1]で定義されるviewport
metaタグの解析アルゴリズムにも影響を受けています。
すべての可能なプロパティと値を定義することはこの仕様の範囲外であるため、構文は意図的にできる限り汎用的に 残されています。これは、プロパティと値のペアを定義するための基本要件、および式の間で可能な区切りだけを 定義します。
XHTML固定レイアウト文書では、viewport
metaタグ [html] は、次の定義に
適合するname属性およびcontent属性を持たなければMUSTなりません:
name
属性 [html] の値は、viewportでなければMUSTなりません。
空白
正規化 [xml]後の
content
属性 [html] の値は、次の形式でなければMUSTなりません:
| viewport | = | property, { sep, property } ; |
| property | = | name, [ assign, value ] ; |
| name | = | ? character data ? ; |
| value | = | ? character data ? ; |
| sep | = | sep-char, { sep-char } ; |
| sep-char | = | ( ";" | "," | space ) ; |
| assign | = | [ space ], "=", [ space ] ; |
| space | = | #x20 ; |
プロパティの名前および値に対する唯一の制限は、区切り文字または代入文字を含んではならないMUST NOTことです。
このセクションの作成要件は、空白正規化 [xml]の 後に適用されます(すなわち、リーディングシステムが先頭および末尾の空白を取り除き、属性内の複数の空白の すべてのインスタンスを単一の空白へ圧縮した後)。作成されたタグには、この定義に対して結果が有効である限り、 任意の空白文字 [xml]を含めてもMAYよいです。
[html]
文法によってmeta要素に許可されるその他の属性には制限はありません。
heightおよびwidthプロパティとその期待値の指定に関する詳細については、
7.3.2
固定レイアウト文書の寸法を参照してください。
viewport metaタグは、heightおよびwidth以外のプロパティの使用、
ならびにheightおよびwidthの値の省略を許可しますが、そのような使用は
強く非推奨です。他のプロパティを設定すると、固定レイアウト文書のレンダリングに意図しない結果を
もたらす可能性があります。
この付録は、この仕様の属性が語彙の用語を参照できるようにする一般的なメカニズム一式を定義します。 また、それらの属性で使用するためのEPUB固有の語彙も定義します。
語彙定義表のフィールドには、次の暗黙の要件があります:
[xmlschema-2]データ型を
使用して、REQUIREDな値の型を指定します。データ型は
xsd:接頭辞を使用して宣言されます。
そのプロパティを指定してもMAYよい出版物リソース型を指定します。
このフィールドは、properties属性で使用される
プロパティに現れます。
そのプロパティを、グローバルに、または別の要素やプロパティに付加して指定してもMAYよい回数を指定します。
最小カーディナリティが1のプロパティは指定されなければMUSTなりません。
プロパティの目的を説明し、従わなければならない追加の使用要件を指定します。
非規範的な使用例を提供します。
そのプロパティを関連付けてもMAYよいメタデータを識別します。
メタデータ内に現れなければならないMUSTプロパティ名を指定します。
この語彙のプロパティは、
meta
要素のproperty属性で使用できます。
「Extends」フィールドで別途示されていない限り、このセクションで定義されるプロパティは
部分式を定義するために使用されます。言い換えれば、このセクションで
定義されるプロパティを持つ
meta
要素は、拡張されるリソースまたは式を参照する
refines属性を持たなければMUSTなりません。
これらのプロパティを参照するための接頭辞URLは、
http://idpf.org/epub/vocab/package/meta/#です。
| 名前: |
alternate-script
|
|---|---|
| 説明: |
このプロパティは通常、国際化目的で |
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or more
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
belongs-to-collection
|
|---|---|
| 説明: |
各コレクションのインスタンスには、 コレクションは、 コレクション内でのEPUB出版物の位置は、 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or more
|
| 拡張対象: | EPUB出版物に適用され、自身の他のインスタンスを精緻化できます。 |
| 名前: |
collection-type
|
|---|---|
| 説明: |
この仕様は、スキームが指定されていない場合、次のコレクション型も定義します:
注記
リーディング システムがこれらの値をサポートする必要はありませんが、指定することで、関連する EPUB 出版物をより意味のある方法でグループ化する選択肢を提供します。 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or one
|
| 拡張対象: |
belongs-to-collection
|
| 名前: |
display-seq
|
|---|---|
| 説明: |
このプロパティは、優先順位規則がまだ定義されていない場合にのみ適用されます (例えば、creatorには文書順での出現に基づいて 優先順位が与えられます)。 |
| 許可値: |
xsd:unsignedInt
|
| カーディナリティ: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
file-as
|
|---|---|
| 説明: | file-asプロパティは、並べ替えのために、関連付けられたプロパティの正規化された形式を
提供します。 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
group-position
|
|---|---|
| 説明: |
EPUB出版物は複数のグループに属することができます。 |
| 許可値: | 単一のxsd:unsignedIntまたは小数点区切りの数値列(例えば、
1または2.2.1)。
|
| カーディナリティ: |
zero or one
|
| 拡張対象: | すべてのプロパティ。 |
| 名前: |
identifier-type
|
|---|---|
| 説明: |
|
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or one
|
| 拡張対象: |
dc:identifier,
dc:source
|
| 名前: |
pageBreakSource
|
|---|---|
| 説明: |
EPUB出版物内の 改ページマーカーの出典に対する一意の識別子を提供します。 識別子がISBNなどの 認識されたスキームに適合する場合、値としてURNを使用することが推奨されます。 出典に一意の識別子が存在しない場合、出典を可能な限り明確に識別するテキスト記述 (例えば、ワープロ文書のタイトル)を使用することが推奨されます。 改ページマーカーがEPUB出版物に固有である場合(例えば、デジタル専用版の場合)、
値「 |
| 許可値: |
xsd:string
|
| カーディナリティ: | 出版物がページリストおよび/または改ページマーカーを含む場合はちょうど1つ、 それ以外の場合は 0。 |
| 拡張対象: | EPUB出版物に適用されます。他のプロパティは拡張しません。 |
pageBreakSourceプロパティは、EPUB出版物の静的ページ分割の出典を識別するための
source-of
プロパティを置き換えます。
アクセシブルなページナビゲーションを提供する方法については、[epub-a11y-tech-11]を 参照してください。
| 名前: |
role
|
|---|---|
| 説明: |
個人または組織に複数の役割を割り当てる場合は、各役割を別個の |
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or more
|
| 拡張対象: |
,
,
dc:publisher
|
EPUB出版物でsource-ofプロパティを使用することは、もはや推奨されません。
EPUB出版物のページ分割の出典を示すには、pageBreakSourceプロパティ定義を参照してください。
source-ofプロパティは、それが使用されている既存のEPUB出版物基盤があるため、
公式には非推奨とされませんが、非推奨であるかのように扱うことが推奨されます。
その使用に関する情報については、[epub-33]のsource-ofプロパティ
定義を参照してください。
| 名前: |
term
|
|---|---|
| 説明: |
|
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or one
|
| 拡張対象: |
|
| 名前: |
title-type
|
|---|---|
| 説明: |
|
| 許可値: |
xsd:string
|
| カーディナリティ: |
zero or one
|
| 拡張対象: |
dc:title
|
この語彙のプロパティは、メタデータ
link
要素のrel属性およびproperties属性で使用できます。
これらのプロパティを参照するための接頭辞URLは、
http://idpf.org/epub/vocab/package/link/#です。
次の値は、link要素のrel属性で使用して、
href属性で参照されるリソースとの関係を確立できます。
| 名前: |
alternate
|
|---|---|
| 説明: |
|
| カーディナリティ: |
Zero or more
|
| 拡張対象: | EPUB出版物またはコレクションにのみ適用されます。refines
属性が存在する場合は使用してはMUST
NOTなりません。 |
| 例: |
<link rel="alternate" href="package.json"
media-type="application/json-ld"/>
|
| 名前: |
record
|
|---|---|
| 説明: |
参照されるリソースがメタデータレコードであることを示します。 このキーワードが指定される場合、そのレコードのメディア型は 一般的にリンクされるメタデータレコード型の一覧については、EPUB Linked Metadata Guideを参照してください。 レコードの型をメディア型から識別できない場合、識別子プロパティを
|
| カーディナリティ: |
Zero or more
|
| 拡張対象: | EPUB出版物または
コレクションにのみ適用されます。refines属性が存在する場合は使用してはMUST NOTなりません。 |
| 例: |
<link rel="record" href="book/52.atom"
media-type="application/atom+xml;type=entry;profile=opds-catalog"/>
|
| 名前: |
voicing
|
|---|---|
| 説明: |
参照される音声ファイルが、refines属性で指定された式またはリソース (通常はタイトルまたはcreator)の聴覚的表現を提供することを示します。 このキーワードが指定される場合、その音声ファイルのメディア型は
|
| カーディナリティ: |
Zero or more
|
| 拡張対象: | すべてのプロパティ。この値が使用される場合、refines属性が
存在しなければMUSTなりません。
|
| 例: |
<link refines="#title" rel="voicing" media-type="audio/mpeg"
href="title.mp3" />
|
次の値は、
link
要素の
properties属性で使用して、参照されるリソースが表すレコードの種類を確立できます。
これらの値は、メディア型によって一意に識別できないレコード形式のために提供されます。
| 名前: |
onix
|
|---|---|
| 説明: | onixプロパティは、参照されるリソースがONIXレコード
[onix]であることを示します。 |
| 例: |
<link rel="record" href="pub/meta/nor-wood-onix.xml"
media-type="application/xml" properties="onix"/>
|
これらのプロパティを参照するための接頭辞URLは、
http://www.idpf.org/vocab/rendition/#です。
「rendition:」接頭辞は、パッケージレンダリングプロパティとともに使用するために
予約されており、パッケージ文書内で宣言する必要はありません。
| 名前: |
rendition:layout
|
|---|---|
| 説明: |
リフロー可能および事前ページ分割済みの出版物では、グローバルレイアウトを個別の EPUBコンテンツ 文書に対して上書きしてもMAYよいです。 |
| 許可値: |
次の値のいずれかでなければMUSTなりません:
|
| カーディナリティ: |
zero or one
|
| 拡張対象: | EPUB出版物にのみ適用されます。refines属性が
存在する場合は使用してはMUST NOTなりません。 |
| 名前: |
rendition:layout-pre-paginated
|
|---|---|
| 説明: |
|
| 適用: |
スパイン
同じproperties属性内で別のレイアウト上書き プロパティと組み合わせてはMUST NOTなりません。 rollレイアウトと ともに指定してはMUST NOTなりません。 |
| 名前: |
rendition:layout-reflowable
|
|---|---|
| 説明: |
|
| 適用: |
スパイン
同じproperties属性内で別のレイアウト上書き プロパティと組み合わせてはMUST NOTなりません。 rollレイアウトと ともに指定してはMUST NOTなりません。 |
| 名前: |
rendition:page-spread-center
|
|---|---|
| 説明: |
|
| 適用: |
スパイン
|
| 名前: |
rendition:page-spread-left
|
|---|---|
| 説明: |
|
| 適用: |
スパイン
スパインプロパティ語彙の
|
| 名前: |
rendition:page-spread-right
|
|---|---|
| 説明: |
|
| 適用: |
スパイン
スパインプロパティ語彙の
|
カスタムプロパティおよびスパイン上書きは、特定のリーディング システムに固有のレンダリング上の問題に対処するために、そのリーディングシステムの開発者によって 定義されるものとして、パッケージ文書に含めることができます。
唯一の制限は、そのようなプロパティをrendition:接頭辞で定義してはMUST NOTならず、かつパッケージ
レンダリング語彙のプロパティと動作上競合してはMUST NOTならないことです。
複数の独立したリーディングシステムで使用するための拡張が必要な場合、望ましい方法は、この標準の改訂を通じて パッケージレンダリング語彙を拡張することです。
この語彙のプロパティは、マニフェスト
item
要素のproperties属性で使用できます。
これらのプロパティを参照するための接頭辞URLは、
http://idpf.org/epub/vocab/package/item/#です。
| 名前: |
cover-image
|
|---|---|
| 説明: | cover-imageプロパティは、記述対象の出版物
リソースを、EPUB出版物の
表紙画像として識別します。 |
| 適用対象: | すべてのラスターおよびベクター画像型 |
| カーディナリティ: |
Zero or one
|
| 名前: |
mathml
|
|---|---|
| 説明: | mathmlプロパティは、記述対象の出版物
リソースが1つ以上のMathMLマークアップのインスタンスを含むことを示します。 |
| 適用対象: | EPUBコンテンツ 文書 |
| カーディナリティ: |
Zero or more
|
| 名前: |
remote-resources
|
|---|---|
| 説明: |
詳細については、3.6 リソースの場所を参照してください。 |
| 適用対象: | 内部参照の能力を持つすべての出版物リソース (例えば、XHTMLコンテンツ 文書、SVGコンテンツ 文書、 CSSスタイルシート、およびメディアオーバーレイ文書)。 |
| カーディナリティ: |
Zero or more
|
| 名前: |
scripted
|
|---|---|
| 説明: | scriptedプロパティは、記述対象の出版物
リソースがスクリプト付きコンテンツ
文書であること(すなわち、スクリプトおよび/または[html]の
form
要素を含むこと)を示します。
|
| 適用対象: | EPUBコンテンツ 文書 |
| カーディナリティ: |
Zero or more
|
| 名前: |
svg
|
|---|---|
| 説明: |
このプロパティは、SVGマークアップがリソース内に直接含まれる場合に設定されなければMUSTならず、SVGがリソースから参照される場合
(例えば、[html]の
|
| 適用対象: | XHTMLコンテンツ 文書; SVGコンテンツ文書では値は暗黙です。 |
| カーディナリティ: |
Zero or more
|
| 名前: |
switch
|
|---|---|
| 説明: |
|
| 適用対象: | XHTMLコンテンツ 文書。 |
| カーディナリティ: |
Zero or more
|
この語彙のプロパティは、スパイン
itemref
要素の
properties属性で使用できます。
これらのプロパティを参照するための接頭辞URLは、
http://idpf.org/epub/vocab/package/itemref/#です。
| 名前: |
page-spread-left
|
|---|---|
| 説明: |
|
| 名前: |
page-spread-right
|
|---|---|
| 説明: |
|
この語彙のプロパティは、
meta
要素の
property属性で使用できます。
これらのプロパティを参照するための接頭辞URLは、
http://idpf.org/epub/vocab/overlays/#です。
接頭辞「media:」は、この語彙のプロパティとともに使用するために
予約されており、パッケージ文書内で宣言する必要はありません。
| 名前: |
active-class
|
|---|---|
| 説明: | 現在再生中のEPUBコンテンツ文書 要素に適用するCSSクラス名。 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
Zero or one
|
| 例: |
<meta
property="media:active-class">-epub-media-overlay-active</meta>
|
| 名前: |
duration
|
|---|---|
| 説明: | プレゼンテーション全体または特定のメディアオーバーレイ 文書の長さ。 指定された長さは作成時に既知の音声クリップを考慮し、したがって外部リソースからの ライブストリーミングおよび音声合成は除外します。 |
| 許可値: | |
| カーディナリティ: | EPUB出版物および 各メディアオーバーレイ 文書につきちょうど1つ。 |
| 例: |
<meta property="media:duration">1:36:20</meta>
|
| 名前: |
narrator
|
|---|---|
| 説明: | ナレーターの名前。 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
Zero or more
|
| 例: |
<meta property="media:narrator">Joe Speaker</meta>
|
| 名前: |
playback-active-class
|
|---|---|
| 説明: | 再生がアクティブなときに、EPUBコンテンツ 文書の文書要素に適用する、作成者定義のCSSクラス名。 |
| 許可値: |
xsd:string
|
| カーディナリティ: |
Zero or one
|
| 例: |
<meta
property="media:playback-active-class">-epub-media-overlay-playing</meta>
|
古い機能とは、 非推奨ではないものの、EPUB 3のリーディングシステムでの使用を 想定して設計されていないもの、または本来であれば非推奨にすることが望ましいものの、既存のEPUB 出版物の大きな基盤を無効にしてしまうものを指します。
EPUB出版物は、このセクションで定義される古い機能を含めてもMAY よいですが、その使用法は参照先の定義に適合しなければMUST なりません。
NISTは、SHA-1アルゴリズム [fips-180-4] の 使用を2030年末までに段階的に廃止するよう勧告しています。Publishing Maintenance Working Groupは、 SHA-1に依存しているため、その日付以降、EPUB出版物におけるフォント難読化をサポートする 意図はありません。ただし、リーディングシステムは既存のEPUB出版物の難読化解除を 引き続きサポートしなければなりません。
フォントを保護するよりよい方法は存在します。例えば、[woff]フォントと[woff2]フォントは、ライセンス情報の 埋め込みを可能にし、フォントテーブル圧縮を通じて一定の保護を提供します。リモートで ホストされるフォントを使用することも、フォントのサブセット化を可能にします。
EPUB 3がIDPFによって保守されていたとき、
collection要素に依存する仕様がいくつか開発されました。採用とリーディングシステムでの
実装が不足していたため、これらの仕様はもはや保守されておらず、この要素の使用も
もはや推奨されません。
EPUB 3リーディングシステムはこれらの機能を無視します。これらはそれぞれ、
meta
要素、
landmarks nav、およびtoc
navに置き換えられます。
これらの機能は、EPUB 2のみをサポートするリーディングシステムとの後方互換性を ある程度提供するためだけに保持されています。そのようなリーディングシステムは現在では まれであるため、これらの機能を含める価値は限定的です。
-epub-text-orientation
[epub-33]
-epub-writing-mode
[epub-33]
-epub-text-combine-horizontal
[epub-33]
-epub-hyphens
[epub-33]
-epub-line-break [epub-33]
-epub-text-align-last
[epub-33]
-epub-word-break [epub-33]
text-transform値 -epub-fullwidth [epub-33]-epub-text-emphasis-color
[epub-33]
-epub-text-emphasis-position
[epub-33]
-epub-text-emphasis-style
[epub-33]
-epub-text-underline-position
[epub-33]
EPUB 3は当初、世界の言語に関係する多くのCSS機能がまだ成熟していなかったため、 これらの接頭辞付きプロパティを含めていました。現在これらは、これらの接頭辞を使用して 作成されたコンテンツの後方互換性を確保するためだけに保持されています。Working Groupは、 CSSサポートが許すようになり次第、接頭辞なしのバージョンに切り替えることを推奨します。 これらの接頭辞付きプロパティは、EPUBの次のメジャーバージョンで保守されることは 期待されていません。
Working Groupは、EPUB適合性チェッカーが、EPUB出版物に古い機能が 存在することについて警告を発しないよう助言します。警告は、機能がその定義に適合しない場合、または それ以外の方法で使用要件に違反する場合にのみ発してください。
非推奨機能とは、 リーディング システムおよび/またはEPUB出版物でのサポートや使用が 限定的、または存在しないものです。
次の非推奨機能は使用すべきではSHOULD NOTありません。使用する場合、 その使用法は参照先の定義に適合しなければMUSTなりません。
構造的意味論用のmsvおよび
prism
予約接頭辞 [epub-33]。
marc21xml-record
プロパティ [epubpublications-30] —
これは、media-type属性値
「application/marcxml+xml」を持つrecord
キーワードに置き換えられます。
mods-record
プロパティ [epubpublications-30] — これは、
media-type属性値
「application/mods+xml」を持つrecord
キーワードに置き換えられます。
onix-record
プロパティ [epubpublications-30] — これは、
properties属性値onixを持つrecord
キーワードに置き換えられます。
Working Groupは、EPUB適合性チェッカーが、EPUB出版物で非推奨機能に 遭遇した場合に、その存在について警告することを推奨します。
このセクションは非規範的です。
パッケージ文書用のスキーマはhttps://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/package-30.nvdlで入手できます。
このスキーマを使用した検証には、[nvdl]、 [relaxng-schema]、 [isoschematron]および [xmlschema-2]をサポートするプロセッサが 必要です。
NVDLスキーマ層は、埋め込まれたRELAX NGおよびISO Schematronスキーマのみを使用した マルチパス検証で置き換えることができます。
これらのスキーマの更新や修正は、この仕様の正式な改訂の外で発生する可能性があります。 そのため、これらはいつでも変更される可能性があります。
container.xmlファイル用のスキーマは
https://github.com/w3c/epubcheck/tree/master/src/main/resources/com/adobe/epubcheck/schema/30/ocf-container-30.nvdlで入手できます。
このスキーマを使用した検証には、[relaxng-schema]および [xmlschema-2]をサポートする プロセッサが必要です。
encryption.xml
ファイル用のスキーマは、[xmlsec-rngschema-20130411]に含まれています。
signatures.xml
ファイル用のスキーマは、[xmlsec-rngschema-20130411]に含まれています。
メディアオーバーレイ文書用のスキーマはhttps://github.com/w3c/epubcheck/tree/main/src/master/resources/com/adobe/epubcheck/schema/30/media-overlay-30.nvdlで入手できます。
このスキーマを使用した検証には、[nvdl]、 [relaxng-schema]、 [isoschematron]および [xmlschema-2]をサポートするプロセッサが 必要です。
NVDLスキーマ層は、埋め込まれたRELAX NGおよびISO Schematronスキーマのみを使用した マルチパス検証で置き換えることができます。
この付録は、EPUBパッケージ文書用にメディア型application/oebps-package+xmlを
登録します。この登録はRFC4839に優先します(https://www.rfc-editor.org/rfc/rfc4839を参照)。
パッケージ文書は、EPUB出版物を記述するXMLファイルです。これはEPUB出版物内のリソースを識別し、 メタデータ情報を提供します。パッケージ文書およびその関連仕様は、World Wide Web Consortium(W3C)によって保守され、定義されます。
application
oebps-package+xml
なし。
なし。
UTF-8の場合は8bit、UTF-16の場合はbinary。
パッケージ文書はXMLであり、UTF-8またはUTF-16で表されます。パッケージ文書がUTF-8で 書かれる場合、ファイルは8bit互換です。UTF-16で書かれる場合、binary content-transfer-encodingを使用しなければなりません。詳細については、[rfc7303]を参照してください。
パッケージ文書は、XML 1.0仕様に適合する整形式XMLを含みます。
明らかに、例えば不正形式のデータを含む悪意あるファイルを作成することは可能です。 ほとんどのXMLパーサーは、適合性を厳密に強制することで、そのような攻撃から自身を保護します。
パッケージ文書を読み取るすべてのプロセッサは、取得したデータのサイズと妥当性を厳密に 確認する必要があります。
EPUB 3仕様には、パッケージ文書形式内での暗号化、署名、または認証に関する現行の規定は ありません。
なし。
このメディア型登録は、https://www.w3.org/TR/epub/に あるEPUB 3仕様で記述されるEPUBパッケージ文書のためのものです。
EPUB 3仕様は、https://idpf.org/epub/20/spec/OPF_2.0.1_draft.htmに
あるOpen Packaging Format 2.0.1仕様に優先します。同仕様も
application/oepbs-package+xmlメディア型を使用しています。
このメディア型は、EPUB形式の電子書籍の配布に広く使用されています。
なし
.opf
TEXT
EPUB Canonical Fragment Identifiersは、EPUB出版物用に定義されたカスタムフラグメント識別子です。 これらは、出版物用に定義された任意の 出版物リソース内の任意のコンテンツを 参照するために使用できます。これらの識別子は https://idpf.org/epub/linking/cfi/で定義されています。
Publishing Maintenance Working Group (epub-maintenance@w3.org)
COMMON
World Wide Web Consortium (W3C)
この付録は、EPUB Open Container Format (OCF)用にメディア型application/epub+zipを
登録します。
OCF ZIPコンテナー、またはEPUBコンテナーのファイルは、zipアーカイブ形式に基づくコンテナー技術です (https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXTを参照)。 これはEPUB出版物をカプセル化するために使用されます。OCFおよびその関連標準は、 World Wide Web Consortium(W3C)によって保守され、定義されます。
application
epub+zip
なし。
なし。
OCF ZIPコンテナーファイルは、
application/zipメディア型でエンコードされたバイナリファイルです。
OCF ZIPコンテナーファイルを読み取るすべてのプロセッサは、取得したデータのサイズと 妥当性を厳密に確認すべきです。
さらに、OCF ZIPコンテナーファイルにはさまざまなコンテンツ型を埋め込むことができるため、
application/epub+zipは、ここで述べたものを超えるセキュリティ上の含意を
持つコンテンツを表す可能性があります。ただし、プロセッサが追加コンテンツを認識して処理する場合、
またはそのコンテンツのさらなる処理が他のプロセッサにディスパッチされる場合にのみ、
セキュリティ上の問題が発生する可能性があります。そのような場合、セキュリティの問題は
この登録文書の範囲外となります。
application/zipに適用されるセキュリティ上の考慮事項は、OCF ZIPコンテナー
ファイルにも適用されます。
なし。
このメディア型登録は、https://www.w3.org/TR/epub/に
あるEPUB 3仕様で記述されるEPUB Open Container Format (OCF)のためのものです。
EPUB 3仕様は、RFC 4839および
https://idpf.org/epub/20/spec/OCF_2.0.1_draft.docに
あるOpen Container Format 2.0.1仕様の両方に優先します。同仕様も
application/epub+zipメディア型を使用しています。
このメディア型は、EPUB形式の電子書籍の配布に広く使用されています。
0: PK 0x03 0x04, 30: mimetype, 38:
application/epub+zip
OCF ZIPコンテナーファイルは、多くの場合、拡張子
.epubで識別されます。
ZIP
EPUB Canonical Fragment Identifiersは、EPUB出版物用に定義されたカスタムフラグメント識別子です。 これらは、出版物用に定義された任意の 出版物リソース内の任意のコンテンツを 参照するために使用できます。これらの識別子は https://idpf.org/epub/linking/cfi/で定義されています。
Publishing Maintenance Working Group (epub-maintenance@w3.org)
COMMON
World Wide Web Consortium (W3C)
audio
§9.3.2.2.8
body
§9.3.2.2.4
Compression
§4.2.6.3.2.2
container
§4.2.6.3.1.1
dc:contributor
§5.6.3.2.2
dc:creator
§5.6.3.2.3
dc:date
§5.6.3.2.4
dc:identifier
§5.6.3.1.1
dc:language
§5.6.3.1.3
dc:subject
§5.6.3.2.5
dc:title
§5.6.3.1.2
dc:type
§5.6.3.2.6
EncryptedData
§4.2.6.3.2.1
EncryptedKey
§4.2.6.3.2.1
encryption
§4.2.6.3.2.1
epub:type
§7.4.3.2
head
§9.3.2.2.2
item
§5.7.2
itemref
§5.8.2
link
§5.6.6
links
§4.2.6.3.1.4
manifest
§5.7.1
meta
§5.6.4
metadata
§5.6.1
package
§5.5
par
§9.3.2.2.6
rootfile
§4.2.6.3.1.3
rootfiles
§4.2.6.3.1.2
seq
§9.3.2.2.5
signatures
§4.2.6.3.6.1
smil
§9.3.2.2.1
spine
§5.8.1
text
§9.3.2.2.7
a
要素
area
要素
base
要素
bdo
要素
canvas
要素
content属性(meta
要素用)
dir属性(html-global
要素用)
div
要素
embed
要素
form
要素
href属性(a要素用)
html
要素
iframe
要素
img
要素
li
要素
name属性(meta
要素用)
object
型
ol
要素
picture
要素
role
属性
rp
要素
script
要素
source
要素
span
要素
src属性(source
要素用)
srcset属性(source
要素用)
style属性(html-global
要素用)
template要素
track
要素
type属性(source
要素用)
video
要素
list用)
svg
要素
title
要素
このセクションは非規範的です。
この変更履歴は、EPUB 3.3以降の実質的な変更、すなわち EPUB出版物の適合性に影響を与える可能性のある変更のみを 識別している点に注意してください。
対処されたすべての課題の一覧については、Working Groupの課題トラッカーを参照してください。
rendition:align-x-centerプロパティを非推奨化。issue 2847を参照。rendition:flow、rendition:orientation、
rendition:spread、およびそれらの上書き相当を古い機能リストに追加。
issue 2841および関連する
Working Group
決議を参照。
collection要素、
レガシーパッケージ文書機能、および接頭辞付きCSSプロパティをそこへ移動。
issue
2807を参照。
xsd、msv、およびprism予約接頭辞を
非推奨機能セクションへ移動。issue 2739を参照。source-ofを置き換えるため、pageBreakSourceプロパティを
metaプロパティ語彙に追加。issue
2714を参照。application/x-font-ttfをコアメディア型の
リストに追加。issue 667を参照。
script要素から参照されるリソースが免除されることを明確化。
issue 2649を参照。
このセクションは非規範的です。
Publishing Maintenance Working Groupは、これまでの道のりで失った著名な貢献者であり友人たちに、 特別な謝意を表したいと思います。特に、EPUB 3だけでなくEPUB全体は、Garth Conboyの 先見性、知識、そして並外れた善良さなしには、今日の姿にはなっていなかったでしょう。同様に、 Ben Schroeterは、EPUBが普遍的にアクセシブルな形式としてその可能性に到達できるよう支援するために たゆまず尽力した人物として、永遠に記憶されるでしょう。私たちは彼らに対して永遠に恩義があります。
Publishing Maintenance Working Groupの次のメンバーが、この仕様の開発に貢献しました:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: