この仕様は、セマンティクスと EPUB® パッケージの適合必要条件を定める。各パッケージは、EPUB 出版物レンディションを表現し、出版物リソースに関連させる方法の要件のセットとレンディションのコンテンツを表現しているパッケージ ドキュメントによって定義される。

この仕様は、例えば目次など、ナビテーションの支援を提供する EPUB コンテンツ ドキュメントの機械および人間の可読性に特化した EPUB ナビゲーション ドキュメントもまた定義する。

この仕様は、[[EPUB32]] を構成する仕様群のひとつであり、XML や Web 規格に基づいたデジタル出版物の交換や配信形式である。この仕様は EPUB 3 を構成する他の仕様と共に読み、理解することになっている。

この仕様と前身の多くの相違についての詳細情報は [[EPUB32Changes]] を参照されたい。

まえがき

用語

EPUB 3 固有の意味を持つ用語は、このドキュメント(例えば、「製作者」、「リーディング システム」)で利用できる。これらの用語と定義の完全なリストは、[[!EPUB32]] で提供されている。

セクションにある用語の最初のインスタンスのみが、その定義にリンクされる。

プリフィックス マッピング

便宜上、次の予約済みのプリフィックス マッピングは、この仕様で使用されている。

プリフィックス URI
dcterms http://purl.org/dc/terms/
opf http://www.idpf.org/2007/opf
rendition http://www.idpf.org/vocab/rendition/#

適合性

パッケージの適合性

適合する EPUB パッケージは次の条件を全て満たさなければならない(MUST)。

パッケージ ドキュメント

パッケージ ドキュメント — コンテンツの適合性で定義されているコンテンツの要件に適合しなければならなず(MUST)、正確にひとつのパッケージ ドキュメントが含まれなければならない(MUST)。

出版物リソース

マニフェストで定義されているように)パッケージに関連する全ての出版物リソースは、パッケージ ドキュメントに記載しなければならない(MUST)。

EPUB ナビゲーション ドキュメント

EPUB ナビゲーション ドキュメント — コンテンツの適合性に定義されているコンテンツの要件に準拠しなければならず(MUST)、正確にひとつの EPUB ナビゲーション ドキュメントを含まなければならない(MUST)。

コンテンツ ドキュメント

それぞれが、[[!ContentDocs32]] に定義されているコンテンツの要件に準拠しなければならず(MUST)、ひとつ以上の EPUB コンテンツ ドキュメントを含まなければならない(MUST)。

CSS スタイル シート

それぞれが、CSS スタイル シート — コンテンツの適合性 [[!ContentDocs32]] に定義されているコンテンツの要件に準拠しなければならず(MUST)、ゼロ個以上の CSS スタイル シートを含んでもよい(MAY)。

発音辞書

それぞれが、PLS ドキュメント — コンテンツの適合性 [[!ContentDocs32]] に定義されているコンテンツの要件に準拠しなければならず(MUST)、ゼロ個以上の PLS ドキュメントを含んでもよい(MAY)。

メディア オーバーレイ ドキュメント

それぞれが、[[!MediaOverlays32]] に定義されているコンテンツの要件に準拠しなければならず(MUST)、ゼロ個以上のメディア オーバーレイ ドキュメントを含んでもよい(MAY)。

追加リソース

それぞれが、出版物リソース [[!EPUB32]] の要件に順守しなければならず(MUST)、上に挙げたものに加えて、ゼロ個以上の出版物リソースを含んでもよい(MAY)。

リーディング システムの適合性

EPUB リーディング システムは、次の条件を全て満たさなければならない(MUST)。

パッケージ ドキュメント

まえがき

パッケージ ドキュメントは、EPUB パッケージの特定の面に関する情報をそれぞれカプセル化した要素のセットから成り立つ XML ドキュメントである。これらの要素は、メタデータを集約やパッケージを構成する個々のリソースを記述、読む順序とレンディションをレンダリングするために必要な他の情報を提供するために役立つ。

次のリストはパッケージ ドキュメントで発見される情報をまとめたものである。

コンテンツの適合性

パッケージ ドキュメント は、次の条件を全て満たさなければならない(MUST)。

ドキュメントのプロパティ

XML 適合性 [[!EPUB32]] で定義された XML ドキュメントの適合性の制約を満たさなければならない(MUST)。

パッケージ ドキュメントの定義で表現される全てのコンテンツの適合性の制約に準拠しなければならない(MUST)。

コンテンツの適合性制約のいくつかは、付録 A パッケージ ドキュメント スキーマで提供されるスキーマに対してコンテンツ ドキュメントを検証することでチェック可能である。

ファイルのプロパティ

パッケージ ドキュメントのファイル名は、ファイル拡張子の .opf を使用するべきである(SHOULD)。

パッケージ ドキュメントは、MIME メディア タイプ application/oebps-package+xml [[!RFC4839]] を持つ。

リーディング システムの適合性

EPUB リーディング システムは、次の条件を全て満たさなければならない(MUST)。

処理

パッケージ ドキュメントの定義で述べられている全てのリーディング システムの適合性の制約に準拠するパッケージ ドキュメントを処理しなければならない(MUST)。

パッケージをレンダリングするメタデータで述べられているとおり、レンダリングのメタデータを処理するべきである(SHOULD)。

固定レイアウト プロパティで述べられているとおり、固定レイアウトのメタデータを処理しなければならない(MUST)。

固定レイアウト プロパティで定義されたプロパティのセマンティクスの挙動がそれらと衝突する場合、レイアウトの表現に関連する専用のメタデータプロパティを無視しなければならない(MUST)。

パッケージ ドキュメントの定義

特に指定のない限り、このセクションで定義されている全ての [[!XML]] 要素は、http://www.idpf.org/2007/opf 名前空間 [[!XML-NAMES]] である。

このセクションで定義されている要素が、必須のテキスト コンテンツを持つとき、そのコンテンツは、説明的な記述の要素の値と見なされる。

package 要素

package 要素は、パッケージ ドキュメントのルート要素であり、EPUB パッケージの個々の外観を定義する。(一般的な要約は、まえがきを見よ)

要素名

package

使用法

package 要素はパッケージ ドキュメントのルート要素である。

属性
コンテンツモデル

記述順序

version 属性は、特定の EPUB パッケージが適合する EPUB 仕様のバージョンを指定する。属性は、仕様のこのバージョンに準拠していることを示すための値に「3.0」を持たなければならない(MUST)。

unique-identifier 属性は、優先度やプライマリの識別子を提供する dc:identifier 要素を識別する IDREF [[!XML]] を取る。詳細については出版物識別子を参照されたい。

prefix 属性は、この仕様では予約されていないプリフィックスの宣言メカニズムを提供する。詳細については prefix 属性を参照されたい。

共通の属性

このセクションは、(例えば、二つ以上の要素で許可されているような)共通の属性のための定義を提供する。

dir

含まれる要素とその子孫の内容と属性値の基本テキスト方向を指定する。

[[!Unicode]] を使用して指定された固有の方向性は、この属性よりも優先される。

許可された値は ltr(左から右)と rtl(右から左)である。

<package … dir="ltr">

collectiondc:contributordc:coveragedc:creatordc:descriptiondc:publisherdc:relationdc:rightsdc:subjectdc:titlemetapackage を許可する。

href

リソースへの絶対または相対 IRI 参照 [[!RFC3987]]。

<link rel="record"
      href="meta/9780000000001.xml" 
      media-type="application/marc"/>

itemlink を許可する。

id

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

<dc:identifier id="pub-id">urn:isbn:97800000000001</dc:identifier>

collectiondc:contributordc:coveragedc:creatordc:datedc:descriptiondc:formatdc:identifierdc:languagedc:publisherdc:relationdc:rightsdc:sourcedc:subjectdc:titledc:typeitemitemreflinkmanifestmetapackagespine を許可する。

media-type

参照されたリソースの種類と形式を指定するメディア タイプ [[!RFC2046]]。

<link rel="record"
      href="http://example.org/meta/12389347?format=xmp"
      media-type="application/xml"
      properties="xmp"/>

itemlink を許可する。

properties

プロパティ値のスペースで区切られたリスト。

属性に使用できる予約された語彙のために各要素の定義を参照されたい。

<item id="nav" 
    href="nav.xhtml" 
    properties="nav"
    media-type="application/xhtml+xml"/>

itemitemreflink を許可する。

refines

要素によって拡張された表現又はリソースの識別子。属性の値は、記述されているリソース又は要素を参照する相対 IRI [[!RFC3987]] でなければならない。

refines 属性は、表現されたメタデータの型に応じて省略可能である(OPTIONAL)。省略された時、要素は、初期設定の表現を定義する。

linkmeta を許可する。

xml:lang

[[!XML]] のセクション 2.12 Language Identification で定められているように、属性を含んでいる要素やその子孫の内容と属性値で使われる言語を指定する。

<package … xml:lang="ja">
   …
</package>

collectiondc:contributordc:coveragedc:creatordc:descriptiondc:publisherdc:relationdc:rightsdc:subjectdc:titlemetapackage を許可する。

メタデータ

metadata 要素

metadata 要素は、指定されたレンディションのためのメタ情報をカプセル化する。

要素名

metadata

使用法

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

属性

なし

コンテンツモデル

順序なし

パッケージ ドキュメントの metadata 要素は、二つの主要な機能を持っている。

  1. EPUB 出版物の内部カタログに使用し、(例えば、本棚に提示するなど)ユーザーのために利用可能にするリーディング システムのためのメタ情報の最小セットを提供する。

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

パッケージ ドキュメントは、複雑なメタデータをエンコードする機能を提供するように設計されていない。EPUB 出版物に関するより詳細な情報が必要な場合、メタデータ レコードは、(例えば、[[!ONIX]] のように国際規格への適合や特別な目的のために作成されたものへ)link 要素を使用して関連付けることができる。このアプローチは、ネイティブのフォームで処理するためのメタデータを許可し、最小限のパッケージ ドキュメント構造を使用して変換することよって引き起こされる潜在的な問題と情報の損失を回避する。

この理念を踏まえ、パッケージ ドキュメントは、次の最低限のメタデータ要件のみを持つ。それは、[[!DCTERMS]] modified プロパティと共に、[[!DC11]] titleidentifierlanguage 要素を包含しなければならない(MUST)。他の全てのメタデータは、省略可能である(OPTIONAL)。

meta 要素は、任意の語彙からメタデータプロパティを含むための汎用的なメカニズムを提供する。典型的に、EPUB 仕様で定義されたメタデータの表現を含めるために使用されるが、任意のメタデータのために使用してもよい(MAY)。

アクセシビリティ メタデータの提案は、[[EPUBAccessibility]] を見よ。

DCMES 必須の要素

identifier 要素

[[!DC11]] identifier 要素には、UUIDDOIISBN など、特定のレンディションに関連付けられている識別子が含まれている。

要素名

dc:identifier

名前空間

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

使用法

metadata の必須(REQUIRED)の子。

属性
  • id [省略可能]

コンテンツモデル

テキスト

metadata セクションは、レンディションの明確な識別子を含む identifier 要素を包含しなければならない(MUST)。この識別子は package 要素の unique-identifier 属性を経由して一意識別子としてマークされなければならない(MUST)。

各レンディションの一意識別子は、異なってもよく(MAY)、レンディションは、追加の識別子の要素を包含してもよい(MAY)。

同じ EPUB 出版物の異なるバージョンを区別するために、この仕様は、EPUB 出版物のための一意識別子と特定のバージョンを一意に識別するリリース識別子を区別する。

パッケージ化された EPUB 出版物の特定のバージョンを識別するために、リリース識別子はレンディションの最終更新日時に一意識別子を組み合わせることによって構築することができる。パッケージ識別子のセマンティクスと要件の詳細についてはリリース識別子を参照されたい。

レンディションが変更されるたびに、新しい最終更新日時を包含しなければならない(MUST)。

identifier が確立されたシステムに適合しているまたは発行機関によって付与されているかどうかを判断するためにリーディング システムは要素の値を解析することを試みるべきである(SHOULD)。

さらなる正確さを期すため、(例えば、スキームは、値から決定することができなかったり、曖昧な結果を引き起こす場合など)製作者は、リーディング システムの同定を支援するために identifier-type プロパティを付与してもよい(MAY)。

包含するとき、identifier-type 値は、識別子を解析した値よりも優先するべきである(SHOULD)。この仕様は、識別子のために任意の特定のスキームの使用を要求したり推奨しない。

リーディング システムは、値を処理する前に、XML 仕様 [[!XML]] で定義されているとおり、要素の値から先頭と末尾の空白を取り除かなければならない(MUST)。

この仕様は、空白をトリムした後の長さが少なくとも1文字でなければならない(MUST)こと以外は、識別子に追加の制約もしくは要件を課していない。しかしながら、識別子が完全修飾 URI であることを強く勧める。

title 要素

[[!DC11]] title 要素は、EPUB 出版物に指定した名前のインスタンスを表している。

要素名

dc:title

名前空間

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

使用法

metadata の必須(REQUIRED)の子。

属性
コンテンツモデル

テキスト

metadata セクションは、EPUB 出版物のタイトルを含む title 要素を最低でもひとつ包含しなければならない(MUST)。

リーディング システムは、EPUB 出版物の主題として、ドキュメントの順序にある最初の title 要素を認識しなければならない(MUST)(すなわち、読者に提示する主なタイトル)。この仕様は、追加の title 要素を処理する方法を定義しない。

レンディションのタイトルは異なってもよい(MAY)。

リーディング システムは、値を処理する前に、XML 仕様 [[!XML]] で定義されているとおり、要素の値から先頭と末尾の空白を取り除かなければならない(MUST)。

この仕様は、空白をトリムした後の長さが最低でも1文字でなければならない(MUST)以外には、タイトルに追加の制約もしくは要件を課していない。

language 要素

[[!DC11]] language 要素は、指定されたレンディションのコンテンツの言語を指定する。

要素名

dc:language

名前空間

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

使用法

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

属性

id [省略可能]

コンテンツモデル

テキスト

metadata セクションは、[[!BCP47]] に準拠した値を持つ少なくともひとつの language 要素を包含しなければならない(MUST)。

追加の language 要素が多言語の出版物のために含まれてもよいが(MAY)、各要素の値は [[!BCP47]] に準拠しなければならない(MUST)。ドキュメント順の最初の language 要素は、レンディションの初期設定の言語と見なされる。

レンディションの言語は異なってもよい(MAY)。

リーディング システムは、値を処理する前に、XML 仕様 [[!XML]] で定義されているとおり、要素の値の先頭と末尾の空白を取り除かなければならない(MUST)。

DCMES 省略可能な要素

一般的な定義

identifierlanguagetitle を除き、他の全ての [[!DC11]] 要素は、省略可能(OPTIONAL)として設計された。これらの要素は、次の一般化された定義に適合する。

要素名

contributor | coverage | creator | date | description | format | publisher | relation | rights | source | subject | type

名前空間

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

使用方法

省略可能(OPTIONAL)な metadata の子。繰り返し可能。

属性
  • dir [省略可能]contributorcoveragecreatordescriptionpublisherrelationrightssubject 上でのみ許可。

  • id [省略可能] – 全ての要素上で許可。

  • xml:lang [省略可能]contributorcoveragecreatordescriptionpublisherrelationrightssubject 上でのみ許可。

コンテンツ モデル

テキスト

レンディションに対する省略可能(OPTIONAL)な [[!DC11]] メタデータは異なってもよい(MAY)。

リーディング システムは、値を処理する前に、XML 仕様 [[!XML]] によって定義されているとおり、要素の値から先頭と末尾の全ての空白を削除しなければならない(MUST)。

全ての省略可能(OPTIONAL)な [[!DC11]] 要素の値は、空白をトリムした後の長さが最低でも1文字なければならない(MUST)。

この仕様は、次のセクションで注意されているようなことを除き、[[!DC11]] 要素の定義を変更しない。

contributor 要素

[[!DC11]] contributor 要素は、EPUB 出版物コンテンツの作成において二次的な役割を果たした個人や組織などの名前を表すために使用される。

contributor 要素のための要件は、他の全ての点において、creator 要素のものと同じである。

creator 要素

[[!DC11]] creator 要素は、レンディションのコンテンツを作成するための責任者、組織、等の名前を表している。role プロパティは、制作者がコンテンツの制作における働きを示す要素に紐付けることができる。

リーディング システムがユーザーにそれを提示できるように、creator 要素に作成者の名前が含まれているべきである(SHOULD)。file-as プロパティは、名前の正規化された形式を包含するために付けてもよく(MAY)、他の言語又はスクリプトで制作者の名前を表すのは alternate-script プロパティである。

EPUB 出版物が複数の作成者を持つ場合、それぞれが別々の creator 要素に包含するべきである(SHOULD)。

表示優先度を決定する際に、リーディング システムは、metadata セクション中にある creator 要素のドキュメント順序を使用しなければならず(MUST)、最初に遭遇した creator 要素は、最重要な作成者である。リーディング システムが、ユーザーに作成者のメタデータを公開している場合、(例えば、表示結果による制約がない場合など)可能な限り、metadata セクションに記載されている全ての作成者を包含するべきである(SHOULD)。

二次的な貢献者は、contributor 要素を使用して表現されるべきである(SHOULD)。

date 要素

[[!DC11]] date 要素は、EPUB 出版物の刊行日を定義するために使用されなければならない(MUST)。刊行日は、(レンディションが変更された最後の日時である)最終更新日と同じではない。

日付の文字列は、文字列が人間と機械の両方で可読可能であり、特に W3C Date and Time Formats [[!DateTime]] で表現されるサブセット、[[!ISO8601]] に準拠することを推奨する(RECOMMENDED)。

追加の日付は、[[!DCTERMS]] や類似の語彙で利用可能である特別な日付用のプロパティで表現されるべきである(SHOULD)。

刊行日は、EPUB 出版物の全てのインスタンスに共通でもよいし(MAY)、(例えば EPUB 出版物はオンデマンドで生成される場合など)インスタンス毎に変更されてもよい(MAY)。

ひとつの date 要素のみ許可されている。

subject 要素

[[!DC11]] subject 要素は、EPUB 出版物のサブジェクトを識別する。要素の値は、人間が可読可能な見出し又はラベルとするべきだが(SHOULD)、サブジェクトのタクソノミーが個別の記述的なラベルで提供できない場合、コードの値でもよい(MAY)。

製作者は、authority プロパティを使用して要素の値が引き出されるシステム又はスキーマを識別してもよい(MAY)。

スキーマを識別した時、サブジェクトのコードは、term プロパティを使用して紐づけなければならない(MUST)。

term プロパティは、スキーマを指定していない subject 要素に紐づけてはならない(MUST NOT)

subject 要素と term プロパティの値は、指定したスキーマが必要する場合のみ、大文字と小文字を区別する。

type 要素

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

この要素で使用するための専門的な EPUB 出版物の型の規定ではないレジストリは、[[TypesRegistry]] で管理されているが、製作者は、値として全てのテキスト文字列を使用してもよい(MAY)。

meta 要素

meta 要素は、パッケージ メタデータを含める一般的な手段を提供する。

要素名

meta

使用法

metadata の子要素。繰り返し可能

属性
コンテンツモデル

テキスト

meta 要素は、メタデータ表現を定義する。 property 属性は、表現で作成されているステートメントを定義するプロパティのデータ タイプ値を取り、要素のテキスト コンテンツは、アサーションを表現する。(より詳細な情報は、語彙の関連付けメカニズムを参照されたい。)

この仕様は、meta 要素を使用して定義できるメタデータ表現の二つのタイプを定義する。

  • 初期設定の表現は、meta 要素で定義された表現が、EPUB 出版物のいくつかの側面を確立するものである。refines 属性が省略された meta 要素は、初期設定の表現で定義される。
  • 副次的な表現は、meta 要素で定義された表現が、refines 属性に参照される表現又はリソースの意味を強化するものである。副次的な表現は、例えば、その持続時間を表現することによって、メディア クリップを改善する、又は人物の役割を定義することによって制作者や貢献者の表現を改善するだろう。

副次的な表現は、初期設定の表現及びリソースのみを改善するために限定されない。これらは、他の副次的な表現の意味を改善するために使用されてもよく、それによって、情報の繋がりを作り出す。

全ての [DCMES] 要素は、初期設定の表現を表し、メタ要素の副次的表現によって改善されることを可能にする。

この仕様は、property 属性で使用するために Meta Properties Vocabulary予約する。他の語彙からの用途は、プリフィックスを持っていれば使用されてもよい(MAY)(宣言する必要のないプリフィックスの一覧は予約済みのプリフィックスを参照されたい)。

scheme 属性は、要素の値が得られるシステムまたはスキームを識別する。属性の値は、スキームを定めるリソースへ解決するプロパティのデータ タイプでなければならない(MUST)。リーディング システムが、scheme 属性の値を認識しない場合、それは文字列として要素の値を扱うべきである(SHOULD)。

リーディング システムは、認識しない表現を定義する property 属性を含んでいる全ての meta 要素を無視すべきである(SHOULD)。リーディング システムは、未知の表現に遭遇するとき、失敗してはならない(MUST NOT)。

個々のプロパティが明示的に別の空白の正規化アルゴリズムを定義している場合を除き、リーディング システムは、さらにそれらを処理する前に XML 仕様 [[!XML]] で定義されているとおり、meta 要素の値から全ての先頭と末尾の空白を取り除かなければならない(MUST)。

全ての meta 要素は空白の正規化後の長さが少なくともひとつ以上の文字の値を表現しなければならない(MUST)。

マニフェスト

manifest 要素

manifest 要素は、それぞれが item 要素によって表される、レンディションを構成する出版物リソースの完全なリストを提供する。

要素名

manifest

使用法

metadata の次の package の必須(REQUIRED)の二番目の子。

属性

id [省略可能]

コンテンツモデル

item [ひとつ以上]

この仕様は国際化されたリソースの命名規則をサポートし、要素と属性は、参照する出版物リソースは IRI をそれらの値として受け入れている。URI のみを受け入れる古いリーディング システムとの互換性のためにリソース名は ASCII 文字セットに制限する必要がある。

item 要素

item 要素は、出版物リソースを表している。

要素名

item

使用法

manifestの子要素。

属性
コンテンツモデル

manifest の各 item 要素は、href 属性で提供されてる IRI [[!RFC3987]] で出版物リソースを識別する。IRI は、絶対 IRI または相対 IRI でもよい(MAY)。相対 IRI の場合、リーディング システムは絶対 IRI を解決するときに、ベースとしてパッケージ ドキュメントの IRI を使用しなければならない(MUST)。結果として絶対 IRI は manifest のスコープ内で一意でなければならない(MUST)。

全ての出版物リソースは、それらがローカルまたはリモート リソースであるかどうかにかかわらず、manifest から参照されなければならない(MUST)。リソースの場所に関するメディアタイプ固有の要件については出版物リソースの配置 [[!EPUB32]] を参照されたい。

manifest は自己参照でないことに注意されたい。それは、パッケージ ドキュメント自身の参照を item 要素に包含してはならない(MUST NOT)。

item 要素で識別される出版物リソースは、media-type 属性で提供される MIME メディア タイプから推測される該当する仕様に準拠しなければならない(MUST)。コア メディア タイプ リソースは、Supported Media Types [[!EPUB32]] で指定されたメディア タイプを使用しなければならない(MUST)。

fallback 属性は、item 要素から参照される出版物リソースのフォールバックを識別する IDREF [[!XML]] を取る。フォールバックは、(例えば、スクリプト コンテンツ ドキュメントに静的な代替を提供するために)コア メディア タイプ リソースに対して提供されてもよい(MAY)。管理外リソースのためのフォールバック要件は、マニフェスト フォールバックに定義されている。

この仕様は、properties 属性に使用するための EPUB Manifest Properties Vocabulary予約しない。他の語彙からの用語は、プリフィックスを持っている限り、使用してもよい(MAY)(宣言の必要がないプリフィックスのリストは予約済みのプリフィックスを参照されたい)。

製作者は、リーディング システムが、(例えば、レンダリングの処理を無効にしたりフォールバックに使用するなど)設定されたプロパティに応じてレンダリングを最適化してもよい(MAY)ように、この属性に各出版物リソースのために利用できる全ての説明を含むメタデータのプロパティを宣言しなければならない(MUST)。リーディング システムは、認識しない全ての記述的なメタデータのプロパティを無視しなければならない(MUST)。

正確にひとつの item が、nav プロパティを使用して EPUB ナビゲーション ドキュメントとして宣言しなければならない(MUST)。

media-overlay 属性は、この item によって記述されたリソースのためのメディア オーバーレイ ドキュメントを識別する IDREF [[!XML]] を取る。詳細はパッケージング [[!MediaOverlays32]] を参照されたい。

manifest における item 要素の順序は重要ではない。コンテンツ ドキュメントの提示順序は spine によって提供される。

次の例は、コア メディア タイプ リソースのみが含まれている manifest を示している。

<manifest>
    <item id="nav" 
          href="nav.xhtml" 
          properties="nav"
          media-type="application/xhtml+xml"/>
    <item id="intro" 
          href="intro.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c1" 
          href="chap1.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c1-answerkey" 
          href="chap1-answerkey.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c2" 
          href="chap2.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c2-answerkey" 
          href="chap2-answerkey.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c3" 
          href="chap3.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="c3-answerkey" 
          href="chap3-answerkey.xhtml" 
          media-type="application/xhtml+xml"/>    
    <item id="notes" 
          href="notes.xhtml" 
          media-type="application/xhtml+xml"/>
    <item id="cover" 
          href="./images/cover.svg" 
          properties="cover-image"
          media-type="image/svg+xml"/>
    <item id="f1" 
          href="./images/fig1.jpg" 
          media-type="image/jpeg"/>
    <item id="f2" 
          href="./images/fig2.jpg" 
          media-type="image/jpeg"/>
    <item id="css" 
          href="./style/book.css" 
          media-type="text/css"/>   
    <item id="pls" 
          href="./speech/dict.pls" 
          media-type="application/pls+xml"/>
</manifest>

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

管理外リソースは、固有のフォールバックコンテンツを(例えば、スパイン itemref 要素からや、XHTML コンテンツ ドキュメントの [[!HTML]] imgiframelink 要素から、EPUB スタイル シートの @import ルールから直接などから)提供されないコンテクストで参照されてもよいし(MAY)、そのようなケースのときはマニフェスト フォールバックを提供しなければならない(MUST)。

マニフェスト フォールバックは、出版物リソースを表すマニフェスト item 要素上の fallback を使用して提供される。fallback 属性の IDREF [[!XML]] 値は、manifest 内の他の item へ解決しなければならない(MUST)。このフォールバック item は、それ自体は別のフォールバックの item を指定してもよい(MAY)。

特定のアイテムの fallback 属性から始まり到達できる全ての ID の参照の順序付きリストは、その項目のフォールバック チェーンを表している。フォールバック チェーン内のリソースの順序は、製作者の好みのフォールバックの順序を表している。

特定の出版物リソースのメディア タイプをサポートしていないリーディング システムは、サポートされていないリソースの代わりに使用する少なくともひとつのサポートされている出版物リソースを識別するまでフォールバック チェーンを辿らなければならない(MUST)。リーディング システムがフォールバック チェーン内の複数の出版物リソースをサポートしている場合、それはそのリソースの特定のプロパティに基づいて使用するリソースを選択してもよく(MAY)、それ以外の場合は製作者の好みのフォールバックの順序を優先するべきである(SHOULD)。リーディング システムが、フォールバック チェインにある任意のリソースをサポートしていない場合、コンテンツが表示できないことをリーダーに警告しなければならない(MUST)。

フォールバック チェーンは、必要に応じて、次の要件のいずれかに準拠しなければならない(MUST)。

  • スパイン itemref 要素から直接参照される管理外リソースのために、チェーンは、少なくともひとつの EPUB コンテンツ ドキュメントを含まなければならない(MUST)。

  • 固有のフォールバックコンテンツが提供されない管理外リソースのために、チェーンは少なくともひとつのコア メディア タイプ リソースを含まなければならない(MUST)。

フォールバック チェーンは、チェーン内の item 要素に循環参照または自己参照を含んではならない(MUST NOT)。ユーザー エージェントは、すでに遭遇したマニフェスト項目に対し、最初に参照した時点で、フォールバック チェインを終わらせなければならない(MUST)。

フォールバックは、EPUB コンテンツ ドキュメントである トップレベル コンテンツ ドキュメントのために提供されてもよい(MAY)。リーディング システムは、特定のコンテキストでレンダリングするコンテンツ ドキュメントの最適なバージョンを見つけるためにこのようなフォールバックを利用してもよい(MAY)。スクリプト コンテンツのフォールバック [[!ContentDocs32]] を提供する場合が、この機能を利用できる場合の例である。

bindings 要素(非推奨)

bindings 要素は、この仕様でサポートされていないメディア タイプのカスタム ハンドラのセットを定義する。その使用は非推奨(deprecated)である。

この要素に関する詳細情報は [[!Publications301]] を参照されたい。

スパイン

spine 要素

spine 要素は、特定のレンディションにおけるデフォルトの読み上げ順序を表す、マニフェスト item 参照の順序付きリストを定義する。

要素名

spine

使用法

manifest の次に記述される package の三番目の必須(REQUIRED)の子要素

属性
コンテンツモデル

0個以上の itemref [ひとつ以上]

リーディング システムは、1)デフォルトの読み上げ順の開始として最初の主要な itemref を認識し、2)spine で指定された順序で連続的に主要な項目のレンダリングを包含する spine で定義された順序でレンディションをレンダリングする手段を提供しなければならない(MUST)。

spine 内の出版物リソースからハイパーリンクされた全ての出版物リソースは、現在のリソースから離れるユーザーが必要とする任意のリンクのメカニズムにハイパーリンクが定義されている場合は、それら自身が spine に記載されなければならない(MUST)。一般的なハイパーリンクのメカニズムは、[[!HTML]] aarea 要素の href 属性、(例えば、DOM イベントおよび/またはフォーム要素を使用する)スクリプトのリンクを包含する。ハイパーリンクされたリソースを記載する要件は、再帰的に適用する(すなわち、ハイパーリンクされた出版物リソースからハイパーリンクされた全ての出版物リソースもまた、記載される)。

EPUB ナビゲーション ドキュメントからハイパーリンクされた全ての出版物リソースはまた、ナビゲーション ドキュメント自身が spine 内に記載されているかどうかに関わらず、spine に記載されなければならない(MUST)。

ハイパーリンクから参照されたリモート リソースは、出版物リソースではないので、(例えば、Web ページやリソースなど)スパインに包含する要件の対象ではない。

(例えば、[[!HTML]] iframe 要素を介す)埋め込まれた出版物リソースは、spine に記載する必要はない。

page-progression-direction 属性は、コンテンツ フローの全体の送り方向を設定する。許可された値は ltr(左から右)、rtl(右から左)と default である。default 値が指定されている場合、製作者の望む送り方向を表しておらず、リーディング システムは、レンダリング方向を選ぶことができる。属性が指定されていない場合は、default 値を想定しなければならない(MUST)。この場合、リーディング システムは、最初の language 要素に基づいてデフォルトの page-progression-direction 値を、選択するべきである(SHOULD)。

page-progression-direction 属性はグローバルな流れの方向を定めているが、個々のコンテンツ ドキュメントとコンテンツ ドキュメントの部分は、この設定を(例えば、directionwriting-mode の CSS プロパティを介して)上書きしてもよい(MAY)。リーディング システムは(例えばボタンまたは代替スタイルシートの適用を可能にする設定で)の初期設定の方向を上書きするためのまたメカニズムを提供してもよい(MAY)。

リーディング システムは、pre-paginated を持つ XHTML コンテンツ ドキュメントで定義されているページ進行方向を無視しなければならない(MUST)。page-progression-direction 属性は、ある固定レイアウトページから次のページへの流れの方向を定義する。

レガシーtoc 属性は、NCX が表すマニフェスト アイテムを識別する IDREF [[!XML]] を取る。

itemref 要素

spine の子要素の itemref 要素は、出版物リソース典型的な EPUB コンテンツ ドキュメント)の順次リストを表している。itemref 要素の順序は、指定されたレンディションのデフォルトの読み上げ順序を定義する。

要素名

itemref

使用法

spine の子要素。繰り返し可

属性
コンテンツモデル

itemref 要素は、idref 属性の IDREF [[!XML]] を介して、マニフェストにある一意な item の ID [[!XML]] を参照しなければならない(MUST)(すなわち、二つ以上の itemref 要素は、同じ item を参照できない)。

参照される各マニフェストの item は、コア メディア タイプ リソースまたは管理外リソースであるかどうか関係なく、a)EPUB コンテンツ ドキュメントまたは b)出版物リソースの別の型のいずれかでなければならず(MUST)、そのフォールバック チェーンの中に EPUB コンテンツ ドキュメントが含まれていなければならない(MUST)。

EPUB 出版物は、EPUB ナビゲーション ドキュメント包含する必要があるが、それを spine に包含することは必須ではない。

linear 属性は、参照された item が最初に読む順序の提供や連続的に読まれる(「yes」)コンテンツなのか、重要なコンテンツの強化または増補や順序とは関係なくアクセス(「no」)できる補助的なコンテンツなのかを示す。補助的なコンテンツは、注釈や説明、解答を包含する。

linear 属性は、リーディング システムに、例えば、ポップアップウィンドウに表示されたり、聴覚リーディングで省略されるかもしれない補足的なコンテンツから、ユーザーが標準的に読む順番の一部としてアクセスする必要があるコンテンツを区別することができる。

EPUB 出版物をレンダリングするとき、リーディング システムは、デフォルトの読み上げ順序に表示されないように非線形コンテンツを抑制しても、EPUB 出版物のコンテンツ全体へユーザーのアクセスを提供するために linear 属性を無視してもよい(MAY)。この仕様は、リーディング システムが使用する何れのモデルも強制しない。リーディング システムはまた、二つのモデルを切り替えるために、ユーザーへオプションを提供をしてもよい(MAY)。

各レンディションは、linear 属性の値が明示的または暗示的に「yes」に設定されている少なくともひとつの itemref を包含しなければならない(MUST)。linear 属性を省略する itemref は、「yes」値を持つことが想定されている。

製作者は、(例えば、コンテンツや EPUB ナビゲーション ドキュメントからのハイパーリンクなど)全ての非線型コンテンツにアクセスする方法を提供しなければならない(MUST)。

この仕様は、properties 属性で使用するために EPUB Spine Properties Vocabulary予約する。他の全ての語彙からの用語は、プリフィックスを持っている限り、使用してもよい(MAY)(宣言の必要がないプリフィックスのリストは予約済みのプリフィックスを参照されたい)。

Spine Properties Vocabulary で定義されている全ての利用可能な説明を含むメタデータのプロパティは、宣言するべきである(SHOULD)。

リーディング システムは、認識しない properties 属性で表現される全てのメタデータ プロパティを無視しなければならない(MUST)。

コレクション

collection 要素

collection 要素は、リソースの関連したグループを定義する。

要素名

collection

使用法

package の六番目の省略可能(OPTIONAL)な要素。繰り返し可。

属性
コンテンツモデル

記述順序:metadata [0 または 1]、(collection [1個以上] または ( collection [0個以上]link [1個以上]))

collection 要素は、リソースを、(例えば、複数のドキュメント間に分割されたインデックスなど)意味を持つ単位へと再構築される複数の EPUB コンテンツ ドキュメント間に分割された有効なコンテンツまたは、(例えば、プレビュー コンテンツなど)特殊な処理のために識別されるリソース、指定されたレンディションに関する追加情報を表現する集約リソースなど、潜在的な数々の用途のために論理的なグループに整理することを許可する。

このセクションで定義されているように、collection 要素は、(例えば、EPUB のサブ仕様を介して)特性が引き出されることを目的とされ、そこから一般的なフレームワークを表現する。このような特性は、レンディション内の collection 要素の目的だけでなく、妥当な生産物と用途(以下に表現される一般的なフレームワークと異なる特定の任意の要求)のための全ての要求のために定義しなければならない(MUST)。

各特性は、全ての適合する collection 要素を一意に識別する役割の値を定義しなければならない(MUST)。パッケージ ドキュメントのそれぞれ collection 要素の役割は、role 属性で識別されなければならず(MUST)、値は、ひとつ以上の NMTOKEN [[!XMLSCHEMA-2]] および/または絶対 IRI [[!RFC3987]] でなければならない(MUST)。NMTOKEN 値の用途は、[[!RoleRegistry]] でメンテナンスされるところの、EPUB で定義していない役割で予約されている。レジストリで定義されていない NMTOKEN 値は、妥当ではない。役割のないものはこのセクションでは定義しない。

サード パーティは、collection 要素に特殊な役割を定義してもよい(MAY)が、このような役割は、絶対 IRI を使用して識別されなければならない(MUST)。特殊な役割は、これらを識別する IRI のホスト コンポーネント内に文字列「idpf.org」を組み込んではならない(MUST NOT)。

リーディング システム全体で特殊な役割の相互互換性を容易にするために、実装は、[[RoleExtensions]] にある collection 要素の使用をドキュメント化することが強く推奨される。

collection の省略可能(OPTIONAL)な metadata 要素の子は、構文とセマンティクスに次の差異があるパッケージの metadata 要素を適合したものである。

  • メタデータは、デフォルトでは必須でない。

  • メタデータ要素の使用におけるパッケージレベルの制限は、上書きしてもよい(MAY)。

  • 全ての初期設定の表現は、collection に適用される。

  • refines 属性は、含んでいる collection の外部にある要素を参照してはならない(MUST NOT)。

  • OPF2 meta 要素は、包含されてはならない(MUST NOT)。

collection は、ひとつ以上の子 collection 要素を包含することによってサブコレクションを定義してもよい(MAY)。

  • rel 属性は省略可能(OPTIONAL)である。

  • properties 属性は、(例えば、コレクションは、独自にナビゲーション ドキュメントやカバー画像を宣言できるように)プリフィックスのないマニフェスト item プロパティもまた受け入れる。

  • refines 属性は、紐づけられてはならない(MUST NOT)。

それぞれの link 要素は、グループのメンバーであるリソースを参照しなければならない(MUST)。link 要素の順序は、重要ではない。

collection 要素の特性は、(例えば、メタデータを要求したり、要素と属性の利用にさらなる制限を課したり、link 要素の順序を重視など)より良くこれらの要求を反映するために上記で定義されている要求を調整してもよい(MAY)。しかしながら、結果として生じたコンテンツモデルは、(例えば、特性は、新しい要素や属性を取り入れたり、上記で明確に禁止されているそれらを再度取り入れることはできないなど)このセクションで定義されたひとつの妥当なサブセットを表現しなければならない(MUST)。特性は、manifestspine の要件を上書きする方法でコレクションを定義してはならない(MUST NOT)。

この仕様のコンテクスト内では、リーディング システムのコレクションのサポートは、省略可能(OPTIONAL)である。リーディング システムは、認識できない役割を定義した collection 要素を無視しなければならない(MUST)。

レンディションのレンダリングは、collection 要素の認識に依存してはならない(MUST NOT)。コンテンツは、全ての情報の損失や他の重大な劣化をすることなくユーザーによって消費できなければならない(MUST)。

レガシー

meta 要素

meta 要素 [[!OPF2]] は、従来、包括的なメタデータを包含する手段を提供したレガシーの機能である。異なる属性を使用し、テキスト コンテンツが必要になる更新された meta 要素によって EPUB 3 で置き換えられた。

meta 要素に関する詳細情報については、[[!OPF2]] の定義を参照されたい。

guide 要素

guide 要素 [[!OPF2]] は、従来、EPUB 出版物の極めて重要な構造として機械処理可能なナビゲーションを提供したレガシーの機能である。EPUB ナビゲーション ドキュメントlandmarks によって EPUB 3 で置き換えられた。

guide 要素に関する詳細情報については、[[!OPF2]] の定義を参照されたい。

NCX

NCX [[!OPF2]] は、従来、EPUB 出版物の目次を提供したレガシーの機能である。EPUB ナビゲーション ドキュメントによって EPUB 3 で置き換えられた。

NCX に関する詳細情報については、[[!OPF2]] の定義を参照されたい。

パッケージ メタデータ

出版物識別子

一意識別子

製作者は、唯一の EPUB 出版物に一意であるパッケージ ドキュメントのメタデータに主要な識別子を包含する責任がある。一意識別子は選択または割り当てられているかどうかに関わらず、dc:identifier 要素に格納する必要があり、package 要素の unique-identifier 属性の一意識別子として参照されなければならない(MUST)。

静的(固定)ではないが EPUB 出版物の一意識別子の変更はできる限り、めったに行わないようにするべきである(SHOULD)。メタデータを更新するときや誤植を直すとき、EPUB 出版物に他のマイナーな変更をするときは、新しい識別子を付与するべきではない(SHOULD NOT)。

リーディング システムは、唯一の EPUB 出版物を一意とするため、一意識別子に依存してはならない(MUST NOT)。同じ一意識別子を持つ二つの EPUB 出版物が、同じ出版物の異なるバージョンを表しているのか(リリース識別子を見よ)、それとも異なる出版物かどうかを決定するために、例えばタイトルや製作者のような、他のメタデータを調査する必要があるだろう。

リリース識別子

典型的に、EPUB 出版物一意識別子は、一意識別子が参照と配布目的のために両方の最大の永続性を持つように意図されているので、パッケージまたはその内容にそれぞれのマイナーリビジョンで変更するべきではない(SHOULD NOT)。一般的に、EPUB 出版物の各リリースは新しいバージョンを一意に識別できる必要があるが、これは結果として変更可能であり、かつ信頼性の高い一意識別子という相反する要求が生じる。

一意識別子を変更せずにマイナーな修正とリリースを識別する課題を是正するために、この仕様はリリース識別子のセマンティクスを定義、または同じ一意識別子を持つ出版物を識別し、連続した順序を示す手段を定める。

リリース識別子は、パッケージの metadata セクションの実際のプロパティではなく、メタデータの二つの他の必須の部分である。一意識別子とレンディションの最終更新日から得られる値である。一緒になる合計値は EPUB 出版物の任意の特定のバージョンを区別するために使用できる一意の識別子を表している。

リリース識別子が構築されることを保証するために、各レンディションは最終更新日を含む [[!DCTERMS]] modified プロパティを正確にひとつ含まれなければならない(MUST)。このプロパティの値は、[[!XMLSCHEMA-2]] 最終更新日に準拠する日付の形でなければならない(MUST)。

CCYY-MM-DDThh:mm:ssZ

変更日は、協定世界時(UTC)で表現されなければならなず(MUST)、「Z」(Zulu)タイム ゾーン インジケータで終了しなければならない(MUST)。

追加の変更日のプロパティは、パッケージ メタデータに包含してもよいが(MAY)、それらは異なるサブジェクトを持たなければならない(MUST)(すなわち、それらは、要素やリソースを参照する refines 属性を要求する)。

パッケージ メタデータの一部でないが、識別子の全ての文字列表現は参照と他の目的のために、区切り文字としてアットマーク(@)を使用して(すなわち「id@date」の形)構成されなければならない(MUST)。文字列を連結するときに空白が含まれてはならない(MUST NOT)。

これらの識別子は任意の文字列の値でもよく(MAY)、区切り文字が一意識別子の中に生じてもよい(MAY)可能性があることに注意されたい。その故にリリース識別子はその構成部分に分解するときに最後の @ 記号の箇所で分割しなければならない(MUST)。

リリース識別子は一意識別子を優先しないが、同じ EPUB 出版物の異なるバージョンを区別し、流通チャネルやリーディング システムによって識別することができる手段を意味する。タイムスタンプの形式を受け継ぐことで、識別子の正確な知識なしに EPUB 出版物を連続する年代順に配置することもできる。

従って EPUB 出版物のセットはリリース識別子によって、それらが同じ EPUB 出版物の同じバージョンか、ひとつの出版物の異なるバージョンか、異なっていて類似した EPUB 出版物の組合せをかどうかを判断する為に調べられることができる。

EPUB コンテナが、EPUB 出版物のレンディションをひとつ以上包含するとき、リーディング システムが初期設定のレンディションのみ処理する必要があり、それらが更新されていない場合でも、各リリースの初期設定のレンディションの最終更新日をアップデートすると、EPUB 出版物は、以前のリリースと同じバーションが表示されないことを担保するのを助けるであろう。

語彙の関連付けメカニズム

まえがき

propertypropertiesrelscheme 属性はメタデータ語彙の用語を表すためにプロパティ データ タイプを使用する。CURIE [[RDFA-CORE]] と同様に、プロパティ データ タイプはコンパクトなフォームで IRI [[RFC3987]] を表し、標準化された語彙のメタデータ作成を簡略化する。

プロパティ値はプリフィックスと参照の組み合わせにより表現される。プリフィックスとは、(リテラルまたは暗黙的かを問わず)一般的にある用語の語彙に解決される IRI の簡略マッピングである。プリフィックスをその IRI 表現に変換し参照と組み合わせるとき、結果として IRI は通常、用語についての人間および/または機械可読な情報を含んでいる語彙内のフラグメントに解決される。

プロパティ値の処理においてリーディング システムを支援するために、この仕様は、プリフィックスをマップする IRI を確立する3つのメカニズムを定義している。

  • デフォルトの語彙 — がプリフィックスを含んでいないときのマッピングを定義し、

  • 予約済みプリフィックス — これらのマッピングはあらかじめ定義されており(すなわち全てのリーディング システムがそれらを認識する)、宣言することなく使用することができ、そして、

  • prefix 属性 — ルート package 要素にプリフィックスのマッピングを作成することで宣言できる。

デフォルトの語彙

デフォルトの語彙はその用語を使用するために宣言する必要がない語彙であり、その用語は常にプリフィックスが付かないようにしなければならない(MUST)。

パッケージ ドキュメントは、メタデータの用語に対し複数の関連性のない使い方があるように、単一のデフォルトの語彙は、全ての属性のために定義されていない。その代わりに、異なるデフォルトの語彙は、次のようにプロパティ データ タイプを受け入れる属性の使い方が定義されている。

  • Meta Properties Vocabulary は、meta property 属性のためのデフォルトの語彙として定義される。

    属性値にプリフィックスが包含されていない場合、次の IRI [[!RFC3987]] ステムは、結果として生じる IRI:http://idpf.org/epub/vocab/package/meta/# を生成するために使用されなければならない(MUST)。

  • Metadata Link Vocabulary は、link relproperties 属性のためのデフォルトの語彙として定義される。

    属性値の何れかにプリフィックスが包含されていない場合、次の IRI [[!RFC3987]] ステムは、それらの結果として生じる IRI:http://idpf.org/epub/vocab/package/link/# を生成するために使用されなければならない(MUST)。

  • Manifest Properties Vocabulary は、item properties 属性のためのデフォルトの語彙として定義される。

    属性値の何れかにプリフィックスが包含されていない場合、次の IRI [[!RFC3987]] ステムは、それらの結果として生じる IRI:http://idpf.org/epub/vocab/package/item/# を生成するために使用されなければならない(MUST)。

  • Spine Properties Vocabulary は、itemref properties 属性のためのデフォルトの語彙として定義される。

    属性値の何れかにプリフィックスが包含されていない場合、次の IRI [[!RFC3987]] ステムは、それらの結果として生じる IRI:http://idpf.org/epub/vocab/package/itemref/# を生成するために使用されなければならない(MUST)。

それらの語彙に関連付けられた IRI は、prefix 属性を使用してプリフィックスを割り当ててはならない(MUST NOT)。

予約済みのプリフィックス

この仕様は、製作者が宣言することなくパッケージ メタデータに使用してもよい(MAY)次のプリフィックスのセットを予約する。

予約済みのプリフィックスは、オーサリング時において便利ですが、それらに依存することは、相互互換性の問題に繋がる。例えば、適合性ツールは、しばしば、ツールが更新されるまで新しいプリフィックスを拒否する。製作者は、そのような問題を避けるために、使用する全てのプリフィックスの宣言を強く推奨する。

Prefix IRI
a11y http://www.idpf.org/epub/vocab/package/a11y/#
dcterms http://purl.org/dc/terms/
marc http://id.loc.gov/vocabulary/
media http://www.idpf.org/epub/vocab/overlays/#
onix http://www.editeur.org/ONIX/book/codelists/current.html#
rendition http://www.idpf.org/vocab/rendition/#
schema http://schema.org/
xsd http://www.w3.org/2001/XMLSchema#

リーディング システムは、ローカルのプリフィックスが宣言されていない限り、定義済み URI を使用してパッケージ ドキュメントに使用されている全ての予約済みのプリフィックスを解決しなければならない(MUST)。予約済みのプリフィックスは、prefix 属性を上書きするべきではないが(SHOULD NOT)、リーディング システムは、遭遇したときにローカルでの上書きを使用しなければならない(MUST)。

予約済みのプリフィックスとリーディング システムの更新は常に同期して起こるわけではなく、リーディング システムは、認識されていないプリフィックス(つまり、prefix 属性を使用して予約も宣言もしていない)に遭遇したとき失敗してはならない(MUST NOT)。

prefix 属性

prefix 属性は、この仕様で予約されていない追加のプリフィックスのマッピングを定義する。

prefix 属性の値は、ひとつまたは複数のプリフィックスから IRI へのマッピングの空白で区切ったリストの形である。

(EBNF 記法 ISO/IEC 14977)
全ての終端記号は、Unicode ブロック'基本ラテン文字'(U+0000 から U+007Fまで)である。
prefixes = mapping , { whitespace, { whitespace } , mapping } ;
mapping = prefix , ":" , space , { space } , ? xsd:anyURI ? ;
prefix = ? xsd:NCName ? ;
space = #x20 ;
whitespace = (#x20 | #x9 | #xD | #xA) ;

衝突を回避するために、prefix 属性は、デフォルトの語彙にマップされるプリフィックスを宣言するために使用してはならない(MUST NOT)。prefix 属性が定義済みプリフィックスのための宣言を包含する場合、リーディング システムは、定義済みプリフィックスとして同じ URI にマップされているかどうかに関わらず、prefix 属性を定義する URI マッピングを使用しなければならない(MUST)。

プリフィックス '_' は、RDFa [[!RDFA-CORE]] の処理に伴う将来的な互換性のために予約済みなので、宣言してはならない(MUST NOT)。

パッケージ ドキュメントの代替シリアライゼーションとの将来の互換性のために、ダブリン コア /elements/1.1/ 名前空間 [[!DCTERMS]] のプリフィックスは、prefix 属性で宣言してはならない(MUST NOT)。製作者は、パッケージ ドキュメント メタデータで許可された [[!DC11]] 要素のみ使用しなければならない(MUST)。

property データ タイプ

構文

プロパティ データ タイプは、IRI [[!RFC3987]] を表現するコンパクトな手段であり、コロンで参照から分離された省略可能(OPTIONAL)なプリフィックスで構成されている。

(EBNF 記法 ISO/IEC 14977
全ての終端記号は、Unicode ブロック'基本ラテン文字'(U+0000 から U+007Fまで)である。
property = [ prefix , ":" ] , reference;
prefix = ? xsd:NCName ? ;
reference = ? irelative-ref ? ; /* as defined in [[!RFC3987]] */

プロパティ データ タイプは、[[!RDFA-CORE]] で定義されている CURIE のデータ型から派生し、CURIE のサブセットを表している。

処理後のプロパティは次の IRI のように展開される。

http://purl.org/dc/terms/modified

dcterms: プリフィックスは、IRI 「http://purl.org/dc/terms/」にマップしている予約済みのプリフィックスである。

プリフィックスがプロパティの値から省略された場合、表現される基準は、この属性のためのデフォルトの語彙の用語を表している。

上記の定義が妥当であっても、空の文字列は妥当なプロパティの値ではない。

処理

リーディング システムは、プロパティから IRI [[!RFC3987]] を作成するために、次の規則を使用しなければならない(MUST)。

  • プロパティが参照のみで構成されている場合、IRI はデフォルトの語彙に関連する IRI の語幹を参照に連結することによって得られる。

  • プロパティがプリフィックスと参照から構成されている場合は、IRI がプリフィックスに関連付けられた IRI の語幹を参照に連結することによって得られる。一致するプリフィックスが定義されていない場合、プロパティは無効であり、無視しなければならない(MUST)。

結果の IRI は [[!RFC3987]] に妥当でなければならない(MUST)。しかしながら、リーディング システムは、この IRI を解決する必要はない。

パッケージのレンダリング用メタデータ

まえがき

全てのレンダリング情報を、EPUB 上で構築されている基本的な技術を通じて表現できるわけではない。例えば、CSS を持つ HTML は強力なレイアウト機能を提供するけれども、これらの機能は、レンダリングされているドキュメントの範囲に制限されている。

このセクションは、製作者にパッケージレベルのレンダリング意図の表現を許可する汎用的なプロパティを定義する(すなわち、EPUB リーディング システムによってのみ実行することができる機能)。リーディング システムが要求したレンダリングをサポートするとき、これらのプロパティは、ユーザーへ製作者が最適にデザインしたままのコンテンツの提示を可能にする。

参照

これらのプロパティを参照するためのベースとなる IRI は、http://www.idpf.org/vocab/rendition/# である。

rendition:」プロパティは、パッケージのレンダリング プロパティで使用するために予約されており、パッケージ ドキュメントで宣言する必要はない。

一般的なプロパティ

rendition:flow プロパティ

rendition:flow プロパティは、リーディング システムが、オーバーフロー コンテンツを処理する方法の製作者による優先順位を指定する。

使用方法

rendition:flow プロパティmeta 要素に指定されているとき、それは、オーバーフローしたコンテンツを処理するための製作者による全体の設定(すなわち、全てのスパイン項目)を示している。製作者は、動的なページ分割またはスクロールための設定を示してもよい(MAY)。スクロールするコンテンツのために、それは、連続した EPUB コンテンツ ドキュメントは、連続したスクロール表示としてレンダリングされるか、それともそれぞれが、別々に(すなわち、それぞれの間が動的な改ページとして)レンダリングされるかどうかの指定もまた可能にする。

リーディング システムが指定されたレンダリングをサポートするとき、それは、オーバーフローしたコンテンツの処理方法を使用するべきであるが(SHOULD)、要求されたレンダリングを上書きするユーザーのためのオプションを提供してもよい(MAY)。

meta 要素が、metadata セクションに発生するこのプロパティを運ばないならば、初期設定値 auto は、グローバル値としてリーディング システムによって想定されなければならない(MUST)。リーディング システムは、この初期設定値のみサポートしてもよい(MAY)。

リーディング システムが rendition:layout プロパティをサポートするならば、rendition:layout 値の pre-paginated の指定もまたスパインの項目にセットされているとき、rendition:flow プロパティを無視しなければならない(MUST)。

二つのリフロー可能な EPUB コンテンツ ドキュメントが、スパインに連続して発生する場合、これら [[!HTML]] body 要素のデフォルトのレンダリングは、page-break-before プロパティ [[!CSSSnapshot]] に、always が設定されていることと一致していることに注意されたい。rendition:flow プロパティを使うことに加えて、リーディング システムがこのような上書きをサポートする場合、製作者は、適切なスタイル シートの宣言を介して振る舞いを上書きしてもよい(MAY)。

rendition:flow プロパティは、複数回宣言してはならない(MUST NOT)。

許可された値

次の値は、rendition:flow プロパティで使用するために定義されている。

paginated

リーディング システムは、全てのオーバーフロー コンテンツを動的にページ分割するべきである(SHOULD)。

scrolled-continuous

リーディング システムは、オーバーフロー コンテンツはスクロール可能であるようにコンテンツ ドキュメントをレンダリングするべきであり(SHOULD)、指定されたレンディションによって表現された EPUB 出版物は、(ただし局所的に上書きすることを除いて)スパイン項目からスパイン項目へと、ひとつの連続したスクロールとして示すべきである(SHOULD)。

製作者は、EPUB リーディング システムの連続したスクロールのレンディションは問題になるかもしれないので、異なるリソースが、異なるブロック フローの方向を持つ出版物を生成するべきではない(SHOULD NOT)ことに注意されたい。

scrolled-doc

リーディング システムは、オーバーフローしたコンテンツはスクロール可能であるようにコンテンツ ドキュメントを表現するべきであり(SHOULD)、それぞれのスパイン項目は、別々にスクロール可能なドキュメントとして示すべきである(SHOULD)。

auto

製作者は、オーバーフロー処理の設定をしない。リーディング システムは、初期設定の方法または適用可能なユーザーの設定を使用してオーバーフローしたコンテンツのレンダリングしてもよい(MAY)。

スパインによる上書き

製作者は、指定されたスパイン項目のためのグローバル値を上書きするため、スパイン itemref 要素に次のプロパティを局所的に指定してもよい(MAY)。

flow-auto
製作者によってオーバーフロー コンテンツの処理に対する優先順位がないことを示す。
flow-paginated
製作者の優先順位が、コンテンツのオーバーフローを動的に改ページすることを示す。
flow-scrolled-continuous
製作者の優先順位が、オーバーフローしたコンテンツに対してスクロールするビューを提供し、このプロパティを持つ連続したスパイン項目が、連続したスクロールのようにレンダリングされることを示す。
flow-scrolled-doc
製作者の優先順位が、オーバーフローしたコンテンツに対してスクロールするビューを提供し、このプロパティを持つ各スパイン項目が、別々のスクロール可能なドキュメントとしてレンダリングされることを示す。

これらの上書きのうちひとつのみが、全ての特定されたスパイン項目に適用される。

rendition:flow-scrolled-continuous プロパティの場合、スクロール方向は、itemref 要素によって参照される XHTML コンテンツ ドキュメントのルート要素におけるブロック フロー方向に関連して定義される。ブロック フロー方向が下向き(上から下)の場合、スクロール方向は縦である。ルート要素のブロック フロー方向が右向き(左から右)または左向き(右から左)の場合、水平である。

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

rendition:align-x-center プロパティは、指定されたスパイン項目が、ビューポート又は見開きで上下中央揃えであることを指定する。

rendition:align-x-center プロパティがスパイン項目にセットされているとき、それはレンダリングされたコンテンツが、必要に応じて、ビューポート又は見開き内で上下中央揃えにするべき(SHOULD)ことを示している。このプロパティは、結果として生じたコンテンツ ボックスの配置のみで、スパイン項目のレンダリングには影響を与えない。

リフロー可能なコンテンツの場合、各仮想ページは、中央でなければならない(MUST)。

この仕様のバージョンでは、このプロパティをサポートまたは指定しないときの、初期設定のレンダリングの挙動を定義しない。リーディング システムは、独自のデザインでスパイン項目をレンダリングしてもよい(MAY)。

このプロパティは主に、コンテンツのレンダリングで信頼性の高いセンタリングのコントロールが存在しない場合に、"Naka-Tobira (中扉)"(章タイトルページ)を処理するために開発された。ページメディアのサポートが、CSS で進化するにつれて、このプロパティは、廃止予定になることが予想される。製作者は、有効な CSS ソリューションの使用を勧める。

固定レイアウト プロパティ

まえがき

EPUB ドキュメントは、印刷書籍や PDF ファイルとは異なり、変化するように設計されている。コンテンツは画面やユーザーの要求に合わせてフローまたはリフローをする。レンディションと CSS [[EPUB3Overview]] は、「コンテンツの表現は、ユーザーがコンテンツの特定の表現に合わせるのではなく、ユーザーに合わせる」と述べている。

しかしこの原則は全ての形式のドキュメントに適用されるわけではない。コンテンツとデザインは切り離すことができず、結び付けられている時がある。ささいな見た目の変更で意味が変化し、意味を失う危険がある。固定レイアウト ドキュメントは、リフロー可能な EPUB がコンテンツに適していないとき、製作者が表現をより詳細に制御できるようにする。

このセクションは、EPUB 3 のコンテキスト内で固定レイアウト ドキュメントが意図しているレンダリング動作の宣言の語句を許可しているメタデータ要素の組を定義する。

EPUB 3 は、固定レイアウトのコンテンツを表現する複数のメカニズムを提供する。固定レイアウトのコンテンツが必要な場合、著者が選択するメカニズムは、望む精度、ファイル サイズ、アクセシビリティなどを含む複数の要因に依存するだろう。このセクションは、著者らが選択するメカニズムを指示することを意図するものではない。

rendition:layout プロパティ

rendition:layout プロパティは、指定したレンディションが、リフロー可能又はページ分割されるかを指定する。

使用方法

rendition:layout プロパティmeta 要素に指定されている時、ページ分割またはリフロー可能なレイアウト形式が、それが指定されたレンディション(例えば全てのスパイン項目)に包括的に適用されることを示している。

初期設定値の reflowable は、metadata セクション内にこのプロパティを含んでいる meta 要素が現れない場合、グローバル値として EPUB リーディング システムによって想定されなければならない(MUST)。

rendition:layout プロパティに pre-paginated が設定されているとき、リーディング システムは、レンダリングしている合成見開きの隣接したコンテンツの隙間に間隔を包含してはならない(MUST NOT)。

プロパティが、スパイン項目に pre-paginated がセットされているとき、そのコンテンツの寸法は、固定レイアウト [[!ContentDocs32]] に定義されているように設定されなければならない(MUST)。

rendition:layout プロパティは、複数回宣言してはならない(MUST NOT)。

許可された値

次の値は rendition:layout プロパティの用途で定義されている。

reflowable

指定されたレンディションはあらかじめページ分割されない。リーディング システムは、レンダリングするときは動的な改ページを適用してもよい(MAY)。

pre-paginated

指定されたレンディションはあらかじめページ分割されている。リーディング システムはレンダリングする時は、厳密にスパイン itemref 毎にひとつのページを生成しなければならない(MUST)。

リーディング システムは一般的に、動的なスタイルの変化は意図しない結果をもたらす可能性が高いので、そうしたドキュメントの固有のプロパティがもたらす結果として、あらかじめページ分割されたドキュメントにユーザースタイルシートやユーザーエージェントスタイルシートの適用を制限または拒否する。製作者は、リフロー可能なコンテンツの代わりにあらかじめページ分割を使用を選択したときに、こうした制約があることや、ユーザビリティやアクセシビリティに良くない影響があることを説明する必要がある。関連する情報は、Guideline 1.4 - Provide text configuration [[UAAG20]] を参照されたい。

スパインによる上書き

製作者は、指定されたスパイン項目のためのグローバル値を上書きするため、スパイン itemref 要素に次のプロパティを局所的に指定してもよい(MAY)。

layout-pre-paginated
指定されたスパイン項目がページ分割されることを示す。
layout-reflowable
指定されたスパイン項目がリフロー可能であることを示す。

これらの上書きのうちひとつのみが、全ての特定されたスパイン項目に適用される。

rendition:orientation プロパティ

rendition:orientation プロパティは、製作者が、指定されたレンディションをレンダリングする予定の方向を指定する。

使用方法

rendition:orientation プロパティmeta 要素に指定されている時、意図された回転方向が、特定のレンディション(つまり、全てのスパイン項目)に包括的に適用されることを示している。

metadata セクション内に、このプロパティを含んでいる meta 要素が現れない場合は、初期設定値 auto がグローバル値としてリーディング システムによって想定されなければならない(MUST)。

rendition:orientation プロパティは、複数回宣言してはならない(MUST NOT)。

許可された値

次の値は、rendition:orientation プロパティの用途で定義されている。

landscape

指定されたレンディションは横長(ランドスケープ)に表示されるのを意図している。

portrait

指定されたレンディションは縦長(ポートレート)に表示されるのを意図している。

auto

指定されたレンディションの向きは制限されていない。

複数の回転方向をサポートしているリーディング システムは、指定された値が auto でない限り、ユーザーに指定された回転方向を伝えるべきである(SHOULD)。意図を伝える手段は実装固有である。

スパインによる上書き

製作者は、指定されたスパイン項目のためのグローバル値を上書きするため、スパイン itemref 要素に次のプロパティを局所的に指定してもよい(MAY)。

orientation-auto
リーディング システムが、スパイン項目をレンダリングする方向を決定することを示す。
orientation-landscape
指定されたスパイン項目が、横長(ランドスケープ)方向にレンダリングされることを示す。
orientation-portrait
指定されたスパイン項目が、縦長(ポートレート)方向にレンダリングされることを示す。

これらの上書きのうちひとつのみが、全ての特定されたスパイン項目に適用される。

rendition:spread プロパティ

rendition:spread プロパティは、指定されたレンディションに対して、意図されたリーディング システムの合成見開きの挙動を指定する。

使用方法

rendition:spread プロパティが meta 要素に指定されている時、意図した合成見開きの動作は、指定されたレンディション(例えば全てのスパイン項目)に包括的に適用されることを示している。

metadata セクション内に、プロパティを含む meta 要素が現れない場合は、初期設定値 auto がグローバル値としてリーディング システムによって想定されなければならない(MUST)。

rendition:spread プロパティは、複数回宣言してはならない(MUST NOT)。

許可された値

次の値は、rendition:spread プロパティの用途で定義されている。

none

リーディング システムは、合成さした見開きに、スパイン項目を取り入れてはならない(MUST NOT)。

landscape

リーディング システムは、デバイスが横長(ランドスケープ)の方向の場合にのみ、スパイン項目のために合成見開きをレンダリングするべきである(SHOULD)。

portrait(非推奨)

縦長(ポートレート)方向のみに見開きを使うことは、非推奨(deprecated)である。

製作者は、縦長で読むことが可能な見開きは、横長でも読むことが可能なので、代わりに値「both」の使用を勧める。リーディング システムは、「both」の同義語として、値「portrait」を処理し、方向に関係なく見開きを生成するべきである(SHOULD)。

both

リーディング システムは、デバイスの回転方向に関わらず合成見開きをレンダリングするべきである(SHOULD)。

auto

明確な合成見開きの動作は定義していない。リーディング システムは、コンテンツ表示領域の利用最適化プロセスの一部として、特定または全てのデバイスの回転方向に合成見開きを使用してもよい(MAY)。

合成見開きが HTML コンテンツ ドキュメントと SVG コンテンツ ドキュメントのコンテキストの中で使用された時、viewport meta 要素 [[ContentDocs32]] と viewBox 属性 [[ContentDocs32]] を介して与えられた寸法は、それぞれの見開きの1ページのサイズを表現する。

page-progression-direction 属性を使用して全体の流れの方向性の宣言と、コンテンツ ドキュメントに含まれている局所的な page-progression-direction についての情報はスパインを参照されたい。

スパインによる上書き

製作者は、指定されたスパイン項目のためのグローバル値を上書きするため、スパイン itemref 要素に次のプロパティを局所的に指定してもよい(MAY)。

spread-auto
リーディング システムが、スパイン項目の合成見開きをレンダリングするタイミングを決定する際に指定する。
spread-both
リーディング システムが、縦長と横長方向の両方のスパイン項目で合成見開きをレンダリングする際に指定する。
spread-landscape
リーディング システムが、横長方向の時のみスパイン項目の合成見開きをレンダリングする際に指定する。
spread-none
リーディング システムが、スパイン項目の合成見開きをレンダリングしない際に指定する。
spread-portrait
spread-portrait プロパティは、非推奨(deprecated)である。詳細の情報は、[[!Publications301]] の定義を参照されたい。

これらの上書きのうちひとつのみが、全ての特定されたスパイン項目に適用される。

rendition:page-spread-* プロパティ

使用方法

リーディング システムが合成見開きをレンダリングするとき、初期設定の挙動は、指定されたページ進行方向もしくはコンテンツ ドキュメント内の局所的な宣言によって決定された以降の何も存在しないビューポートに、次の EPUB コンテンツ ドキュメントをレンダリングすることによって見開きを追加することである。製作者は、自動的な集団挙動を無効にして、スパイン itemref 要素に次のプロパティのひとつを指定することによって、個々のビューポートに配置されたドキュメントを強制しても良い(MAY)。

rendition:page-spread-center
rendition:page-spread-center プロパティは、合成見開き内のコンテンツ ドキュメントの強制的な配置を指定する。
rendition:page-spread-left
rendition:page-spread-left プロパティは、page-spread-left プロパティのエイリアスである。
rendition:page-spread-right
rendition:page-spread-right プロパティは、page-spread-right プロパティのエイリアスである。

rendition:page-spread-left プロパティは、指定されたスパイン項目が見開きの左手側のスロットでレンダリングされるべきであり(SHOULD)、rendition:page-spread-right は、右手側のスロットでレンダリングされるべきである(SHOULD)ことを示している。rendition:page-spread-center プロパティは、合成見開きモードは、上書きされると、単一のビューポートは、画面の中央でレンダリングされ、配置されるべきである(SHOULD)ことを示している。

rendition:page-spread-leftrendition:page-spread-rightrendition:page-spread-center プロパティはページ区切りコンテンツとリフロー可能なコンテンツの両方に適用され、それらはリーディング システムが合成見開きを生成するときのみ適用する。

rendition:page-spread-* プロパティは、XHTML コンテンツ ドキュメントのために設定された page-break-before プロパティ [[!CSSSnapshot]] のどの値よりも優先的する。

rendition:page-spread-center の存在はビューポートの寸法を変更しないことに注意されたい。特に、それは全体の見開きの大きさを持つビューポートを作成する必要があることを示すものではない。重要なのは倍率が通常のページと中央見開きページの間で一致し続けることである。

リフロー可能なスパイン項目が、ページ区切りに続くとき、リフロー可能なそのスパイン項目は、rendition:page-spread-* プロパティ値が欠けているとき、(page-progression-direction によって定義されている)次のページから開始するべきである(SHOULD)。リフロー可能なスパイン項目が rendition:page-spread-* 仕様を含んでいるなら、それは(空白ページを挿入するなどして)尊重しなれなければならない(MUST)。

同様に、ページ区切りのスパイン項目が、リフロー可能なスパイン項目に続くとき、ページ区切りのスパイン項目は、rendition:page-spread-* プロパティ値が欠けているとき、(page-progression-direction によって定義されている)次のページから開始するべきである(SHOULD)。ページ区切りのスパイン項目が rendition:page-spread-* 仕様を含んでいるなら、それは(空白ページを挿入するなどして)尊重しなれなければならない(MUST)。

製作者はしばしば、(すなわち、2ページ構成の地図のような、読みやすくするために並んでレンダリングされている二つの連続するページなど)特定のデバイスの向きにおいて見開きを使用するために示すとはいえ、コンテンツ自身は、真に見開きを表現するものではない。二つの隣接するページが、真に見開きを表現することを示すために、製作者は、二つの隣接する EPUB コンテンツ ドキュメントのため、スパイン項目にある rendition:page-spread-leftrendition:page-spread-right プロパティを使用するべきであり(SHOULD)、そして、1ページだけまたは2ページの見開きが等しい条件を満たしている場合には、スパイン項目にあるプロパティを省略する。リーディング システムが、真に見開きを表す二つのスパイン項目と遭遇したとき、それは、隣接するページ間のスペースを入れずに見開きを作成するべきである(SHOULD)。

ひとつの page-spread-* プロパティのみが、任意の特定されたスパイン項目に宣言することができる。

rendition:page-spread-leftrendition:page-spread-right プロパティは、page-spread-leftspread-right プロパティの別名である。それらは、全ての固定レイアウト プロパティのために単一の語彙で使用することができる。製作者はいずれかのプロパティ セットを使用できるが、古いリーディング システムは、プリフィックスのないバージョンのみ認識するかもしれない。EPUB Spine Properties Vocabulary はもはや、パッケージをレンダリングするメタデータとして拡張されていないため、プリフィックスの無い page-spread-center は、利用できない。

rendition:viewport プロパティ(非推奨)

rendition:viewport プロパティは、rendition:layout プロパティに、pre-paginated が設定されている XHTML 及び SVG コンテンツ ドキュメントのCSS 初期包含ブロック(ICB)[[!CSS21]] を表現することを製作者に許可する。

プロパティの使用は、非推奨(deprecated)である。詳細の情報は、[[!Publications301]] の定義を参照されたい。

EPUB ナビゲーション ドキュメント

まえがき

EPUB ナビゲーション ドキュメントは、EPUB パッケージ必須の構成要素 である。それは、人間と機械が可読可能なグロバール ナビゲーション レイヤーを包含するメカニズムを製作者に提供し、それによりユーザーへユーザビリティとアクセシビリティの増大を確保する。

EPUB ナビゲーション ドキュメントは、XHTML コンテンツ ドキュメントであるが、コンテンツの機械可読性を用意にするために構造上の追加の制約がある。[[HTML]] nav 要素は、特殊なナビゲーション情報を含み、人間の可読性だけでなくナビゲーションのインターフェースを生成できることをリーディング システムに許可している。

しかし、EPUB ナビゲーション ドキュメントは、機械処理専用ではない。これは XHTML コンテンツ ドキュメントであるため、重複した目次を避けるために、直線的な読書の順序の一部にできる。例えば、page lists など、機械処理専用のコンテンツは、hidden 属性で視覚的なレンダリングから隠すことができる。

リーディング システムは、EPUB ナビゲーション ドキュメントにある情報からナビゲーション インターフェースを生成するために、スクリプト、スタイル及び HTML のフォーマットを削除するかもしれないことに注意されたい。そのようなフォーマットや機能が必要な場合、EPUB ナビゲーション ドキュメントは、spine にも包含する必要がある。ナビゲーション ドキュメントのスクリプト及びスタイルのためのプログレッシブ エンハンスメント [[ContentDocs32]] 技術の使用は、非ブラウザ コンテクストでレンダリングしたときにコンテンツが完全性を保持するために役立つだろう。

コンテンツの適合性

適合する EPUB ナビゲーション ドキュメントは、次の基準を全て満たさなければならない(MUST)。

ドキュメントのプロパティ

XHTML コンテンツ ドキュメント — コンテンツの適合性 [[!ContentDocs32]] に定義された XHTML コンテンツ ドキュメントのコンテンツの適合性の制約に従わなければならない(MUST)。

EPUB ナビゲーション ドキュメントの定義で定義されている EPUB ナビゲーション ドキュメントのために、固有のコンテンツの適合性の制約に適合しなければならない(MUST)。

適合している XHTML コンテンツ ドキュメントとして、それはスパインに包含してもよい(MAY)。

リーディング システムの適合性

適合する EPUB リーディング システムは、EPUB ナビゲーション ドキュメントの処理のための次の基準を全て満たさなければならない(MUST)。

EPUB ナビゲーション ドキュメントの定義

nav 要素:制限

nav 要素が、EPUB ナビゲーション ドキュメントepub:type 属性 [[!ContentDocs32]] を含むとき、この仕様は、要素のコンテンツ モデルの制約と次のような子孫を持つ。

コンテンツ モデル
nav

この順で:

ol

この順で:

  • li [ひとつ以上]

li

この順で:

  • (span または a) [正確にひとつ]

  • ol [条件付きで必須]

spana

任意の順で:

これらの要素に許可された属性には制限がないことに注意されたい。

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

nav 要素のコンテンツ モデルは、次のように解釈される。

  • nav 要素の子 ol は、コンテンツ ナビゲーションの主要なレベルを表現する。

  • 各順序付きリストのリスト項目は、見出しや構造、関心のある他の一覧を表現する。a 要素は、リンクの位置へのターゲットを表現すし、span 要素は、(例えば、イラストの大きなリストは、それぞれの章ためにひとつなど、いくつかのリストに分割できる)異なるグループの分類リストのための見出しとして機能する。

  • a または span 要素は、空白化規則の全ての子コンテンツとアプリケーションの連結した後に非ゼロ長のテキスト ラベルを提供しなければならない(MUST)。非テキストの子孫要素は、ユーザーに階層をレンダリングされてもよいが(MAY)、title または alt 属性を含むテキスト コンテンツは、この要件への準拠を決定するときに使用されなければならない(MUST)。

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

  • a 要素の href 属性で提供される IRI の参照は、次の要件を確実に実行しなければならない(MUST)。

  • a 要素は、見出しの以下に補助的なコンテンツ レベル(例えば、全ての章の小区分の見出し)を表現する ol 順番付きリストが続いてもよい(MAY)。

  • span 要素は、ol 順番付きリストが続かなければならず(MUST)、それは、“葉”の li 要素に使用することはできない。

  • a または span 要素をその前に置くするかどうかにかかわらず、全てのサブリストは、主要なナビゲーションリスト構成するためにこの章で定義されているコンテンツの必要条件を準拠しなければならない(MUST)。

EPUB 仕様は、EPUB ナビゲーション ドキュメント内の nav 要素に上記で定義されたコンテンツ モデル上のさらなる制限を示してもよい(MAY)。

この仕様のコンテクストでは、nav 要素内にあるリスト項目の標準の表示スタイルは、list-style: none プロパティ [[!CSSSnapshot]] と同等でなければならない(MUST)。リーディング システムは、CSS のサポートに関わらず、スパインの外側にあるナビゲーション ドキュメントを表現するとき、これらのリストに、リスト項目の番号を表示してはならない(MUST NOT)。製作者は、spine のドキュメントを表示するために、CSS を使用して代替のリストのスタイルを指定してもよい(MAY)。

nav 要素:種類

まえがき

EPUB ナビゲーション ドキュメントで定義されている nav 要素は、それらの epub:type 属性 [[ContentDocs32]] の値によって意味的に識別される。

この仕様は、ナビゲーションを補助する三つの型を定義する。

toc

目次を含む nav 要素を識別する。toc nav は、EPUB ナビゲーション ドキュメントに包含される必要がある、最良のナビゲーション支援である。

page-list

印刷物や EPUB 出版物の他の静的にページ分割されたソースのページの一覧を含む nav 要素を識別する。

landmarks

POI の一覧を含む nav 要素を識別する。

追加のナビゲーション型は、EPUB ナビゲーション ドキュメントに包含することができる。詳細は、nav 要素を見よ。

toc nav 要素

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

toc nav 要素内の参照は、両方を反映するような順序でなければならない(MUST)。

toc nav 要素は、EPUB ナビゲーション ドキュメント内に必ずひとつは発生しなければならない(MUST)。

page-list nav 要素

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

page-list nav 要素は、EPUB ナビゲーション ドキュメント内で省略可能(OPTIONAL)であり、複数発生してはならない(MUST NOT)。

page-list nav 内を参照するページは、スパイン対象となっている EPUB コンテンツ ドキュメントの順番とそれぞれの EPUB コンテンツ ドキュメント内の各ページの順番の両方に一致するように順序付けられねばならない(MUST)。

page-list nav 要素は、単一の ol 子孫のみに含むべきである(SHOULD)。つまり、ネストされていないリストである。

page-list 参照の目的地は、pagebreak 語彙 [[!EPUB-SSV]] を使用して、それぞれの EPUB コンテンツ ドキュメント内で識別されてもよい(MAY)。

landmarks nav 要素

landmarks nav 要素は、ユーザーの効率的なアクセスの提供をリーディング システムが可能にするため、特定のレンディション内の基本的な構造のコンポーネントを識別する。

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

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

landmarks nav 要素は、EPUB ナビゲーション ドキュメント内で省略可能(OPTIONAL)であり、複数回発生してはならない(MUST NOT)。

他の nav 要素

EPUB ナビゲーション ドキュメントは、前のセクションで定義されている tocpage-listlandmarks nav 要素に加えてひとつ以上の nav 要素を包含してもよい(MAY)。追加の nav 要素は、機械可読可能なセマンティクスを提供する epub:type 属性を持つべきであり(SHOULD)、これらの最初の子として人間が可読可能な見出しを持たなければならない(MUST)。

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

hidden 属性

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

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

パッケージ ドキュメント スキーマ

規定ではないパッケージ ドキュメントのスキーマは https://w3c.github.io/publ-epub-revision/epub32/schema/package-32.nvdl で入手できる。

このスキーマを使用する検証は [[NVDL]]、[[RelaxNG-Schema]]、[[ISOSchematron]] と [[XMLSCHEMA-2]] をサポートするプロセッサが必要になる。

単独で埋め込まれた RELAX NG とISO Schematron スキーマを使用しているマルチ・パス検証によって NVDL スキーマ層が代えられることができる点に注意されたい。

これらのスキーマは、この仕様の正規な改訂の外で更新や改正されるかもしれない。結果として、いつでも変更される可能性がある。

application/oebps-package+xml メディア タイプ

この付録では EPUB パッケージ ドキュメントのメディア タイプ application/oebps-package+xml を登録する。この登録は [[RFC4839]] を置き換える。

パッケージ ドキュメントは EPUB 出版物のレンディションを記述する XML ファイルである。それはレンディション内のリソースを識別し、メタデータの情報を提供する。パッケージ ドキュメントとその関連規格を維持し、W3C’s EPUB 3 Community Group (EPUB3CG) によって定義される。

MIME メディア タイプ名:

application

MIME サブタイプ名:

oebps-package+xml

必須のパラメータ:

なし。

省略可能なパラメータ:

なし。

エンコーディングに関する留意事項:

パッケージ ドキュメントは UTF-8 または UTF-16 でエンコードされた XML。

セキュリティに関する留意事項:

パッケージ ドキュメントは、XML1.0 仕様に準拠した整形式の XML が含まれている。

明らかに、たとえば不正な形式のデータを含む悪意のあるファイルを作ることができる。大部分の XML パーサーは、適合を厳しく実施することによって、そのような発生発作を予防する。

パッケージ ドキュメントを読む全てのプロセッサは厳密に取得されたデータのサイズと有効性を確認すべきである。

パッケージ ドキュメントの形式で使用可能な暗号化や署名、認証は EPUB Packages 3.2 規格おいて現在は提供されていない。

相互運用性に関する留意事項:

なし。

発行済の仕様:

このメディアタイプの登録は http://w3c.github.io/publ-epub-revision/epub32/spec/epub-packages.html にある EPUB Packages 3.2 仕様で記述された EPUB パッケージ ドキュメントのためのものである。

EPUB Packages 3.2 仕様は http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm にある application/oepbs-package+xml メディアタイプを使用している Open Packaging Format 2.0.1 を置き換える。

このメディア タイプを使用するアプリケーション:

このメディアタイプは EPUB フォーマットの電子ブックの配布に広く使用されている。以下のアプリケーションのリストは全てを網羅していない。

  • Adobe Digital Editions

  • Aldiko

  • Azardi

  • Apple iBooks

  • Barnes & Noble Nook

  • Bluefire Reader

  • Calibre

  • Google Play Books

  • Kobo

  • Microsoft Edge

  • Readium

追加情報:
マジックナンバー:

なし。

ファイル拡張子:

.opf

Macintosh ファイル タイプ コード:

TEXT

フラグメント識別子:

リンクのスキームのレジストリは、http://www.idpf.org/epub/linking/ で維持される。これらのスキームの一部は application/oebps-package+xml ドキュメントに解決されるカスタム フラグメント識別子を定義する。

詳細についての連絡先とメールアドレス:

public-epub3@w3.org

用途:

COMMON

著者/改訂管理:

発行された仕様は、World Wide Web Consortium の EPUB 3 コミュニティ グループの作業成果物である。 W3C は、この仕様を変更ができる。