]> EPUB Content Documents 3.0(日本語訳版)

この文書は「EPUB Content Documents 3.0」を日本語訳したものです。最新の文書は http://www.idpf.org/epub/30/spec/epub30-contentdocs.html です。原文もしくは最新の情報を参照したい場合は、 EPUB Content Documents 3.0 を参照ください。

この日本語訳は参考です。公式な文書ではありません。翻訳・解釈の正確性を保証しておりません。
また本文内の訳注は翻訳者の主観による補足です。

1.3. 用語にあげられている名称は本文中でも基本的に原文のままとした。

公開日:
2012-10-15
改訂日:
2013-04-05
翻訳者:
Wataru Yoshimura
校正者:
Fumihiro Kato

EPUB Content Documents 3.0

2011年10月11日 勧告仕様

この版
http://www.idpf.org/epub/30/spec/epub30-contentdocs-20111011.html
最新版
http://www.idpf.org/epub/30/spec/epub30-contentdocs.html
前の版
http://www.idpf.org/epub/30/spec/epub30-contentdocs-20110908.html

前回のドラフトからの変更点の差分は、このリンクで入手可能である。

この文書(いくらかの規範的な訂正を含むかもしれない)のために、正誤表(英語)を参照されたい。

Editors

Markus Gylling, DAISY Consortium

William McCoy, International Digital Publishing Forum (IDPF)

Elika J. Etemad, Invited Expert

Matt Garrish, Invited Expert

目次

1. 概要
1.1. 目的とスコープ
1.2. 他の仕様との関連性
1.2.1. HTML5 との関連性
1.2.2. SVG との関連性
1.2.3. CSS との関連性
1.2.4. EPUB 3 バージョン管理計画
1.3. 用語
1.4. 適合性
1.5. 名前空間接頭辞マッピング
2. EPUB Content Documents
2.1. XHTML Content Documents
2.1.1. コンテンツの適合性
2.1.2. Reading System の適合性
2.1.3. HTML5 の拡張と機能強化
2.1.3.1. 意味の変化
2.1.3.1.1. 前置き
2.1.3.1.2. epub:type 属性
2.1.3.1.3. 語彙の関連性
2.1.3.1.4. 処理の要件
2.1.3.2. SSML 属性
2.1.3.2.1. 概要
2.1.3.2.2. ssml:ph 属性
2.1.3.2.3. ssml:alphabet 属性
2.1.3.3. コンテンツの切り替え
2.1.3.3.1. 前置き
2.1.3.3.2. 定義
2.1.3.3.2.1. epub:switch 要素
2.1.3.3.2.2. epub:case 要素
2.1.3.3.2.3. epub:default 要素
2.1.3.3.3. 処理
2.1.3.4. epub:trigger 要素
2.1.3.5. 代替スタイルタグ
2.1.4. HTML5 の許容性と制約
2.1.4.1. 埋め込み MathML
2.1.4.1.1. 前置き
2.1.4.1.2. コンテンツの適合性
2.1.4.1.3. Reading System の適合性
2.1.4.1.4. 代替コンテンツ
2.1.4.2. 埋め込み SVG
2.1.4.2.1. 埋め込み SVG と CSS
2.1.4.3. Unicode の制限
2.1.4.4. 推奨されない構造
2.2. EPUB Navigation Documents
2.2.1. 前置き
2.2.2. コンテンツの適合性
2.2.3. Reading System の適合性
2.2.4. EPUB Navigation Document の定義
2.2.4.1. nav 要素:制限
2.2.4.2. nav 要素:種類
2.2.4.2.1. toc nav 要素
2.2.4.2.2. page-list nav 要素
2.2.4.2.3. landmarks nav 要素
2.2.4.2.4. 他の nav 要素
2.2.4.3. hidden 属性
2.3. SVG Content Documents
2.3.1. 前置き
2.3.2. コンテンツの適合性
2.3.3. SVG 1.1 の制限
2.3.4. Reading System の適合性
2.4. Scripted Content Documents
2.4.1. Scripting Contexts
2.4.2. コンテンツの適合性
2.4.3. Reading System の適合性
2.4.4. セキュリティの考慮事項
2.4.5. イベントモデルの考慮事項
3. EPUB Style Sheets
3.1. コンテンツの適合性
3.2. Reading System の適合性
3.3. EPUB 3 CSS Profile
3.3.1. CSS 2.1
3.3.2. CSS 2.0
3.3.3. CSS 3.0 Speech
3.3.4. CSS Fonts Level 3
3.3.5. CSS Text Level 3
3.3.6. CSS Writing Modes
3.3.7. Media Queries
3.3.8. CSS Namespaces
3.3.9. CSS Multi-Column Layout
3.3.10. Ruby Positioning
3.3.11. Display Property 値の oeb-page-headoeb-page-foot
4. PLS Documents
4.1. 概要
4.2. EPUB Publication の適合性
4.3. コンテンツの適合性
4.4. Reading System の適合性
A. スキーマ
A.1. XHTML Content Document スキーマ
A.2. EPUB Navigation Document スキーマ
A.3. SVG Content Document スキーマ
B. JavaScript epubReadingSystem オブジェクト
B.1. 構文
B.2. 概要
B.3. プロパティ
B.4. メソッド
B.4.1. hasFeature
B.4.1.1. 構文
B.4.1.2. 概要
B.4.1.3. 機能
C. 謝辞と貢献者
参照・参考

> 1 要約

> 1.1 目的とスコープ

このセクションは参考情報である。

本仕様、EPUB Content Documents 3.0 は、EPUB® Publications のコンテクスト内で使用するための HTML5、SVG、CSS のプロファイルを定義する。

本仕様は EPUB 3 を構成する関連仕様の一つである。 EPUB 3 は XML や Web 標準に基づいたデジタル出版物の交換や配信形式の第 3 版である。この仕様は EPUB 3 を構成する以下の他の仕様と共に読み、理解することになっている:

  • EPUB 3 Overview [EPUB3Overview] は EPUB の有益な概要と、残りの EPUB 3 document 群のロードマップを提供する。EPUB 3 Overview は最初に読んでおくべきである(should)

  • EPUB Publications 3.0 [Publications30] は出版レベルのセマンティクスと EPUB Publication のための包括的な適合性要件を定義している。

  • EPUB Open Container Format (OCF) 3.0 [OCF3] は関連するリソースの集合を単一のファイル(ZIP)の EPUB Container にカプセル化するためのファイル形式と処理モデルを定義する。

  • EPUB Media Overlays 3.0 [MediaOverlays30] はテキストと音声の同期のための形式と処理モデルを定義する。

本仕様は Open Publication Structure (OPS) 2.0.1 [OPS2] を置き換える。本仕様書と前身の違いについては [EPUB3Changes] を参照されたい。

> 1.2 他の仕様との関連性

このセクションは参考情報である。

> 1.2.1 HTML5 との関連性

本仕様による XHTML 文書型の定義は W3C [HTML5] をベースにしており、他の仕様がない限り、HTML5 仕様書が提供するセマンティクスや構造、処理動作の全ての定義を継承する。

さらに、本仕様書は AuthorXHTML Content Document に包含してもよい(may)W3C HTML5 文書モデルの拡張セットを定義する。

本仕様書はスクリプトや HTML5 forms もしくは HTML5 DOM のサポートを Reading System に求めない簡易な処理モデルを定義する。本仕様書に準拠した EPUB Reading System は、適合した EPUB Content Document を処理することのみ要求される。スクリプトや HTML5 forms のサポートは任意な Reading System の機能であるように、適合した Reading System は完全に準拠した HTML5 のユーザーエージェントでないかもしれない(例えば、それは完全な HTML5 処理モデルを満たしていないかもしれない)。

> 1.2.2 SVG との関連性

本仕様書は XHTML Content Document 内にインラインと独立した SVG Content Document のベクター画像を表現するために SVG 1.1 の限定的なサブセットを定義する。

> 1.2.3 CSS との関連性

本仕様書で定義している CSS profile は CSS 2.1 [CSS2.1] をベースラインにしている。CSS 2.1 に適合するすべての CSS Style Sheet は、CSS 2.1 で注記された内容以外を、EPUB Publication のコンテクスト内で使用してもよい(may)。

本仕様書は CSS3 Modules で定義された機能を組み込み、EPUB 固有の CSS の構成概念もまた導入している。

> 1.2.4 EPUB 3 バージョン管理計画

EPUB 3 が参照している W3C 仕様書はまだ最終版ではなく、以前は参照される仕様と適合していた EPUB 3 Content Documents が、仕様の最新版で適合しなくなるような互換性のない変更が将来発生するかもしれない。

IDPF は、仮に互換性のない変更が発生したとき、必要性を考慮してここに定義された規範的な制約を更新し、EPUB 3 のマイナーバージョン番号を増やし(例えば、EPUB 3.0.n の発行)、EPUB 3 仕様書を改訂することを見込んでいる。

> 1.3 用語

EPUB Publication (or Publication)

この仕様とその兄弟仕様によって定義されるように)一組の相互関係のあるリソースから成っていて、EPUB Container でパッケージ化されている論理的な文書のエンティティ。

Publication Resource

コンテンツまたは EPUB Publication のロジックと表示に関する命令を含んでいるリソース。このリソースがない場合には、出版物は Author の意図したとおりに表示されないことがある。Publication Resource の例としては Package DocumentEPUB Content DocumentEPUB Style Sheet、音声、動画、画像、埋め込みフォントとスクリプトが包含される。

Package Document 自身を除いて Publication Resource を manifest [Publications30] に記載しなければならず(must)、Publication Resource の位置 [Publications30] で特に指定がない限り EPUB container ファイルにバンドルしなければならない(must)。

Publication Resource でないリソースの例としては、Package Document の link 要素 [Publications30] で識別されるものと EPUB Container の外で解決する外部へのハイパーリンクで識別されるものが包含されている(例えば [HTML5]a 要素の href 属性)。

Core Media Type Resource

Core Media Type であるため、フォールバック [Publications30] を提供することなく EPUB Publication に包含されてもよい Publication Resource(may)。

EPUB Content Document

EPUB Content Document の定義(XHTML または SVG)の1つに従う Publication Resource

EPUB Content Document は Core Media Type であるため、フォールバック [Publications30] を提供することなく EPUB Publication に包含されてもよい(may)。

XHTML Content Document

XHTML Content Documents で定義されている [HTML5] のプロファイルに準拠する EPUB Content Document

XHTML Content Document は、[HTML5]XHTML syntax を使用する。

SVG Content Document

SVG Content Documents で表現された制約に準拠した EPUB Content Document

EPUB Navigation Document

EPUB Navigation Documents で表される制約に従い、人間と機械が読み取り可能なグローバルなナビゲーション情報を含むのに特化した XHTML Content Document

Scripted Content Document

スクリプトや HTML5 forms 要素のある XHTML Content Document が包含される EPUB Content Document

詳細については Scripted Content Documents を参照されたい。

Top-level Content Document

EPUB Content Documentspine から直接参照される。

Core Media Type

Publication Resource 型のセットは、それに対するフォールバックは必須ではない。詳細については Publication Resources [Publications30] を参照されたい。

Package Document

EPUB Publication について Package Documents [Publications30] で定められいる文献の構造化メタデータをもたらしている Publication Resource

Manifest

EPUB Publication を構成するすべての Publication Resource のリスト。

詳細については manifest [Publications30] を参照されたい。

Spine

Publication Resource の順序リストは、一般的に EPUB Content Document の、標準の Publication の読み上げ順序を表す。

詳細については spine [Publications30] を参照してください。

Text-to-Speech (TTS)

人工的な人間の発音で EPUB Publication のテキストコンテンツのレンダリングは合成音声を用いる。

EPUB Style Sheet (or Style Sheet)

CSS のプロファイルに準拠する CSS スタイルシートは EPUB Style Sheets で定義されている。

Viewport

EPUB Publication の内容が視覚的に User に与えられる EPUB Reading System の領域。

CSS Viewport

CSS でスタイルされたコンテンツを表示できる Viewport

SVG Viewport

SVG 画像を表示できる Viewport

EPUB Container (or Container)

[OCF3] で定義されている EPUB Publication 用 ZIP ベースのパッケージングと配布の形式。

Author

EPUB Publication(必ずしも、それが含まれるコンテンツとリソースの作者であるというわけではない)の制作に対して責任がある人または組織。

User

EPUB Reading System を使用して EPUB Publication を消費する個人。

EPUB Reading System (or Reading System)

本仕様書と兄弟仕様書に準拠する方法で User に提示するために EPUB Publication を処理するシステム。

> 1.4 適合性宣言

この文書内のキーワードは"MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY"、"OPTIONAL"は [RFC2119] の記述に従って解釈される。

この仕様のすべてのセクションは規定である。但し"このセクションは参考情報である"という参考情報状態ラベルで識別される箇所を除く。セクションと付録への参考情報状態の適用は、含まれる可能性のあるすべての子コンテンツおよびサブセクションに適用される。

この仕様のすべての例は参考情報である。

> 1.5 名前空間接頭辞マッピング

便宜上、次の名前空間接頭辞マッピング [XMLNS] は本仕様書を通して使用される:

接頭辞 名前空間 URI
epub http://www.idpf.org/2007/ops
m http://www.w3.org/1998/Math/MathML
pls http://www.w3.org/2005/01/pronunciation-lexicon
ssml http://www.w3.org/2001/10/synthesis
svg http://www.w3.org/2000/svg

> 2 EPUB Content Documents

> 2.1 XHTML Content Documents

本仕様書は、XHTML Content Document 制作のために [HTML5] のプロファイルを定義する。このプロファイルに準拠する XML 文書のインスタンスは Core Media Type で、XHTML Content Document として本仕様書と兄弟仕様書で言及される。

他の指定のない限り、本仕様書は、[HTML5] 仕様書からセマンティクスと構造、処理動作の全ての定義を継承する。

注意

EPUB 3 XHTML Content Document の定義は、まだ策定中で非互換の方法で変更されるかもしれない W3C [HTML5] 仕様書の機能を参照している。このような機能を活用する時、著者は相互運用性と文書の寿命の潜在的な影響に関して内在するリスクをよく考えるべきである(should)。

> 2.1.1 コンテンツの適合性

XHTML Content Document は、次の基準を全て満たさなければならない(must):

文書のプロパティ

>  XML 適合性 [Publications30] で定義された XML 文書の適合性の制約を満たさなければならない(must)。

> XHTML syntax [HTML5] を使用しなければならない(must).

> XHTML Content Document スキーマで定義されている XHTML Content Document スキーマに対して妥当でなければならない(must)。

> 全ての文書の為に使用されている構成概念は [HTML5] により定義され、それは HTML5 の許容性と制約で明確に上書きされていない限り、その仕様書でこれらの構成概念のために定義された適合性の基準に準拠しなければならない(must)。

> HTML5 の拡張と機能強化で定義された全てのコンテンツの適合性の制約に準拠しなければならない(must)。

ファイルのプロパティ

>  XHTML Content Document のファイル名はファイル拡張子の .xhtml を使用するべきである(should)。

note

XHTML Content Document から参照される全ての Publication Resource は、EPUB Publication - コンテンツの適合性 [Publications30] で定義された Publication Resource のための制約に準拠しなければならない(must)。

> 2.1.2 Reading System の適合性

適合した EPUB Reading System は、XHTML Content Document の処理のために、次の基準を全て満たさなければならない(must):

  • > 本仕様書もしくは兄弟仕様書により上書きなどが明確に定義されていない限り、[HTML5] 仕様書により定義されたセマンティクスを使用して XHTML Content Document を処理し、その中に表れる適切な User Agent の適合性の制約を尊重しなければならない(must)。

  • > HTML5 の拡張と機能強化で定義された全ての Reading System の適合性基準を満たさなければならない(must)。

  • > HTML5 の許容性と制約で定義された制約の挙動を認識し、適応しなければならない(must)。

  • > Scripted Content Documents - Reading System の適合性で定義された Reading System の適合性基準を満たさなければならない(must)。

  • > EPUB Style Sheets - Reading System の適合性で定義された XHTML Content Document の視覚的レンダリングをサポートしなければならない(must)。

  • > 埋め込まれた ARIA マークアップを認識し、アクセシビリティ APIs [WAI-ARIA] の任意の ARIA ロール(role)やステート(state)、プロパティ(property)がプラットフォームに出現するのをサポートするべきである(should)。

> 2.1.3 HTML5 の拡張と機能強化

このセクションは、[HTML5] 文書モデルを基礎にして、EPUB 3 の XHTML Content Document の拡張を定義する。

> 2.1.3.1 意味の変化
> 2.1.3.1.1 前置き

このセクションは参考情報である。

意味の変化は XHTML Content Document 内で使用している要素に特定の意味と、または性質に関するさらなる意味を付与する行為である。EPUB Publication の文脈で、epub:type 属性は、一般的に基本となる [HTML5] の主な語彙を補足する変化をもたらすドメイン固有の意味を表現するのに使用される。(たとえば、属性は、section が作品の章を意味するのに使用することができるが、特定のリスト構造を避けるのに、p 要素をリスト項目に変化させて使用することはできない。)

セマンティック・メタデータは人間に提供されることを目的にしておらず、その代わりに文書の構造とコンテンツについてのより詳細に Reading System と他の User Agent のために制御方法を提供し、Users のために読書体験を向上させる良い機会を提供する。

本仕様書は、XHTML Content Document の語彙に新しい XML 要素を追加する代わりに、axis 属性を使用して意味の変化のための方法を定義し、epub:type 属性で求められる意味の変化を既存の要素に付与することができる。属性のために制御値を提供する外部の語彙を識別するメカニズムもまた定義する。

> 2.1.3.1.2 epub:type 属性

epub:type 属性は、それが出現する要素の意味を変化させる。その値は、語彙の関連性で定義された文書のインスタンスに関連付けられた外部の語彙から抽出される空白で区切られた一つ以上の用語である。

変化された意味は、含んでいる要素の意味のサブクラスを表現しなければならない(must)。([HTML5]divspan など)意味的に中立な要素の場合、変化された意味は、(例えば、div は段落や節を表現している)既存の要素によってすでに伝達されている意味を加えてはならない(must not)。Reading System は含んでいる要素と矛盾する変化された意味を無視しなければならない(must)。

note

epub:type 属性は W3C Role 属性 [Role] と機能的に同等であることを目的としているが、語彙の関連性で指定された制約をともなう。

属性名

type

名前空間

http://www.idpf.org/2007/ops

使用例

全ての要素に指定してもよい(may)。

語彙の関連性で定義された制約による、property [Publications30] 値の空白で区切られたリスト。

> 2.1.3.1.3 語彙の関連性

本仕様は、以下の変更を伴う語彙の関連付けメカニズム [Publications30] で定義された語彙の関連性メカニズムを採用する:

標準の語彙

Content Document の標準の語彙は EPUB 3 Structural Semantics Vocabulary で定義される。

予約済みの語彙

本仕様は、いかなる接頭辞も予約していない。

prefix 属性

prefix 属性の定義は不変だが、属性は Content Document 内で使用されるとき、名前空間 http://www.idpf.org/2007/ops で定義される。

次の例は、脚注(footnote)や注(note)を参照する意味に変化させるのに用いられる epub:type 属性を示している。プロパティは標準の語彙で定義される。

<html … xmlns:epub="http://www.idpf.org/2007/ops">
    …
    <p> … <a epub:type="noteref" href="#n1">1</a> … </p>    
    …
    <aside epub:type="footnote" id="n1">
        …    
    </aside>
    …
</html>    

次の例は、HTML5 の定義リストを用語集(glossary)の意味に変化させるのに用いられる epub:type 属性を示している。プロパティは標準の語彙で定義される。

<html … xmlns:epub="http://www.idpf.org/2007/ops">
    …
    <dl epub:type="glossary">
        …    
    </dl>        
    …
</html>    

次の例は、元になった出版物の改行(pagebreak)の意味に変化させるのに用いられる epub:type 属性を示している。プロパティは標準の語彙で定義される。(dc:source [Publications30] 要素は指定された改ページ位置の情報を適用する元になった出版物を識別する手段を提供することに注意されたい。)

<html … xmlns:epub="http://www.idpf.org/2007/ops">
   …
  <p> … <span epub:type="pagebreak" title="234"/> … </p>    
   … 
</html>   
> 2.1.3.1.4 処理の要件

Reading System は以下のように epub:type 属性を処理しなければならない(must):

  • > 標準の語彙で定義されている用語に特殊な動作を結びつけなくても、いくつかまたは全てに特殊な動作を結びつけてもよい(may)。

  • > 標準以外の語彙で指定された用語に特殊な動作を結びつけてもよい(may)。

  • > 認識できない用語を無視しなければならない(must)。

指定した epub:type の値に関連付けられている Reading System の動作は、含んでいる要素に関連付けられている動作と衝突するとき、要素に関連付けられている動作の優先順位を指定しなければならない(must)。

> 2.1.3.2 SSML 属性
> 2.1.3.2.1 概要

W3C Speech Synthesis Markup Language [SSML] は同期スピーチを生成するテキスト読み上げ (TTS) エンジンを支援するために使われる言語である。SSML は独立した文書形式として設計されているが、他のホスト言語内で使用するのにも適した意味も定義している。

本仕様は、SSML 1.1 phoneme 要素の二つの属性(ssml:phssml:alphabet) について見直し、EPUB XHTML Content Document 内で利用可能にする。

テキスト読み上げ (TTS) 機能のある Reading System は上記で定義されている SSML 属性をサポートするべきである(should)。

note

同期スピーチに関連する EPUB 3 の機能に関するより詳細な情報は、テキスト読み上げ [EPUB3Overview] を参照されたい。

> 2.1.3.2.2 ssml:ph 属性

ssml:ph 属性は、属性を加えられた要素によって表現されるテキストとしての発話音素や発音記号表記を規定している。

属性名

ph

名前空間

http://www.w3.org/2001/10/synthesis

使用例

当て字は論理的に関連付ける(例えば、テキスト情報が含まれている要素)ことのできる全ての要素に指定してもよい(may)。

すでにこの属性を含んでいる要素の子孫に指定してはならない(must not)。

使用されている音韻字母/音声記号に関する構文的に妥当な音素表現/表音。

この属性は、以下を追加した SSML 1.1 phoneme 要素 ph 属性の全てのセマンティクスを継承する:

  • > ssml:ph 属性がテキストノードの子孫要素に出現するとき、発音を適用するのに対応する文書のテキストは、文書の順で、対応する子孫のテキストノードの結果を一続きにする。指定された発音記号表記は、全体の中のテキストデータの要素と論理的に一致しなければならない(must)(すなわち、その内容の孤立した部分だけではなく)。

note

SSML 属性と PLS Documents をサポートする Reading System は、これらの二つの構造のために定義された優先順位の規則を履行しなければならない(must)。

> 2.1.3.2.3 ssml:alphabet 属性

ssml:alphabet 属性は、発話音素や発音記号表記のアルファベットが ssml:ph 属性の値で使用されることを規定している。

属性名

alphabet

名前空間

http://www.w3.org/2001/10/synthesis

使用例

全体、いかなる要素に指定してもよい(may)。

継承した ssml:ph の値で使用される発音アルファベットの名前。

この属性は、次の追加を伴った、SSML 1.1 phoneme 要素 alphabet 属性のすべてのセマンティクスを継承する:

  • > ssml:alphabet 属性の値はドキュメントツリーに継承される。指定された ssml:ph 属性値に使用される発話アルファベットは、最も近い親要素に続く、ssml:ph 属性が出現する要素から始まる ssml:alphabet 属性の最初に発生する位置によって決定される。

本仕様書の SSML 属性の機能をサポートする Reading System は ipa アルファベットをサポートするべきである(should)。

> 2.1.3.3 コンテンツの切り替え
> 2.1.3.3.1 前置き

このセクションは参考情報である。

switch 要素は、Reading System のスクリプト機能に依存せず、Author が User に表示する Publication コンテンツを調整することができる単純なメカニズムを提供する。

Reading System 開発者は、XHTML Content Document に適合でない XML 語彙と新しい HTML 要素のサポートを選択してもよい(may)。switch メカニズムは、この形式の開発と実験を即すが、同時に、それらのコンテンツが、まだ、すべての準拠した Reading System で表示されることを知ることの安全性の長所を利用したいと望む Author に提供する(たとえば、特殊なマークアップが何もサポートされないとき、すべての XHTML Content Document は妥当であるというベースライン要件を維持する)。

コンテンツの切り替えは有望な機能の開発に関することだけではなく、それはまた、EPUB 3 の新しい機能を扱うことができない古い Reading System のために互換性のレベルを維持する Publication を作ることに使用することができる。たとえば、MathML のインスタンス(現在のネイティブ型)は、EPUB 2 Reading System にフォールバックの画像やテキストを代わりに提供することができるように、switch 要素を使用して追加することができる。

> 2.1.3.3.2 定義
> 2.1.3.3.2.1 epub:switch 要素

switch 要素は、XML fragment を XHTML Content Document のコンテンツモデル内に条件付きで挿入するのを許可している。

要素名

switch

名前空間

http://www.idpf.org/2007/ops

使用例

フローインラインコンテンツ内。繰り返し可。

属性
id [省略可]

要素の ID [XML] はドキュメントのスコープ内で一意でなければならない(must)。

コンテンツモデル

記述順序:case [1つ以上], default [1つのみ].

Reading System は、文書内にあるそれぞれの switch 要素を一つ一つ処理して、(required-namespace 属性の値により決定された)子の case 要素のいずれかが表現することができるどうかを決定しなければならない(must)。

switch に遭遇するごとに、それをサポートしている最初の case コンテンツを Reading System は表現するべきである(should)が、使用可能なオプションのいずれかから選択するのは自由である。Reading System が子の case 要素のいずれかに含まれるマークアップをサポートしていない場合は、default 要素のコンテンツを表現しなければならない(must)。

[HTML5] object 要素は XHTML Content Document 内にカスタム(非コア)のコンテンツタイプを埋め込むのに使用するべきである(should)。カスタムマークアップは、表現するコンテンツが文書の必須部分であり、適切に処理されるために文書のコンテクストに依存するときだけ、switch 要素内に包むべきである(should)。

switch 要素を使用して ChemML マークアップを挿入した例。

<epub:switch id="cmlSwitch">
   
   <epub:case required-namespace="http://www.xml-cml.org/schema">
      <cml xmlns="http://www.xml-cml.org/schema">
         <molecule id="sulfuric-acid">
            <formula id="f1" concise="H 2 S 1 O 4"/>
         </molecule>
      </cml>
   </epub:case>
   
   <epub:default>
      <p>H<sub>2</sub>SO<sub>4</sub></p>
   </epub:default>
   
</epub:switch>

EPUB 2 Reading System に準拠するために MathML マークアップを追加する例。

<epub:switch id="mathmlSwitch">
   
   <epub:case required-namespace="http://www.w3.org/1998/Math/MathML">
      <math xmlns="http://www.w3.org/1998/Math/MathML">
         <mrow>
            <mn>2</mn>
            <mo> &#x2061;<!--INVISIBLE TIMES--></mo>
            <mi>x</mi>
         </mrow>
         <mrow>
            <mo>+</mo>
            <mi>y</mi>
            <mo>-</mo>
            <mi>z</mi>
         </mrow>
      </math>
   </epub:case>
   
   <epub:default>
      <p>2x + y - z</p>
   </epub:default>
   
</epub:switch>
> 2.1.3.3.2.2 epub:case 要素

case 要素は、XML 語彙からマークアップのインスタンスが含まれる。包含されるマークアップは(MathML と SVG の場合には)XHTML Content Document でネイティブにサポートしてもよい(may)が、そのようなサポートは必須ではない。

要素名

case

名前空間

http://www.idpf.org/2007/ops

使用例

switch の必須の最初の子。 繰り返し可。

属性
id [省略可]

要素の ID [XML] はドキュメントのスコープ内で一意でなければならない(must)。

required-namespace [必須]

XML 語彙や Reading System の拡張を識別する URI 形式 [RFC2046] の拡張識別子は、case 要素のコンテンツを処理するためのサポートをしなければならない(must)。

コンテンツモデル

マークアップ語彙に準拠した XML フラグメントは、required-namespace 属性に識別される。

それぞれの case 要素は、同じコンテンツの代わりの表現を含まなければならない(must)。それらのコンテンツの最良のレンダリングを確保するために、Author は、それらの最適なレンダリングフォーマットによる case 要素を指図するべきである(should)。

case 要素は、XHTML Content Document(たとえば MathML)に妥当なマークアップを含むばあい、そのコンテンツは switch 要素が挿入される場所(すなわち、その追加されたものは妥当でない文書が生じてはならない(must not))で妥当でなければならない(must)。

case 要素内の外部マークアップは整形式でなければならない(must)が、挿入する時点で妥当である必要はない。Author は任意の外部マークアップがそれが使用されるコンテクストに一致することを保証するべきである(should)(たとえば、ブロック要素は、インラインのコンテクストに挿入された switch 要素に包含されるべきではない(should not))。

note

IDPF は、http://www.idpf.org/epub/switch/required-namespace 属性を使用するための一般的な拡張識別子の有益なレジストリを保持する。

> 2.1.3.3.2.3 epub:default 要素

default 要素は、Reading System が case 要素のいずれかを表示できないときに任意の XHTML Content Document 内で妥当なマークアップを提供する。

要素名

default

名前空間

http://www.idpf.org/2007/ops

使用例

epub:switch の必須の最後の子。

属性
id [省略可]

要素の ID [XML] はドキュメントのスコープ内で一意でなければならない(must)。

コンテンツモデル

[HTML5] に準拠したマークアップフラグメント

default 要素は、switch のフォールバックとして機能し、XHTML Content Document 内で妥当なコンテンツの表現を包含しなければならない(must)。

default 要素は、switch が挿入された場所で文書が妥当でなくなるコンテンツを包含してはならない(must not)。XHTML Content Document は、すべての switch 要素がその子の default 要素によって置き換えられていても妥当でなければならない(must)。

> 2.1.3.3.3 処理

EPUB Reading System は、switch 要素をサポートしなければならない(must)。

本仕様書は、switch 要素のための特定の表現のアプローチを要求しない。Reading System は、たとえば、各 switch のレンダリングするために CSS styling の適応を選択してもよく(may)、必要に応じて他のアプローチを使用してもよい(may)。けれども、すべての Reading Systemは、レンダリングのために switch ごとに case 要素の中から1つだけ、もしくは default 要素のコンテンツを表示しなければならない(must)。

switch 要素は、その全ての子であるかのように処理され、1つは HTML5 の hidden 属性がセットされなければならない(must)(すなわち、全ての同じ処理規則と属性のために不可欠なアウトラインは、レンダリングされないようにコンテンツに適用するべきである(should))。

note

レンダリングされるコンテンツは、User の Reading System の機能に依存してもよく(may)、リンクは、switch 要素のみ保証することができる。switch 要素の深い参照は推奨しない。

note

XHTML Content Documentswitch 要素の存在は、switch [Publications30] プロパティを経て Package Documentmanifest に示されている。

> 2.1.3.4 epub:trigger 要素

trigger 要素は、スクリプトと非スクリプトの両方のコンテクストでの、たとえば音声や動画の再生など、マルチメディアオブジェクトをコントロールするためのマークアップで定義されたユーザーインターフェースの作成を可能にする。

要素名

trigger

名前空間

http://www.idpf.org/2007/ops

使用例

head の子要素か、フローコンテンツ内。繰り返し可。

Attributes
id [省略可]

要素の ID [XML] はドキュメントのスコープ内で一意でなければならない(must)。

action [必須]

このイベントのために実行できるアクション。

許可された値:show | hide | play | pause | resume | mute | unmute

ref [必須]

アクションのオブジェクトである要素を識別する IDREF [XML]

ev:event [必須]

このトリガーの適用可能なイベントは、[XML Events] で定義されている。

ev:observer [必須]

このトリガーのソースオブジェクトは、[XML Events] で定義されている。

コンテンツモデル

trigger 要素は、指定されたソースオブジェクト(observer)が提供する event に、指定されたターゲットオブジェクト(ref)を実行させる目的のアクションを関連付ける。

定義された action 値のセマンティクスは、

  • show - 表示のための要素の DOM visibility [CSS2.1] プロパティの設定。

  • hide - 非表示のための要素の DOM visibility [CSS2.1] プロパティの設定。

  • play - 関連付けられたリソースを最初から再生(動画や音声要素のみに適用可能)。

  • pause - 再生の停止(動画や音声要素のみに適用可能)。

  • resume - 再生の一旦停止(動画や音声要素のみに適用可能)。

  • mute - 音声のミュート(動画や音声要素のみに適用可能)。

  • unmute - 音声のミュートの解除(動画や音声要素のみに適用可能)。

動画や音声の再生をサポートする Reading System は epub:trigger 要素をサポートしなければならない(must)。

再生とミュートのコントロールのために trigger 要素を使用しているビデオプレーヤーのサンプルマークアップ。

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:epub="http://www.idpf.org/2007/ops"
  xmlns:ev="http://www.w3.org/2001/xml-events">
  <head>
    <epub:trigger ev:observer="pause" ev:event="click" action="pause" ref="test"/>
    <epub:trigger ev:observer="resume" ev:event="click" action="resume" ref="test"/>
    <epub:trigger ev:observer="mute" ev:event="click" action="mute" ref="test"/>
    <epub:trigger ev:observer="mute" ev:event="click" action="show" ref="muted"/>
    <epub:trigger ev:observer="unmute" ev:event="click" action="unmute" ref="test"/>
    <epub:trigger ev:observer="unmute" ev:event="click" action="hide" ref="muted"/>
  </head>
  <body>
    <video id="test" src="birds.mp4" width="320" height="240"/>
    <p>
      <span class="button" id="resume">Play/Resume</span>
      <span class="button" id="pause">Pause</span>
      <span class="button" id="mute">Mute</span>
      <span class="button" id="unmute">Unmute</span>
      <span id="muted">MUTED</span>
    </p>
  </body>
</html>
> 2.1.3.5 代替スタイルタグ

[AltStyleTags] に従い、link 要素の class 属性は次の値 horizontalverticaldaynight のいずれかを包含してもよい(may)。これらの値は、それらの使用するための仕様書によって定義されたセマンティクスを継承する。

Reading System は、必要に応じてタグ付けのスタイルセットを選択・利用し、仕様内で記述するべきである(should)。

> 2.1.4 HTML5 の許容性と制約

本セクションは、基本的な [HTML5] ドキュメントモデルに EPUB 3 XHTML Content Document の許容性と制約を定義する。

> 2.1.4.1 埋め込み MathML
> 2.1.4.1.1 前置き

このセクションは参考情報である。

XHTML Content Document は、埋め込み [MATHML] をサポートするが、完全な MathML マークアップ言語の制限されたサブセットの使用に限定をする。

このサブセットは、[HTML5] ユーザーエージェントとの互換性を保持しながら、Reading System の実装負荷の軽減とアクセシビリティを促進するよう設計されている。

note

manifest item 要素の mathml [Publications30] プロパティは、XHTML Content Document が埋め込み MathML を含んでいることを示している。

> 2.1.4.1.2 コンテンツの適合性

XHTML Content Document 内の MathML マークアップのいずれかの発生には、以下の追加の制約付きで、MathML 仕様 [MATHML] 内に述べられている制約を準拠しなければならない(must)。

Presentation MathML

> m:math 要素は、下で定義しているような m:annotation-xml 要素を除外して、Presentation MathML のみ含まなければならない(must)。

Content MathML

> Content MathML は、XHTML Content Document の MathML マークアップ内に包含してもよく(may)、そして、表示されるとき、m:semantics 要素の m:annotation-xml 子要素に生じなければならない(must)。

> Content MathML は、上記の条件のように包含するとき、指定された m:annotation-xml 要素の encoding 属性は、機能的に同等な値の MathML-Content かそれとも application/mathml-content+xml を設定しなければならず(must)、その name 属性は contentequiv に設定されなければならない(must)。

Deprecated MathML

> [MATHML] で非推奨にマークされた要素と属性は、XHTML Content Document の MathML マークアップ内に包含してはならない(must not)。

XHTML Content Document フラグメント

> XHTML Content Document フラグメントは、XHTML Content Document の MathML マークアップ内に包含してもよく(may)、そして、表示されるとき、m:semantics 要素の m:annotation-xml 子要素内に発生しなければならない(must)。

> XHTML Content Document フラグメントが上記段落経由で包含されるとき、指定された m:annotation-xml 要素の encoding 属性は application/xhtml+xml を設定されなければならず(must)、name 属性は、alternate-representation に設定されなければならない(must)。

> 任意の包含された XHTML Content Document フラグメントも、MathML マークアップ自体を含んではならない(must not)。

> 任意の包含された XHTML Content Document フラグメントは、m:math 要素が指定された XHTML Content Document フラグメントによって置き換えられるとき、文書が妥当であり続けるために、祖先 m:math 要素が発生するコンテンツモデルに従わなければならない(must)。

代替コンテンツ

> 代替コンテンツは包含されるべきであり(should)、そして、表示されるとき、代替コンテンツに定義された表現をしなければならない(must)。

> 2.1.4.1.3 Reading System の適合性

適合した EPUB Reading System は、XHTML Content Document に埋め込まれた MathML の処理ために以下の基準のすべてを満たさなければならない(must):

  • > Presentation MathML の処理をサポートしなければならず(must)、MathML 3.0 仕様 [MATHML] で定義されたセマンティクスを用いた Content MathML の処理をサポートしてもよい(mya)。

  • > Viewport を持つ場合、Presentation MathML の視覚的なレンダリングをサポートしなければならない(must)。

  • > MathML マークアップのために代替の代替のテキストコンテンツを生成するとき、与えられた Presentation MathML からそのようなコンテンツを動的に生成できるようにするべきであり(should)、そしてそうでないときは、m:math 要素の alttext 属性に続く XHTML Content Document フラグメントを優先しなければならない(must)。

  • > XHTML Content Document が埋め込み MathML を包含しているかどうかの信頼すべき定義として、Package Documentmanifest item 要素の mathml [Publications30] プロパティを考慮しなければならない(must)。

> 2.1.4.1.4 代替コンテンツ

Reading System は、動的に与えられた Presentation MathML マークアップ(たとえば、Text-to-Speech (TTS) エンジンからの出力など)を使用して、必要な代替テキストレンダリングを生成できるようにするべきである(should)。対応していない Reading System をサポートするために、代替テキストコンテンツは、XHTML Content Document 内に m:math 要素が出現するたびに包含するべきである(should)。

m:math 要素の alttext 属性は、短い代替テキストの実行に十分なとき、この主にこの目的のために使用されるべきである(should)。より多くの代替テキストが必要とされるとき、XHTML Content Document フラグメントを使用するべきである(should)。(Reading System は、定義済み優先順位を使用してこれら2つの代替テキストの位置を問い合わせることに注意されたい。)

Reading System の前方互換を目的とするために、フォールバック画像を、m:math 要素の altimg 属性を使用して提供してもよい(may)。寸法と位置合わせの属性(altimg-widthaltimg-heightaltimg-valign)は、altimg 属性と組み合わせて使用することを推奨する。

note

全ての参照された Publication Resource は、EPUB Publication - コンテンツの適合性 [Publications30] で定義されている Publication Resources のための制約に準拠しなければならない(must)。

> 2.1.4.2 埋め込み SVG

XHTML Content Document は、[SVG] の(参照を介しての埋め込み、たとえば、imgobject 要素による) 参照と、(XHTML Content Document 内の svg:svg 要素の直接な包含を介しての埋め込みによる)包含による SVG 1.1 document fragments の埋め込みをサポートする。

XHTML Content Document に埋め込まれた SVG のコンテンツの適合性の制約は、SVG 1.1 の制約SVG Content Document ために定義されたものと同じである。

Reading System は、SVG Content Documents - Reading System の適合性 に定義された XHTML Content Document に埋め込まれた SVG を処理しなければならない(must)。

note

manifest item 要素の svg [Publications30] プロパティは、XHTML Content Document に埋め込み SVG を含んでいることを示している。

> 2.1.4.2.1 埋め込み SVG と CSS

参照によって XHTML Content Document に埋め込まれた SVG のスタイリングのために、Reading System は、参照先の SVG 文書に含まれる文書の CSS スタイルルールを適用してはならない(must not)

包含によって XHTML Content Document に埋め込まれた SVG のスタイリングのために、Reading Systemは、包含された SVG 要素に含まれている文書の CSS ルールを適用しなければならない(must)。

note

参照によって包含された SVG は、別の文書のように処理され、SVG Content Document と同様に独自の CSS スタイルルールを包含してもよい(may)。これは、外部の [HTML5] 要素を参照する [HTML5] object 要素の状況と一致していると注意されたい。

> 2.1.4.3 Unicode の制限

本セクションは、Unicode 文字のレパートリーの制約を記載する。

外字文字と埋め込みフォント

[Unicode] に定義された通りに私用領域(PUA)範囲のひとつの中の符号位置にマッピングされた任意の包含された文字は、その符号位置のために適したグリフを含む埋め込みフォントを参照し包含する方法で、設定または起因し、文字列内に発生しなければならない(must)。

> 2.1.4.4 推奨されない構造
rp 要素

> [HTML5] rp 要素は、ruby マークアップを見分けられない古いバージョンの Reading System ためのフォールバック(省略可能な丸括弧表示で囲む ruby マークアップ)の提供を意図している。EPUB 3 Reading System が ruby を認識し、またフォールバックを提供できるなら、Content Document 内の rp 要素の使用は推奨されない。

embed 要素

> [HTML5] embed 要素は、スクリプトをサポートしない Reading System のために、フォールバックを提供するための固有の設備を提供しないので、参照されたリソースにスクリプトの構成要素があるときは使用を推奨しない。Author は、代わりに object 要素を使用するべきである(should)。

> 2.2 EPUB Navigation Documents

> 2.2.1 前置き

このセクションは参考情報である。

EPUB Navigation Document は、EPUB Publication必須の構成要素 [Publications30] である。それは、Publication 内の人間と機械が可読可能なグロバールナビゲーションレイヤーを包含するメカニズムを Author に提供し、それにより User へユーザビリティとアクセシビリティの増大を確保する。

EPUB Navigation Document は、XHTML Content Document の適合で、定義上、妥当な XHTML Content Document のインスタンスである。XHTML Content Document に適用する全てのコンテンツと Reading System の適合性要件は、EPUB Navigation Document もまた適用される。

この適応のナビゲーション機能は、[HTML5] nav 要素の特殊性を通じて表現されている。EPUB Navigation Document 内の各 nav 要素は、Reading System がナビゲーションの情報を取り出すことができるデータアイランド(一般的なマークアップ内の専門化した情報を埋め込んだソース)を意味する。一般的な XML データアイランドとは異なるが、nav 要素内の情報は [HTML5] 文書のように人間が可読可能なままである。

機械可読を容易にするために、EPUB Navigation Document 内の nav 要素のコンテンツモデルは、一般的な XHTML Content Document で許可される基準に制限される。

note

EPUB Navigation Document は、nav [Publications30] プロパティを経由して Package Document manifest で識別される。

note

EPUB Navigation Document は、[OPF2] で定義されている NCX 文書型に優先される。

EPUB 3 Publication が EPUB 2 Reading System の前方互換の目的のために、NCX document を包含するための情報は、NCX の廃止 [Publications30] で得られる。

> 2.2.2 コンテンツの適合性

適合した EPUB Navigation Document は、以下の基準のすべてを満たさなければならない(must):

文書のプロパティ

> XHTML Content Documents - コンテンツの適合性に定義されているような XHTML Content Document の全てのコンテンツの適合性の制約に従わなければならない(must)。

> EPUB Navigation Document スキーマで定義されているような EPUB Navigation Document スキーマに適合しなければならなず(must)、EPUB Navigation Document の定義で述べられている EPUB Navigation Document のための仕様は、全てのコンテンツの適合性の制約に従わなければならない(must)。

> 適合している XHTML Content Document として、それは Publication spine に包含してもよく(may)、独自に提供してもよい(may)。

> 2.2.3 Reading System の適合性

適合した EPUB Reading System は、EPUB Navigation Document の処理のための以下の基準のすべてを満たさなければならない(must):

  • >  User が要求したとき、Reading System は、リンクの提供の有効化を User に許可する方法で、EPUB Navigation Document の nav 要素内のリンクとリンクラベルのアクセスを提供しなければならない(must)。リンクが有効なとき、Reading System は、リンクによって識別された目的地へ、アプリケーションの現在の読み取り位置を再配置しなければならない(must)。

  • > Reading System は、Publication で提供される EPUB Navigation Document が spine の一部かどうかに関係なく上記の必要条件を守らなければならない(must)。

> 2.2.4 EPUB Navigation Document の定義

> 2.2.4.1 nav 要素:制限

本仕様書は、以下のように EPUB Navigation Document 内の nav 要素とその子孫のコンテンツモデルの制約がある:

  • > nav 要素は、ナビゲーション項目のタイトルを指定する省略可能な見出しを含んでもよい(may)。見出しは、[HTML5] h1 から h6 要素 または hgroup のうちいずれかでなければならない(must)。

  • > 省略可能な見出しは、単一の ol 順序付きリストが続かなければならず(must)、他の要素は nav 要素の直接の子として許可されてない。この順序付きリストは、コンテンツナビゲーションの主要な段階を意味する。

  • > 各順序付きリストのリスト項目(li)は、主要な見出し、構造または Publication 内の関心のある他の位置を意味し、そして子 a 要素かそれとも子 span 要素を含まなければならない(must)。a 要素は、リンクの位置と Content Document 内のターゲットを表現する。span 要素は、異なるグループ(例えば、イラストの大きなリストは、それぞれの章ためにひとつなど、いくつかのリストに分割できる)の分類リストのための見出しとして機能する。

  • > リスト項目のそれぞれの子 a または span 要素は、任意の妥当な HTML5 のフレージング・コンテンツを含んでもよいが(may)、空白化規則の全ての子コンテンツとアプリケーションの連結した後のゼロ長の文字列の中に生じてはならない(must not)。

  • > a 要素を固有のテキスト代替手段が提供されない HTML5 の埋め込みコンテンツのインスタンスに含む場合、リンクラベルの代替のテキストレンダリングを持ったタイトル属性を包含しなければならない(must)。

  • > a 要素の href 属性で提供される相対 IRI の参照は、EPUB Content Document またはその中のフラグメントを解決しなければならない(must)。

  • > a 要素は、必要に応じて、見出しの以下に補助的なコンテンツレベル(例えば、全ての章の小区分の見出し)を表現する ol 順番付きリストが続いてもよい(may)。span 要素は、ol 順番付きリストが続かなければならなず(must)、それは、“葉”の li 要素に使用することはできない。a または span 要素をその前に置くするかどうかにかかわらず、このサブリストは、主要なナビゲーションリスト構成するためや、(各追加の Publication の階層のレベルはこの方法で表現される)再帰的のためにこの章で定義されているすべてのコンテンツの必要条件を準拠しなければならない(must)。

  • > ol 要素は順番付きリストを意味する。本仕様書のコンテキストでは、リスト項目の標準の表示スタイルは、CSS の list-style: none(CSS をサポートしない Reading System はリスト項目の番号を表示してはならない(must not))と同等でなければならない(must)。Author は、CSS を使用して代替のリスト項目のスタイルを指定してもよいが(may)、それらは Cascading Style Sheets をサポートしない Reading System によって明確に無視されるだろう。

次の例では、span 要素を、サブリストのグループのためのリンクのない見出しに使用した部分的な lot ("テーブルのリスト") nav 要素を示している。

<nav epub:type="lot">
    <h2>List of tables, broken down into individual groups, one per major section of the publication content</h2>
    <ol>
        <li><span>Tables in Chapter 1</span>
            <ol>
                <li><a href="chap1.xhtml#table-1.1">Table 1.1</a>
                </li>
                <li><a href="chap1.xhtml#table-1.2">Table 1.2</a></li>
            </ol>
        </li>
        
        <li><span>Tables in Chapter 2</span>
            <ol>
                <li><a href="chap2.xhtml#table-2.1">Table 2.1</a>
                </li>
                <li><a href="chap2.xhtml#table-2.2">Table 2.2</a></li>
                <li><a href="chap2.xhtml#table-2.3">Table 2.3</a></li>
            </ol>
        </li>
        ...
        <li><span>Tables in Appendix</span>
            <ol>
                <li><a href="appendix.xhtml#table-a.1">Table A.1</a>
                </li>
                <li><a href="appendix.xhtml#table-a.2">Table B.2</a></li>
            </ol>
        </li>
    </ol>
</nav>
> 2.2.4.2 nav 要素:種類

EPUB Navigation Document で定義されている nav 要素は、それらの epub:type 属性の値によって意味的に識別される。標準では、epub:type の値は、EPUB 3 Structural Semantics Vocabulary [StructureVocab] から引用されるが、他の語彙から引用される値もまた許可される。詳細な情報は epub:type 属性を参照されたい。

> 2.2.4.2.1 toc nav 要素

toc nav 要素は、EPUB Publication の主要なのナビゲーションの階層を定義している。それは概念的に印刷物の目次に相当する(すなわち、それはPublicationの構造セクションへのナビゲーションを提供する)。

ユーザビリティやアクセシビリティの理由から、Author は、包括的な目次を提供するべきであり(should)、toc nav は、印刷物の場合のように(特に目次の現象)、もっぱら文書の階層内のネストの深さに基づいて参照に排除するべきではない(should not)。

spine から XHTML Content Document のみ参照する Publication の場合、toc nav は、一般的に、(主要な Publication の輪郭に貢献しないいずれのサブツリーを除いて)文書の HTML5 outlines の集合に相当する。

toc nav 要素内の含まれるli 要素の順番は、それぞれの対象となる EPUB Content Document 内の対象の要素の順番と一致しなければならず(must)、Publication spine 内の Content Document の順番に従わなければならない(must)。

toc nav 要素は、EPUB Navigation Document 内に必ずひとつは発生しなければならない(must)。

note

toc nav 要素は、廃止された NCX [OPF2]navMap 要素に相当する。

> 2.2.4.2.2 page-list nav 要素

page-list nav 要素は、ページネーション情報のための入れ物である。それは、EPUB Publication により表現される印刷物ソース内に存在するページの境界の位置に相当する Publication コンテンツの位置へのナビゲーションを提供する。

page-list nav 要素は、EPUB Navigation Document 内で任意であり、複数発生してはならない(must not)。

page-list nav 構造内に含まれるli要素の順序は、それぞれの対象となる EPUB Content Document 内部の実際のページの順番と一致しなければならなず(must)、Publication spine の Content Document の順番にも従わなければならない(must)。

page-list nav 要素は、単一の ol 子孫のみに含むべきである(should)。つまり、それはナビゲーション項目のネストされた構造ではなく、フラットなリストであるべきである(should)。

note

page-list nav 要素は、廃止された NCX [OPF2]pageList 要素に相当する。

note

dc:source [Publications30] 要素は、指定されたページ付け情報を適用する底本を識別するための方法を提供する。

> 2.2.4.2.3 landmarks nav 要素

landmarks nav 要素は、User の効率的なアクセスの提供を Reading System が可能にするために出版物の基本的な構造のコンポーネントを識別する。

landmarks nav 要素内の各リンク対象の構造上の意味論は、子孫 a 要素にある epub:type 属性の値によって決定される。epub:type 属性は、landmarks nav 要素の子孫 a 要素が必須である。

次の例では、EPUB Structural Semantics Vocabulary から引用された構造上の意味論を持つ landmarks nav 要素を示している。

<nav epub:type="landmarks">
    <h2>Guide</h2>
    <ol>
        <li><a epub:type="toc" href="#toc">Table of Contents</a></li>
        <li><a epub:type="loi" href="content.html#loi">List of Illustrations</a></li>
        <li><a epub:type="bodymatter" href="content.html#bodymatter">Start of Content</a></li>
    </ol>
</nav>

landmarks nav 要素は、EPUB Navigation Document 内に複数回発生してはならない(must not)。

note

landmarks nav 要素は、廃止予定の OPF guide 要素に相当する。より詳細な情報は guide [Publications30] を参照されたい。

> 2.2.4.2.4 他の nav 要素

EPUB Navigation Document は、必要に応じて、上記で定義されている tocpage-listlandmarks nav 要素に加えて一つ以上の nav 要素を包含してもよい(may)。そのような追加された nav 要素は、機械可読のセマンティクスを提供する epub:type 属性を持つべきであり(should)、それらの最初の子として人間が可読できる見出しを持たなければならない(must)。

本仕様書は、このような追加の nav 要素のセマンティクスに制約を課さない。任意の情報ドメインのためのナビゲーションセマンティクスの表現を使用してもよく(may)、同種または異種のセマンティクスでリンク対象を含んでもよい(may)。

> 2.2.4.3 hidden 属性

いくつかのケースでは、Author は、コンテンツフロー(すなわち、spine コンテンツの Reading System の主要なレンダリング)内のナビゲーションデータの一部を非表示にすることを望んでもよい(may)。典型的な例は、通常はコンテンツフローの一部としてレンダリングされるのではなく、その代わりに、ナビゲーション専用のユーザーインターフェースで個別に User に見えるようにする改ページのリストである。

CSS display プロパティは、CSS Viewport を持った Reading System で EPUB Navigation Document の視覚レンダリングの制御に使用することができるが、すべての Reading System が、そのようなインターフェースを提供できるわけではない。すべての Reading System を全体でレンダリングの制御をするために、著者は、(もしあるなら)ナビゲーションデータの一部はコンテンツフローのレンダリングから排除されていることを示す [HTML5] hidden 属性を使用しなければならない(must)。hidden 属性は、ナビゲーションデータがコンテンツフローの外側(たとえば、Reading System によって提供されるナビゲーション専用のユーザーインターフェースなど)でどのようにレンダリングされるかに影響を及ぼさない。

次の例は部分的な page-list nav 要素を示す。ルート上に hidden 属性の存在は、全体のリストがコンテンツフローのレンダリングから除外されることを示している。

<nav epub:type="page-list" hidden="">
    <h2>Pagebreaks of the print version, third edition</h2>
    <ol>
        <li><a href="frontmatter.xhtml#pi">I</a></li>
        <li><a href="frontmatter.xhtml#pii">II</a></li> … <li><a href="chap1.xhtml#p1">1</a></li>
        <li><a href="chap1.xhtml#p2">2</a></li> … </ol>
</nav>

次の例は、hidden 属性が二つの最上位の階層レベルをレンダリングするコンテンツフローの制限をするために使用される部分的な toc nav 要素を示している。

<nav epub:type="toc" id="toc">
  <h1>Table of contents</h1>
  <ol>
    <li>
      <a href="chap1.xhtml">Chapter 1</a>
      <ol>
        <li>
          <a href="chap1.xhtml#sec-1.1">Chapter 1.1</a>
          <ol hidden="">
            <li>
              <a href="chap1.xhtml#sec-1.1.1">Section 1.1.1</a>
            </li>
            <li>
              <a href="chap1.xhtml#sec-1.1.2">Section 1.1.2</a>
            </li>
          </ol>
         </li>
         <li>
           <a href="chap1.xhtml#sec-1.2">Chapter 1.2</a>
         </li>
       </ol>
     </li>
    <li>
      <a href="chap2.xhtml">Chapter 2</a>
    </li>
  </ol>
</nav>

> 2.3 SVG Content Documents

> 2.3.1 前置き

このセクションは参考情報である。

Scalable Vector Graphics (SVG) 1.1 (第2版) 仕様書 [SVG] は、最終型のベクターグラフィックとテキストを表現するためのフォーマットを定義する。

EPUB Publication は、典型的に、トップレベルの文書型に XHTML Content Documents を使用するが、SVG Content Document の使用も許可されている。SVG は、典型的に、最終型のページ画像がコンテンツの唯一な適切な表現である場合など(たとえば、マンガやコミックブックのコンテクスト内では、そうであるかもしれない)、特殊な状況でのみ使用する

本セクションは、[SVG] 文書のプロファイルを定義する。本仕様書に準拠した XML 文書のインスタンスは Core Media Type であり、SVG Content Document として本仕様書と兄弟仕様書を参照している。

note

本セクションは SVG Content Document のための適合性の制約を定義している。XHTML Content Document に埋め込まれた SVG のための適合性の制約は埋め込み SVG を参照されたい。

> 2.3.2 コンテンツの適合性

SVG Content Document は以下の基準のすべてを満たさなければならない(must):

文書のプロパティ

>  XML 適合性 [Publications30] で定義されている XML 文書のための適合性の制約を満たさなければならない(must)。

> SVG Content Document スキーマで定義されている SVG Content Document スキーマに妥当で、SVG 1.1 の制限で述べられている全てのコンテンツの適合性の制約に準拠した SVG 1.1 document fragment でなければならない(must)。

> [SVG Access] で与えれているアクセシビリティのガイドラインに順守すべきである(should)。

ファイルのプロパティ

> SVG Content Document のファイル名は、拡張子に .svg を使用するべきである(should)。

note

SVG Content Document から参照される全ての Publication Resource は、EPUB Publication - コンテンツの適合性 [Publications30] で定義された Publication Resource のための制約に準拠をしなければならない(must)。

> 2.3.3 SVG 1.1 の制限

本仕様書は、以下のように SVG Content Document のコンテンツモデルと XHTML Content Document に埋め込む SVG を制限する:

  • > [SVG] Animation 要素Animation event 属性は発生してはならない(must not)。

  • > [SVG] svg:foreignObject 要素は、妥当な XHTML Content Document のフロー・コンテンツのみを含めなければならず(must)、requiredExtensions 属性は、もし指定されているなら、http://www.idpf.org/2007/ops を設定しなければならない(must)。

  • > [SVG] svg:title 要素は、妥当な XHTML Content Document のフレージング・コンテンツのみを含めなければならない(must)。

> 2.3.4 Reading System の適合性

適合した EPUB Reading System は、SVG Content Document と XHTML Content Documents に埋め込む SVG の処理のための以下の基準のすべてを満たさなければならない(must):

  • > [SVG] 機能(Feature strings を参照)の http://www.w3.org/TR/SVG11/feature#Animationhttp://www.w3.org/TR/SVG11/feature#AnimationEventsAttribute を引いた機能文字列 http://www.w3.org/TR/SVG11/feature#SVG-dynamic に相当する SVG の言語機能をサポートしなければならない(must)。

  • > Scripted Content Documents - Reading System の適合性で定義されている Reading System の適合性の基準を満たさなければならない(must)。

  • > SVG Viewport を持つ場合、[SVG]Section 6 で定義されているように CSS を使用した SVG の視覚レンダリングをサポートしなければならず(must)、本仕様書の Appendix N で定義されている全てのプロパティをサポートすべきである(should)。埋め込み SVG の場合、埋め込み SVG と CSS で定義されている制約にも適合しなければならない(must)。

  • > SVG 要素内で User によるテキストの選択と検索をサポートするべきである(should)。

  • > XHTML Content Document fragments の存在を表すものとして svg:switchsvg:foreignObject 要素が表れるとき requiredExtensions 属性の値 http://www.idpf.org/2007/ops を許可しなければならない(must)。

  • > EPUB XHTML Content Document に埋め込み SVG を包含しているかどうかの正式な定義として Package Documentmanifest item 要素の svg [Publications30] プロパティを考慮しなければならない(must)。

> 2.4 Scripted Content Documents

EPUB Content Document は、個別の基本的な仕様([HTML5][SVG])でこのために定義された設備を使用してスクリプトを含まなければならない(must)。EPUB Content Document がスクリプトを含むとき、本仕様書や Scripted Content Document のような兄弟仕様書を参照する。このラベルは、それらが HTML5 forms のインスタンスを含む時、XHTML Content Document に適用する。

> 2.4.1 Scripting Contexts

本仕様書は、スクリプトが現れてもよい2つのコンテクストを定義する:

spine-level

[HTML5]script 要素のインスタンスは、Top-level Content Document を包含する。

container-constrained

[HTML5] script 要素のインスタンスは、[HTML5] objectiframeembed 要素のいずれかを使用して親の Content Document に埋め込まれている EPUB Content Document に包含する。

上記の定義されたコンテクストの両方で、JavaScript のコードは、script 要素内に直接埋め込まれるか、src 属性経由で参照されているどうかは、実行するコンテクストに差はない。

どちらのコンテクストのスクリプトも、Reading System がそこに設置するかもしれない権利と制約を決定して利用する。(すべての Reading System が同じスクリプト機能を提供しないことを)順守しなければならない(must)いくつかの固有の要求事項については、コンテンツの適合性Reading System の適合性を参照されたい。

次の例は Package Document と見なす:

<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">
            alert("Reading System name: " + navigator.epubReadingSystem.name);
        </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>

これらの例から、以下に当てはまる:

  • 文書は spine から参照されるので、scripted01.xhtmlhead にある script 要素内のコードは、spine-level のスクリプトであり、

  • そこで発生した HTML ファイルは、iframe 要素を介して scripted01.xhtml に包含されるので、scripted02.xhtmlscript 要素内のコードは container-constrained のスクリプトである。

> 2.4.2 コンテンツの適合性

Container-constrained スクリプト

> container-constrained スクリプトは、親の Content Document または Publication 内の他のコンテンツの DOM を変更する指示を包含してはならず(must not)、含んでいる矩形のサイズを操作するための指示を包含してはならない(must not)。

Spine-level スクリプト

> spine-level スクリプトを包含している EPUB Content Documents は、本仕様書の目的のために次のように定義されている、プログレッシブ・エンハンスメントの技法を利用しなければならない(must)。ドキュメントが、スクリプトのサポートしない、またはスクリプトのサポートが無効になっている Reading System によってレンダリングされるとき、top-level ドキュメントコンテンツは、どんな情報も失われたり、他の重要な劣化なしに User によって消費できるように整合性を保たなければならない(must)。

アクセシビリティ

> (任意の内包モデルを使用して)スクリプトを包含している EPUB Content Documents は、すべての User によって消費できるコンテンツを確保する関連性のあるアクセシビリティの技法を採用するべきである(should)。[WAI-ARIA] [WCAG20]

フォールバック

> (任意の内包モデルを使用して)スクリプトを包含している EPUB Content Documents は、固有のフォールバックメカニズム(例えば [HTML5] objectcanvas 要素のためにそれらを利用できるもの)を使用するかそれとも固有のフォールバックを適用できないとき、manifest-level [Publications30] フォールバックを使用して、そのようなコンテンツのためにフォールバックを提供してもよい(may)。

note

manifest item 要素の scripted [Publications30] プロパティは、EPUB Content Document は Scripted Content Document であることを示している。

> 2.4.3 Reading System の適合性

EPUB Reading System のスクリプトのサポートは任意である。スクリプトをサポートする Reading System は、以下の基準を満たさなければならない(must):

  • > container-constrained スクリプトをサポートしなければならなず(must)、spine-level スクリプトをサポートしてもよい(may)。

  • > [HTML5] に従ったスクリプトのユーザーエージェントとして、インタラクティブな Scripted Content Document をレンダリングしてもよい。

  • > 親の Content Document または Publication 内の他のコンテンツの DOM を変更する container-constrained スクリプトを許可してはならない(must not)、含んでいる矩形のサイズを操作するための指示を包含してはならない(must not)(注:たとえスクリプトは container-constrained でなくても、Reading System は、変更に制約を強要してもよい(may)(dom-manipulation feature を参照されたい))。

  • > スクリプトの実行時に提供される機能に追加の制限を加えてもよい(may)(例えば、ネットワークの制限)。

  • > 付録 B, JavaScript epubReadingSystem オブジェクトで定義されている JavaScript の navigator 拡張オブジェクト epubReadingSystem を実装しなければならない(must)。container-constrained スクリプトのコンテクストの機能で定義されている dom-manipulationlayout-change 機能もサポートしなければならない(must)。

  • > EPUB Content Document にスクリプトを包含しているかどうかの正式な定義として Package Documentmanifest item 要素の scripted [Publications30] プロパティを考慮しなければならない(must)。

スクリプトをサポートしない Reading System は、以下の基準を満たさなければならない(must):

note

Reading System は、他の EPUB の機能を無効にしたり、または(例えば、改ページの無効による)異なるレンダリングやユーザーエクスペリエンスを提供する方法で Scripted Content Documents をレンダリングしてもよい(may)。

container-constrained モデルの使用を制限を選択する Author は、スクリプトと非スクリプトコンテンツの間でより一貫性のあるユーザーエクスペリエンス(例えば、一貫性のあるページネーションの挙動)を確保するでしょう。

Author は、これらの Publication の互換性や寿命、アクセシビリティを向上させ、可能な時はスクリプトの包含を避ける現実的な宣言の技法を使用するべきである(should)。

> 2.4.4 セキュリティの考慮事項

このセクションは参考情報である。

すべての EPUB Author と Reading System の開発者は、スクリプトコンテンツが、Reading System によって実行されるときに発生するセキュリティ問題に注意する必要がある。Reading System と browser によって採用されている基本的なスクリプトモデルが同じであるように、Web コンテクスト内で発生した問題と同じ種類を考慮しなければならない(must)。

各 Reading System は、特定のドキュメント内のスクリプトが信頼できるかそうでないかを、はっきりさせるべきである(should)。全てのスクリプトが、信頼できない(そして潜在的に悪意のある)ものとして処理され、攻撃のすべてのベクトルが分析され、保護されるのを推奨する。具体的には、以下を考慮するべきである(should)。

  • ランタイム環境への攻撃(例えば、User のハードドライブからファイルを盗む)、

  • Reading System 自体への攻撃(例えば、User の本のリストを盗んだりまたは予想外の動作を引き起こす)、

  • 他に対するある Content Document の攻撃(例えば、他のドキュメントに存在するデータを盗む)、

  • ドキュメントの暗号化された部分に対する非暗号化のスクリプトの攻撃(例えば、保護されているコンテンツを抽出する悪意のあるスクリプトの注入)、

  • ローカルネットワークへの攻撃(例えば、ファイアーウォールの背後にあるサーバからデータを盗む)。

以下の推奨事項は、信頼できないスクリプトを処理するためのガイドとして提供する:

  • ブラウザベースのセキュリティは、ドキュメントの URL とドメインに大きく依存してるように、一意のドメインが各 Content Document に割り当てられているように、Reading System は動作するべきである(should)。この提案を採用することで、外部URLやクッキー、DOM ストレージなどへアクセスを制限して、互いと他のインターネットドメインからドキュメントを分離する。

    スクリプトとネットワークアクセスが有効な Reading System は、ネットワークのアクティビティが発生していること、そして/または、それらを無効にできることを利用者に通知する手法の包含を考慮するべきである(should)。

    note

    実際には、Reading System は、ドキュメントを跨いでドメインを共有してもよいが(may)、それらはまだドキュメント間の分離を維持するべきである(should)。

    ドキュメンの一部が暗号化され、そして他の一部がそうでないとき、または異なる暗号化キーがドキュメントの異なる部分に使用されているとき、一意のドキュメントごとのドメインは、十分な保護が提供できないかもしれない。

  • Reading System に永続的なデータの保存を許可するとき、そのデータを慎重に処理するべきである(should)。スクリプトは、クッキーや DOM ストレージを通じて永続的なデータを保存してもよいが(may)、Reading System は、そのような試みをブロックしてもよい(may)。データの保存を許可している Reading System は、他の関係のないドキュメント(例えば、偽装されているもの)で利用することができないことを保証しなければならない(must)。具体的には、一致するドキュメントの識別子(もしくは同様のメタデータ)のチェックは、永続的なデータへのアクセスを制御するのに妥当な方法ではない。

    ローカルストレージを許可している Reading System は、User のためにデータの調査、無効化または削除の手段として提供するべきである(should)。対象の EPUB Publication を削除するとき、それのデータは破壊されるべきである(should)。

これらの推奨事項への順守は、上に挙げた可能性のある攻撃からの保護を保証しないことを注意されたい。開発者は、それらの Reading System のコンテクスト内のそれぞれの潜在的な脆弱性を調査しなければならない(must)。

> 2.4.5 イベントモデルの考慮事項

このセクションは参考情報である。

Reading System は、[HTML5] のような DOM のイベントモデルに従い、これらのイベントに関連付けられている標準のアクションを実行する前に、スクリプト環境に UI イベントを渡すべきである(should)。Reading System 開発者は、潜在的に悪意のあるスクリプトがこれらの Reading System に影響を与えることができる範囲を制限するために、スクリプトが重要な機能(たとえばナビゲーションなど)を無効にできないことを保証するべきである(should)。結果として、スクリプト環境は、いかなるイベントの標準アクションをキャンセルできるべきである(should)が、一部のイベントは通過させないかもしれないしキャンセルできないかもしれない。

Author は、これらの Publication にスクリプト機能を加えるとき、Reading System の実装の可能性を考慮するべきである(should)。(例えば、デバイスのすべてが物理キーボードを備えているわけではなく、多くの場合、ソフトウェアキーボードが、テキストのインプット要素のためのに有効化される。)したがって、キーボードのイベントのみに頼るのは推奨されない。目的のアクションのトリガーとなる代替の方法は、常に提供されるべきである(should)。

> 3 EPUB Style Sheets

本セクションは、XHTML Content Document のスタイリングのために使用するのを意図した Cascading Style Sheets (CSS) のプロファイルを定義する。本プロファイルに準拠している CSS Style Sheet のインスタンスは Core Media Type であり、EPUB Style Sheet として、本仕様書と兄弟仕様書を参照する。

注意

EPUB 3 CSS Profile は、まだ進行中の作業である CSS specification を参照し、互換性のない方法で変更されるかもしれない。そのような仕様書の機能を利用するとき、著者は、互換性とドキュメントの寿命に与える潜在的な影響の関して固有のリスクを考慮するべきである(should)。

note

EPUB 3 CSS Profile は、以下に記述するように、CSS3 プロパティ名の制限のために -epub- 接頭辞の利用を採用する。これらのプロパティで定義している CSS3 モジュールが成熟し安定であるとして、EPUB のオーサリングガイドラインは、著者に、EPUB 3 Style Sheet でこれらのプロパティの接頭辞のない対等の語句を包含することを即してもよい(may)。

> 3.1 コンテンツの適合性

準拠している EPUB Style Sheet は以下の基準のすべてを満たさなければならない(must):

  • > EPUB 3 CSS Profile に指定されているすべてのコンテンツの制約に順守しなければならない(must)。

  • > EPUB 3 CSS Profile に明示的に識別されていない構成要素を包含してもよい(may)。

  • > UTF-8 または UTF-16 でエンコードしなければならない(must)。

note

CSS Style Sheet から参照されている全ての Publication Resource は、EPUB Publication - コンテンツの適合性 [Publications30] で定義されている Publication Resource の制約に準拠しなければならない(must)。

> 3.2 Reading System の適合性

  • > CSS Viewport を持つ Reading System は、EPUB 3 CSS Profile で特に記述がない場合を除いてこのプロファイルに包含されているすべての CSS の構成要素(Viewport に相当する仕様書に定義されているようなレンダリング)をサポートするべきである(should)。

  • > Reading System は、EPUB 3 CSS Profile で明示的に識別されていない CSS の構成要素の追加をサポートしてもよく(may)、[CSS2.1] で定義されているようなサポートされていない構成要素も処理しなければならない(must)。

note

Reading Systemは、CSS レンダリングのサポートを考慮するさまざまな可能性があり、EPUB Style Sheet の一部または全てのスタイル情報を無視してもよい(may)。

さらに、Reading System が CSS Viewport を持っていないときでも、それは典型的な HTML5 ユーザーエージェント(例えば、無限にスクロールする面ではなくコンテンツの改ページ)とは異なる方法でコンテンツのレンダリングをする可能性がある。

> 3.3 EPUB 3 CSS Profile

> 3.3.1 CSS 2.1

EPUB 3 CSS Profile のスタイル基準は、Cascading Style Sheets Level 2 Revision 1 [CSS2.1] である。プロファイルは、以下の例外のある [CSS2.1] に定義されている規範的な全てのスタイルシートの構成要素を包含する:

  • position プロパティの fixed 値は、EPUB 3 CSS Profile の一部ではない。潜在的なレンダリングと互換性の問題を回避するため、EPUB Style Sheet に包含するべきではない(should not)。

  • directionunicode-bidi プロパティは、EPUB Style Sheet に包含してはならない(must not)。著者は、代わりに、向きの情報を示す適切な [HTML5] マークアップを使用するべきである(should)。

CSS Viewport を持つ Reading System は、font-family プロパティをサポートしなければならない(must)。

note

Reading System の能力は、絶対的な配置レイアウトでのページネーションは保証しないので、絶対的な配置の依存は推奨されない。Reading System は、これらのプロパティ値をサポートしなくてもよい。

> 3.3.2 CSS 2.0

EPUB 3 CSS Profile は、[CSS2.0]定義されている list-style-type プロパティの値として以下を包含している:

  • cjk-ideographic

  • hebrew

  • hiragana

  • hiragana-iroha

  • katakana

  • katakana-iroha

> 3.3.3 CSS 3.0 Speech

EPUB 3 CSS Profile は、[CSS3Speech-20110818] で定義されている構文を使用する CSS3 Speech Module [CSS3Speech][CSS3Speech] で定義されているセマンティクスから以下のプロパティの -epub- 接頭辞版を包含する:

  • -epub-cue

  • -epub-pause

  • -epub-rest

  • -epub-speak

  • -epub-speak-as

  • -epub-voice-family

note

合成音声に関連する EPUB 3 の機能の詳細な情報については、テキスト読み上げ [EPUB3Overview] を参照されたい。

> 3.3.4 CSS Fonts Level 3

EPUB 3 CSS Profile は、[CSS3Fonts-20110324] で定義されている構文と [CSS3Fonts] で定義されているセマンティクスを使用し、CSS Fonts Module Level 3 [CSS3Fonts] 仕様書で定義されている @font-face ルールと記述子を包含している。

CSS Viewport を持つ Reading System は、@font-face ルールを使用して埋め込みの OpenType [OpenType] と WOFF [WOFF] フォントをサポートしなければならない(must)。

note

フォントフォールバック処理の要件については、埋め込みフォントの固有のフォールバック [Publications30] を参照されたい。

Reading System は、少なくとも以下の @font-face ルールの記述子をサポートしなければならない(must)。

  • font-family

  • font-style

  • font-weight

  • src

  • unicode-range

@font-face ルールをサポートしていない EPUB 2 Reading System の前方互換のために、著者は、font-family プロパティを使用して汎用フォントを参照しなければならない(should)。

note

Reading System のフォント難読化の要件については、フォント難読化 [OCF3] を参照されたい。

> 3.3.5 CSS Text Level 3

EPUB 3 CSS Profile は、[CSS3Text-20110412] で定義されている構文と [CSS3Text] で定義されているセマンティクスを使用して、CSS Text Level 3 [CSS3Text] 仕様書の以下のプロパティの -epub- 接頭辞版を包含している。

  • -epub-hyphens*

  • -epub-line-break

  • -epub-text-align-last

  • -epub-text-emphasis

  • -epub-text-emphasis-color

  • -epub-text-emphasis-style

  • -epub-word-break

* -epub-hyphens プロパティは、all の値のサポートを包含していない。

さらに、EPUB 3 CSS Profile は、EPUB 3 CSS Profile(-epub-fullwidth-epub-fullsize-kana のそれぞれ)の接頭辞のない fullwidthfullsize-kana の値の例外を除いて、[CSS3Text] で定義されているセマンティクスと [CSS3Text-20110412] で定義されている構文を使用して、CSS Text Level 3 から接頭辞のない text-transform プロパティを包含している。

> 3.3.6 CSS Writing Modes

以下の注記のような directionunicode-bidi プロパティの例外を除いて、EPUB 3 CSS Profile は、[CSS3WritingModes-20110428] で定義されている構文と [CSS3WritingModes] で定義されているセマンティクスのプロパティ名に -epub- を付けた CSS Writing Modes Module Level 3 [CSS3WritingModes] 仕様書で定義されている機能の全てを包含している。

[CSS3WritingModes]directionunicode-bidi プロパティは、EPUB 3 CSS Profile に包含していない。著者は、代わりに、向きの情報を示す適切な [HTML5] マークアップを使用するべきである(should)。

> 3.3.7 Media Queries

EPUB 3 CSS Profile は Media Queries [MediaQueries] 仕様書で定義されているメディアクエリーの @media@import ルールを包含している。

> 3.3.8 CSS Namespaces

EPUB 3 CSS Profile は、スタイルシートのための標準の名前空間の宣言と名前空間に接頭辞を付けた [CSS Namespaces] で定義されている @namespace ルールを包含している。

> 3.3.9 CSS Multi-Column Layout

EPUB 3 CSS Profile は、column-span プロパティを除いた CSS Multi-column Layout Module [CSSMultiCol] 仕様書で定義されているすべての機能を包含する。

注意

著者は、この挙動は不安定で変更されるかもしれないので、オーバーフロー状態のカラムの挙動に依存するべきではない(should not)。

注意

ページネーションのアルゴリズムは CSS で完全に定義されていない。著者は、従って、Reading System によって異なる正確なページネーションの位置に期待するべきである。

Reading System は、column-count プロパティのためのエイリアスのような oeb-column-number プロパティを処理しなければならない(must)。EPUB Style Sheets の oeb-column-number プロパティの使用は推奨されておらず、この適合性要件は、EPUB の次の主要なバージョンから削除されるかもしれない。

> 3.3.10 Ruby Positioning

EPUB 3 CSS Profile は以下の定義のような -epub-ruby-position プロパティを包含している:

名前: -epub-ruby-position
値: over | under | inter-character
初期値: over
適用対象: ruby text 要素
継承: yes
パーセンテージ: 利用不可
メディア: visual
算出値: 指定値

このプロパティは、ベースとなるテキストを対してルビテキストの配置を制御している。値は以下の意味を持っている:

over

ルビのテキストは、ルビをふる対象の側に配置される。

under

ルビのテキストは、ルビをふる対象の側に配置される。

inter-character

ルビのテキストは、ベースとなるテキストの右側に配置される。(この値は、典型的に Zhuyin Fuhao (Bopomofo) ルビに使用される)

note

-epub-ruby-position プロパティは、CSS Ruby Module [CSS3Ruby]ruby-position プロパティのためのエイリアスとなる。

> 3.3.11 Display Property 値の oeb-page-headoeb-page-foot

[CSS2.1]Section 9.2.4display プロパティに定義された標準値に加え、EPUB Style Sheets は、oeb-page-headoeb-page-foot の値を指定してもよい(may)。

Reading System は、ヘッダーとして display: oeb-page-head を割り当てられた要素と、フッターとして display: oeb-page-foot を割り当てられた要素のコンテンツを表示するべきである(should)。どちらも inlineblock であるかのように単純に表示されるべきである(should)。Reading System が header や footer を表示する方法は、本仕様書では定義されていない(例えば、印刷レイアウトのように固定位置にそれらはレンダリングするか、画面スペースの可能な限りそれらをポップアップしてもよい(may))。

ページレイアウトの目的のために、これらのディスプレイ値は、絶対位置(すなわち、fixed または absolute の値)にボックスを固定することと似ている。それらは通常のフローから除かれ、新しいブロックボックスは独自のフローによって作られる。要素が position: fixed のセットを持っているかのようにマージンやパディング、他のブロックの特性が決定される。

display: oeb-page-head または display: oeb-page-foot を割り当てられた要素は、そのような要素の前に指定された任意のマークアップが同じコンテクスト内(例えば、ページ区切りされたコンテクスト内の同じページ上、またはスクロールコンテクストのビューポート内)でレンダリングされている間は有効と見なしてはならない(must not)。一度有効になったら、要素は、以下の状態が真になるまで有効なままでなければならない(must):

  • 代わりに別の header または footer(それぞれ)が有効、または、

  • その親要素のいずれの部分も表示されないままである。

例えば、適切なスタイルの設定でスクリーンにレンダリングする時、以下の例にあるような class に myhead を指定された div 要素は、含んでいる div の前に表示されるものがないとすぐにページのヘッダーになり、div が非表示になったとき、効果が現れる:

<div>
   <div class="myhead" style="display: none; display: oeb-page-head">
      The OEB Publication Structure: Introduction
   </div>
   <h2>Introduction</h2>
   <p>…</p>
</div>

note

display プロパティは、この機能をサポートしない Reading System がコンテンツを表示しないことを保証するために oeb-page-head が設定される前に上の例のように none の値のセットをする。このアプローチは、oeb-page-head または oeb-page-foot 値を設定するときはいつでも推奨される。

> 4 PLS Documents

> 4.1 概要

このセクションは参考情報である。

W3C 発音語彙仕様書 [PLS] は、自動音声認識と Text-to-Speech (TTS) エンジンの使用による XML ベースの発音語彙のための構文とセマンティクスを定義している。

以下のセクションは、EPUB Publication を包含している PLS 文書のための基準と、XHTML Content Document に PLS Documents を結びつけるためのルールを適合性を定義している。

note

合成音声に関連する EPUB 3 の機能の詳細な情報は、テキスト読み上げ [EPUB3Overview] を参照されたい。

> 4.2 EPUB Publication の適合性

適合した EPUB Publication は、PLS Documents に含むために以下の基準をすべて満たさなければならない(must):

次の例は、XHTML Content Document に関連付けられた二つの PLS Documents(中国語とモンゴル語のためのもの)を示している。

<html … >    
    <head>
        …
        <link rel="pronunciation" type="application/pls+xml" hreflang="zh" href="../speech/zh.pls"/>
        <link rel="pronunciation" type="application/pls+xml" hreflang="mn" href="../speech/mn.pls"/>
    </head>        
    …
</html>

> 4.3 コンテンツの適合性

Core Media Type Resource とみなすために、PLS Document は以下の基準をすべて満たさなければならない(must):

文書のプロパティ

>  XML 適合性 [Publications30] で定義された XML 文書ための適合性の制約を満たさなければならない(must)。

> http://www.w3.org/TR/pronunciation-lexicon/pls.rng [PLS] で利用できる PLS 文書のための RELAX NG スキーマに妥当でなければならない(must)。

ファイルのプロパティ

> PLS Document のファイル名はファイル拡張子の .pls を使用するべきである(should)。

> 4.4 Reading System の適合性

適合した EPUB Reading System は、PLS Documents の処理のための以下の基準をすべて満たさなければならない(must):

  • > Text-to-Speech (TTS) 機能を持った Reading System は、PLS をサポートするべきである(should)。

    > PLS をサポートする Reading System は、[PLS] で定義されているように PLS ドキュメントを処理しなければならない(must)。

    > PLS をサポートする Reading System は、発音語彙が関連している言語 [PLS] に一致する language [HTML5] は現在の XHTML Content Document 内のすべてのテキストノードに供給された発音命令を適用しなければならない(must)。言語タグを一致させるためのアルゴリズムは BCP47 で定義されている。

    > 発音ルールが、特定の言語に特定の文字列の対象に対して複数指定されているとき、ルールの最後の発生は、任意の事前に定義された発音ルールがオーバーライトするこのような方法で、優先される。

    > PLS と SSML 属性をサポートする Reading System は、ssml:phssml:ph 属性経由で提供される任意の発音命令が ssml:ph 属性を含んでいる要素のテキストノードに一致する pls:grapheme に優先することを許可しなければならない(must)。

> 付録 A. スキーマ

この付録のスキーマは、規範である。

note

これらのスキーマを使用した妥当性検証は、[NVDL][RelaxNG][ISOSchematron] をサポートする処理系を要求するだろう。

しかしながら NVDL スキーマレイヤーは、単独で埋め込まれている RELAX NG と ISO Schematron スキーマを使用し、マルチパスバリデーションによって置換することができることに注意されたい。

> A.1 XHTML Content Document スキーマ

XHTML Content Documents スキーマは、http://www.idpf.org/epub/30/schema/epub-xhtml-30.nvdl が利用できる。

すべてのカスタム data 属性 (data-*) は、検証の前に削除しなければならないことに注意されたい(must)。

> A.2 EPUB Navigation Document スキーマ

EPUB Navigation Documents スキーマは、http://www.idpf.org/epub/30/schema/epub-nav-30.nvdl が利用できる。

すべてのカスタム data 属性 (data-*) は、検証の前に削除しなければならないことに注意されたい(must)。

> A.3 SVG Content Document スキーマ

SVG Content Documents スキーマは、http://www.idpf.org/epub/30/schema/epub-svg-30.nvdl が利用できる。

> 付録 B. JavaScript epubReadingSystem オブジェクト

> B.1 構文

ReadingSystem = navigator.epubReadingSystem;

> B.2 概要

epubReadingSystem オブジェクトは、Scripted Content Document が、UserReading System に関する情報を照会できるインターフェースを提供する。

オブジェクトは、その名前とバージョンなどのような Reading System に関するいくつかのプロパティを表示し、そのサポートする機能を決定するために呼び出すことができる hasFeature メソッドを提供する。

現在の Reading System の名前を表示させる JavaScript の関数の例。

alert("Reading System name: " + navigator.epubReadingSystem.name);

> B.3 プロパティ

以下のプロパティで、Reading System に関する情報を読み出せるようにしなければならない(must)。

必須の epubReadingSystem プロパティ
名前 概要
name Reading System(例えば、iBooksKindle)の名前を表す String 値を返す。
version Reading System(例えば、1.0, 2.1.1)のバージョンを表す String 値を返す。
layoutStyle

コンテンツのレイアウトのスタイルを表す String 値を返す。

Reading System は、典型的に paginatedscrolling の値のひとつを返すが、それがサポートしている任意の追加レイアウト形式の値を定義してもよい(may)。

> B.4 メソッド

> B.4.1 hasFeature

> B.4.1.1 構文

hasFeature(feature[, version])

> B.4.1.2 概要

認識機能のために、hasFeature メソッドは、いずれのバージョンをサポートしているかを示す boolean 値を返す。

省略可能な version パラメータを包含しているならば、返り値は、指定されたバージョンのみサポートすることを示す。

メソッドは、機能が Reading System で認識されないときは undefined を返す。

現在の Reading System が DOM のスクリプト操作をサポートしているかどうかを表す JavaScript の関数の例。

var feature = "dom-manipulation";

var conformTest = navigator.epubReadingSystem.hasFeature(feature);

alert("Feature " + feature + " supported?: " + conformTest);
> B.4.1.3 機能

spine-levelcontainer-constrained の)スクリプトをサポートしているすべての Reading System によって認識されなければならない(must)機能を、以下の表に記述する。Reading System は、これらの機能(詳細は Scripted Content Documents - Reading System の適合性を参照されたい)の一部または全てをサポートしてもよい(may)。

機能の名前は大文字と小文字を区別しない。

必須の epubReadingSystem 機能
名前 概要
dom-manipulation スクリプトは、ドキュメントの DOM(spine-level スクリプトのみ適用される)に構造の変更をしてもよい(may)。
layout-changes スクリプトは、コンテンツのレイアウト(spine-level スクリプトのみ適用される)に影響を及ぼす属性と CSS スタイルの変更をしてもよい(may)。
touch-events デバイスはタッチイベントをサポートしており、Reading System は、コンテンツにタッチイベントを渡す。
mouse-events デバイスはマウスイベントをサポートしており、Reading System はコンテンツにマウスイベントを渡す。
keyboard-events デバイスはキーボードイベントをサポートしており、Reading System はコンテンツにキーボードイベントを渡す。
spine-scripting Spine-level スクリプトをサポートしている。

Reading System がこのセクションで定義された機能をサポートしているなら、バージョンのパラメータセットなしに問い合わせるとき、パラメータに 1.0 の値をセットするときのいずれも true 値を返さなければならない(must)。そうでなければ、false を返さなければならない(must)。 Reading System 開発者は、本仕様書から独立してこの機能のバージョン番号を変更するべきではない(should not)。

追加機能は、Reading System 開発者により加えられてもよいが(may)、本仕様書の将来のバージョンで、そのようなカスタムの追加と競合したり互換性をなくす方法でこの一覧に追加されるかもしれない。

> 付録 C. 謝辞と貢献者

この付録は参考である

EPUB は、出版社、ベンダー、ソフトウェア開発者、および関連する標準規格の専門家を集め、協力的な努力で国際電子出版フォーラム(International Digital Publishing Forum, IDPF) によって開発されました。

EPUB 3 仕様は下に述べるリーダーシップにより2010年5月のメンバーシップによって承認された憲章の下で動作し国際電子出版フォーラム(International Digital Publishing Forum, IDPF)の EPUB Maintenance Working Group によって調整した:

ワーキンググループのアクティブメンバー:

IDPF Members

Invited Experts/Observers

より詳細な承認と EPUB の各バージョンへの貢献者については Acknowledgements and Contributors [EPUB3Overview] を参照されたい。

> 参照・参考

参照文献

[AltStyleTags] Alternate Style Tags . Elika J. Etemad.

[CSS Namespaces] CSS Namespaces Module . Elika J. Etemad, et al.

[CSS2.0] Cascading Style Sheets, level 2 - CSS2 Specification . Bert Bos, et al. 12 May 1998 (revised 11 April 2008).

[CSS3Fonts] CSS Fonts Module Level 3 . John Daggett.

[CSS3Fonts-20110324] CSS Fonts Module Level 3 (20110324) . John Daggett. 24 March 2011.

[CSS3Speech] CSS3 Speech Module . Dave Raggett, et al.

[CSS3Speech-20110818] CSS3 Speech Module (20110818) . Dave Raggett, et al. 19 April 2011.

[CSS3Text] CSS Text Level 3 . Elika J. Etemad, et al.

[CSS3Text-20110412] CSS Text Level 3 (20110412) . Elika J. Etemad, et al. 12 April 2011.

[CSS3WritingModes] CSS Writing Modes Module Level 3 . Elika J. Etemad, et al.

[CSS3WritingModes-20110428] CSS Writing Modes Module Level 3 (20110428) . Elika J. Etemad, et al. 28 April 2011.

[CSSMultiCol] CSS Multi-column Layout Module . Hakon Wium Lie.

[ContentDocs30] EPUB Content Documents 3.0 .

[MATHML] Mathematical Markup Language (MathML) Version 3.0 . David Carlisle, et al. 21 October 2010.

[MediaOverlays30] EPUB Media Overlays 3.0 .

[MediaQueries] Media Queries .

[PLS] Pronunciation Lexicon Specification 1.0 (PLS) . Paolo Baggia. 14 October 2008.

[Publications30] EPUB Publications 3.0 .

[RFC2046] Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types (RFC 2046) . N. Freed, N. Borenstein. November 1996.

[RFC5646] Tags for Identifying Languages (RFC 5646) . A. Phillips, M. Davis. September 2009.

[SSML] Speech Synthesis Markup Language (SSML) Version 1.1 . Daniel C. Burnett, et al. 7 September 2010.

[SVG] Scalable Vector Graphics (SVG) 1.1 (Second Edition) . Erik Dahlstrom, et al. 09 June 2011.

[SVG Access] Accessibility Features of SVG . Charles McCathieNevile, et al. 7 August 2000.

[Unicode] The Unicode Consortium. The Unicode Standard, Version 5.0.0, defined by: The Unicode Standard, Version 5.0 (Boston, MA, Addison-Wesley, 2007. ISBN 0-321-48091-0).

[WAI-ARIA] Accessible Rich Internet Applications (WAI-ARIA) 1.0 . James Craig, et al.

[WCAG20] Web Content Accessibility Guidelines (WCAG) 2.0 . Ben Caldwel, et al. 11 December 2008.

[WOFF] WOFF File Format 1.0 . Jonathan Kew, et al.

[XML] Extensible Markup Language (XML) 1.0 (Fifth Edition) . T. Bray, et al. 26 November 2008.

[XML Events] XML Events . Shane McCarron, et al. 14 October 2003.

[XMLNS] Namespaces in XML (Third Edition) . T. Bray, D. Hollander, A. Layman, R. Tobin. W3C. 8 December 2009.

参考文献

[EPUB3Changes] EPUB 3 Differences from EPUB 2.0.1 . William McCoy, et al.

[EPUB3Overview] EPUB 3 Overview . Garth Conboy, et al.

[Role] Role Attribute . An attribute to support the role classification of elements. McCarron, et al. 05 August 2010.