この文書は「Publication Manifest」の日本語訳である。最新の文書は https://www.w3.org/TR/2019/WD-pub-manifest-20190911/ である。原文もしくは完全な情報は、Publication Manifest を参照されたい。

この日本語訳は参考である。公式な文書ではなく、翻訳・解釈の正確性を保証していない。

「reading progression direction」の訳は「組み方向」とした。「extension relation types」の訳は、RFC 8288 を参考にして「拡張関連型」とした。

公開日:
2019年11月1日
翻訳者:
Wataru Yoshimura

Publication Manifest

W3C Working Draft

This version:
https://www.w3.org/TR/2019/WD-pub-manifest-20190911/
Latest published version:
https://www.w3.org/TR/pub-manifest/
Latest editor's draft:
https://w3c.github.io/pub-manifest/
Previous version:
https://www.w3.org/TR/2019/WD-pub-manifest-20190827/
Editors:
Matt Garrish (DAISY Consortium)
Ivan Herman (W3C)
Participate:
GitHub w3c/pub-manifest
File a bug
Commit history
Pull requests

要約

この仕様は、デジタル出版物に関する情報を表現するための一般的なマニフェスト形式を定義する。[schema.org] メタデータを使用して、表現する必要のある情報の差異に対応しながら出版物フォーマット間の相互運用性を実現するために、[JSON-LD] でシリアル化された出版物に関するさまざまな構造プロパティを追加する。

このドキュメントのステータス

このセクションは、このドキュメントの発行時のステータスについて説明する。他のドキュメントが、このドキュメントに優先する場合がある。現在の W3C の出版物のリストとこの技術レポートの最新版は、https://www.w3.org/TR/ の W3C 技術レポートのインデックスで見つけることができる。

このドキュメントは、ワーキング ドラフトとして、Publishing Working Group によって発行された。このドキュメントは、W3C 勧告になることを意図している。

GitHub イシューは、この仕様の議論に適している。または、メーリング リストにコメントを送信することもできす。それらを public-publ-wg@w3.orgアーカイブ)に送信されたい。

ワーキング ドラフトとしての発行は、W3C メンバーシップによる承認を意味するものではない。これはドラフトのドキュメントであり、いつでも他のドキュメントによって更新、置き換え、廃止される可能性がある。このドキュメントを進行中の作品以外のものとして引用することは不適切である。

このドキュメントは、W3C 特許ポリシーの下で活動するグループによって作成された。W3C は、グループの成果物に関連して行われた特許開示の公開リストを保持している。そのページは、特許を開示するための指示も包含している。エッセンシャル クレームが含まれていると考える特許について実際に知識がある個人は、W3C 特許ポリシーのセクション 6 に従って情報を開示する必要がある。

このドキュメントは、1 March 2019 W3C Process Document によって管理されている。

1. 導入

1.1 スコープ

この仕様は、出版物を記述する一般的なマニフェスト形式を定義する。それは、マニフェストを使用する出版物の性質を制限しようとはしていない。どちらかといえば、専門的なものを作成するためのモジュラー アプローチを指定することにより、例えば、オーディオブック制作など、出版物の特定分野のニーズに適応できるように設計されている。

この仕様は、様々なユーザー エージェント アーキテクチャを容易にすることも意図している。従来のウェブ ユーザー エージェント(ブラウザー)は出版物マニフェストを消費できることが期待されるが、これにより、(例えば、スタンドアロンやユーザー エージェント内で実行されているアプリケーション、又は独自のユーザーインターフェイスを包含する出版物など)ユーザー エージェントの他の種類の機能が制限されることはない。

この仕様は、ユーザー エージェントがマニフェスト形式を使用する出版物をレンダリングする方法を定義しない。

1.2 用語

正規の表現

マニフェストの正規の表現は、マニフェストを処理し、全ての可能な曖昧さを取り除き、別のソースから推測できる欠損した値を組み込むときにユーザー エージェントによって作成される内部データ構造である。

マニフェストで表現された情報は、曖昧さや欠損した情報がない場合、ユーザー エージェントによって作成された正規の表現と同等になる可能性がある。

デジタル出版物

用語のデジタル出版物は、マニフェスト フォーマットを使用するフォーマットで作成された出版物を指すために使用される。これらのフォーマットは、構造とコンテンツの要件が異なる場合がある。

マニフェスト

マニフェストは、例えば有益なメタデータ、リソースのリストデフォルトの読み上げ順序など、出版物に関する構造化された情報を表現する。

非空白

この仕様の目的上、非空白は、テキスト コンテンツや値が空白文字正規化後の複数の文字から成り立つ要素、属性、又はプロパティを参照するために使用され、空白文字正規化のルールは、ホスト フォーマットごとに定義される。

1.3 適合性

規定ではないとマークされたセクションと同様に、この仕様書の全てのオーサリング ガイドライン、図、例及び注意は規定ではない。この仕様書の他の全ては規定である。

このドキュメントのキー ワード MAYMUSTMUST NOTOPTIONALRECOMMENDEDREQUIREDSHOULDSHOULD NOT は、ここに示すように BCP 14 [RFC2119] [RFC8174] で説明されているように解釈され、すべての大文字で表示される。

2. 出版物のマニフェスト

2.1 導入

2.1.1 マニフェスト フォーマット

このセクションは規定ではない。

デジタル出版物は、JSON-LD [json-ld] の特定の形(リンクトデータの JSON [ecma-404] のバリアント)を使用して表現されたプロパティのセットを提供するところのマニフェストで記述される。

マニフェストのプロパティは、ユーザー エージェントが出版物の処理とレンダリングに必要な基本情報を記述する。理解を容易にするために、これらのプロパティは次のように分類される。

表現的プロパティ

表現的プロパティは、例えば、タイトル著者言語など、デジタル出版物の外見を説明する。

リソース分類プロパティ

リソース分類プロパティは、例えば、リソースのリストデフォルトの読み上げ順序など、リソースの共通セットを記述又は識別する。これらのプロパティは、例えば、HTML ドキュメント、画像、スクリプト、及びメタデータ レコードなど、複数のリソースを参照する。

マニフェストは、リンク リレーションを使用してデジタル出版物の主要なリソースもまた識別する。これらの関係は、(例えば、目次リソース リストで見つかるリンクなど)LinkedResource オブジェクトrel プロパティに適用される。

これらの関係が識別するリソースのタイプは、次のように分類される。

有益なリソース

有益なリソースは、例えば、プライバシー ポリシーアクセシビリティ レポート、又はプレビューなど、出版物に関する追加の情報を含むリソースである。

構造リソース

構造リソースは、例えば、カバー画像目次ページ リストなど、出版物の主要なメタ構造である。

Note

これらの分類は、この仕様以外には関係ない(つまり、プロパティは実質的にマニフェストでグループ化されていない)。

2.1.2 JSON-LD のオーサリングと処理

この仕様は、[json-ld] の特定の「形状」として出版物マニフェストを定義する。つまり、マニフェストは、JSON-LD 構文によって提示される全ての可能性とは対照的に、この仕様で定義されている構文構造のみを使用して表現するべきである(SHOULD)。

Note

この形状は、非公式に、この仕様で定義されている制約を表す JSON スキーマ [json-schema] を介しても定義されている。このスキーマは、https://github.com/w3c/pub-manifest/blob/master/schema/publication.schema.json で管理されている。

出版物マニフェストは、多数のオーサリングの柔軟性とコンパクトなオーサリング表現もある。例えば、オブジェクト タイプは、欠落しているときは正規化中に自動的に生成されるため、いつも明示的に作成する必要はない(詳細は、§ 2.7.1.4 明示的及び暗黙的なオブジェクトを見よ)。マニフェストデータの正規の表現は、個別に定義される。 詳細は、§ 2.3 Web IDL を見よ。

結果として、ユーザー エージェントは完全な JSON-LD プロセッサである必要はない。ユーザー エージェントは、マニフェストの特定の形状を読み取り、データを取り込むことができるだけでよい。

2.1.3 Schema.org との関係

マニフェスト プロパティ、特に、表現的プロパティとして分類されるプロパティは、主に schema.org とそのホストされた拡張機能 [schema.org] から取得される。結果として、これらのプロパティは、schema.org から構文とセマンティクスを継承し、マニフェストのオーサリングが schema.org のオーサリングと互換性を持つ。

マニフェスト項目が schema.org プロパティに対応するとき、そのプロパティ定義はマッピングを識別し、(例えば、CreativeWorkBook など)括弧内に定義タイプを包含する。

さらに、schema.org は、発行に関連するけれども、この仕様では言及されていない多数のプロパティを包含している。これらのプロパティは、このドキュメントが、マニフェスト アイテムの最小限のセットのみを定義しているので、マニフェストで使用してもよい(MAY)。

追加の schema.org プロパティを使用するとき、マニフェストで指定された出版物のタイプに対して有効であることを確保されたい。語彙で使用される継承モデルの結果として、プロパティはしばしば多くの schema.org タイプを利用可能だが、全てのプロパティが全てのタイプに利用可能ではない。どのタイプがどのプロパティを受け入れるかの詳細は、[schema.org] を参照されたい。

追加の schema.org プロパティの使用に関する詳細は、§ 2.6 出版物タイプ及び § 2.7.4.2 追加のマニフェスト プロパティも利用可能である。

2.2 要件

次のプロパティは、マニフェストに設定しなければならない(MUST)。

他の全てのプロパティリソースの関係の優先順位はオプションだが(OPTIONAL)、マニフェスト フォーマットの実装によって変更されてもよい(MAY)。

Note

一部のプロパティは、明示的にオーサリングされていないときは代替情報からコンパイルされるため、暗黙的に必要である。詳細は、§ 2.3 Web IDL を見よ。

2.3 Web IDL

デジタル出版物のマニフェストは [json-ld] として作成されるが、ユーザー エージェントはプロパティを利用するために、任意の言語にすることができるところの、正規の表現にあるこの情報を処理する

開発者向けのマニフェスト フォーマットを単純にするため、この仕様は、ウェブ インタフェース記述言語(Web IDL) [webidl-1] — PublicationManifest 辞書を使用して、マニフェストで採用されたデータ構造の抽象表現を定義する。

この定義は、マニフェストの各要素に期待される名前、データ型、及び可能な制限を表している。しかしながら、一般的な Web IDL 定義とは異なり、ユーザー エージェントは、API としてマニフェストの情報を公開することは想定されていない。Web IDL 言語は、データモデルの抽象化を提供するためだけに選択される。

PublicationManifest 辞書の必須要素は、ユーザー エージェントが、(例えば、タイトル読み上げ順序からなど)一部のプロパティの明示的な宣言がない場合、他のソースからの情報をコンパイルすることが予想されるため、マニフェストの必須要素と完全には一致しない。

Note

デジタル出版物を作成するために、Web IDL の定義を理解する必要はない。オーサリング要件は、次のセクションで定義される。

2.3.1 PublicationManifest 辞書

dictionary PublicationManifest {
    required sequence<DOMString>         type;
DOMString                   id;
boolean                     abridged;
sequence<DOMString>         accessMode;
sequence<DOMString>         accessModeSufficient;
sequence<DOMString>         accessibilityFeature;
sequence<DOMString>         accessibilityHazard;
LocalizableString           accessibilitySummary;
sequence<CreatorInfo>       artist;
sequence<CreatorInfo>       author;
sequence<CreatorInfo>       colorist;
sequence<CreatorInfo>       contributor;
sequence<CreatorInfo>       creator;
sequence<CreatorInfo>       editor;
sequence<CreatorInfo>       illustrator;
sequence<CreatorInfo>       inker;
sequence<CreatorInfo>       letterer;
sequence<CreatorInfo>       penciler;
sequence<CreatorInfo>       publisher;
sequence<CreatorInfo>       readBy;
sequence<CreatorInfo>       translator;
sequence<DOMString>         url;
DOMString                   duration;
TextDirection               direction;
sequence<DOMString>         inLanguage;
DOMString                   dateModified;
DOMString                   datePublished;
ProgressionDirection        readingProgression = "ltr";
    required sequence<LocalizableString> name;
    required sequence<LinkedResource>    readingOrder;
sequence<LinkedResource>    resources = [];
sequence<LinkedResource>    links = [];
};

enum TextDirection {
"ltr",
"rtl",
"auto"
};

enum ProgressionDirection {
"ltr",
"rtl"
};

2.4 マニフェストのコンテキスト

マニフェストは、指定された順序で、次の二つのコンポーネントを持つ JSON-LD コンテキスト [json-ld] を設定しなければならない(MUST)。

  1. [schema.org] のコンテキスト:https://schema.org
  2. 出版物のコンテキストhttps://www.w3.org/ns/pub-context
1:コンテキストの宣言。
{
"@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
    …
}

出版物コンテキストのドキュメントは、(例えば、creator プロパティが順序を維持するための要件など)Schema.org で定義されたプロパティに機能を追加する。

Schema.org はしばしば、http URI スキームを使用して参照されるが、デフォルトとして安全な https スキームを使用するように語彙は移行されてる。マニフェストで Schema.org を参照するときに https を使用することは、この仕様において必須である(REQUIRED)。

2.5 マニフェストの言語と方向

(例えばタイトルクリエイターなど)マニフェスト内の各自然言語プロパティ値は、デフォルトの自然言語があり、これは、(例えば、英語、フランス語、中国語など)表現される言語である。記述される自然なベース方向は、左から右かそれとも右から左の表示方向もまたある。

デジタル出版物のマニフェストは、ユーザー エージェントがメタデータの解釈及び提示するのを支援するために、これらの概念の両方を全体に(言語については個々の項目に)設定する機能を提供する。

2.5.1 グローバル宣言

自然言語マニフェスト プロパティのためのデフォルト言語は、language キーワード [json-ld] を使用してコンテキストにグローバルの言語宣言を包含することによって設定される。これは、省略をするローカライズ可能な文字列に言語を提供するためだけでなく、マニフェストの処理中にローカライズ可能な文字列に単純な文字列値を展開するためにも使用する。

language の値は、有効な言語タグ [bcp47] でなければならない(MUST)。

Editor's note

有効又は整形式の言語タグを要求する方が良いかどうかを判断するための未解決の問題がある。

グローバルの言語宣言は、存在するとき、出版物コンテキストに従わなければならない(MUST)。

デフォルトの言語とは異なり、デフォルトのテキスト方向は、現在、JSON-LD にこの機能が包含されていないため、コンテキストで指定できない。暫定措置として、この仕様は、グローバルのテキスト方向を定義するための direction プロパティを定義する。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
direction テキストのマニフェスト値のデフォルトの基本方向 ltrrtl、又は auto のいずれか。 リテラル (None)

ベース言語の方向は、次の値のいずれかでなければならない(MUST)。

  • ltr:テキスト値が、明示的に方向に関して左から右のテキストに設定されていることを示す。
  • rtl:テキスト値が、明示的に方向に関して右から左のテキストに設定されていることを示す。
  • auto:Unicode 双方向アルゴリズム [bidi] の規則に従って、テキスト値が強い指向性を持つ最初の文字の方向に、明示的な指向性を設定されることを示す。
3 :右から左に全体のテキスト方向を設定する
{
"@context" : [
"https://schema.org",
"https://www.w3.org/ns/pub-context", 
        {"language":"he"}
    ],
"direction" : "rtl"
}

デフォルト値は、グローバルの言語及びベース方向の宣言に指定されていない。

2.5.2 項目固有の宣言

ローカライズ可能な文字列を使用して、マニフェスト内にある任意の自然言語値に対してローカルに言語を設定することができる。

4:ローカライズ可能な文字列を使用して著者名をフランス語に設定する
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"author" : {
"type"  : "Person",
"name" : {
"value"    : "Marcel Proust",
"language" : "fr"
        }
    }
}

language キーワード [json-ld] の値は、整形式の言語タグ [bcp47] でなければならない(MUST)。

そのような場合、ローカル宣言は、グローバル宣言より優先される。

Note

特定の値に方向を明示的に設定することはできない。詳細は、§ D.1 JSON-LD の項目固有の指向性を参照されたい。

2.6 出版物タイプ

デジタル出版物マニフェストは、type キーワード [json-ld] を使用して出版物タイプを宣言する。タイプは任意の [schema.org] タイプにマッピングされてもよいが(MAY)、タイプが指定されていないとき、CreativeWorkデフォルトと見なされる

5:CreativeWork に出版物タイプを設定する。
{
"@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type"     : "CreativeWork",
    …
}

例えば、ArticleBookTechArticle、及び Course など、CreativeWork のより具体的なサブタイプを、CreativeWork の代わり又は追加して使用できる。

6:Book に出版物タイプを設定する。
{
"@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
}

各 schema.org タイプは、その使用に有効なプロパティのセットを定義する。マニフェストが、schema.org 対応プロセッサによって検証および処理できることを保証するために、マニフェストは、選択されたタイプに関連付けられたプロパティのみを含めるべきである(SHOULD)。

プロパティに複数のタイプが必要な場合、マニフェストに複数のタイプ宣言を包含してもよい(MAY)。

7:Book と VisualArtwork の両方のプロパティを組み合わせた出版物。
{
"@context" : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type"     : ["Book", "VisualArtwork"],
    …
}

ユーザー エージェントは、宣言された schema.org タイプに対して有効でないマニフェストの処理を失敗するべきではない(SHOULD NOT)。

Note

完全な CreativeWork サブタイプのリストは、schema.org サイトを参照されたい。

2.7 プロパティ

2.7.1 値のカテゴリ

このセクションは、出版物マニフェストのプロパティに使用できる値のカテゴリを説明する。

2.7.1.1 リテラル

マニフェスト プロパティがリテラルのテキスト文字列を値として想定しているとき、(例えば、コード値や日付など、言語に依存しないもの)、その値は、[json] 文字列として表現されなければならない(MUST)。

例えば、オブジェクトに変換されるかもしれない他の値とは異なり、リテラル値はマニフェストの処理中に変更されない。

2.7.1.2 数値

マニフェスト プロパティが値として数値を想定しているとき、その値は、[json] 数値として表現されなければならない(MUST)。

2.7.1.3 ブール

マニフェスト プロパティが値としてブールを想定しているとき、その値は、[ecmascriptブール値true 又は false)として表現されなければならない(MUST)。

2.7.1.4 明示的及び暗黙的なオブジェクト

様々なマニフェスト プロパティは、[jsonオブジェクトとして表現されることが想定される。通常、オブジェクトの使用が推奨されるが、次のセクションでは、コンテキストに応じてオブジェクトとして解釈される文字列値を使用することも許容される場合について説明する。オブジェクトへのテキスト値の正確なマッピングは、プロパティまたはオブジェクト定義の一部である。

2.7.1.4.1 ローカライズ可能な文字列

マニフェスト プロパティが、その値としてローカライズ可能なテキスト文字列を想定しているとき、これらの値は、次のいずれかで表さなければならない(MUST)。

  • [json] 文字列値、または、
  • [json] プロパティのテキストとテキストの言語を識別する language プロパティを含んでいる value プロパティを持つオブジェクト

単一の文字列値は、value プロパティが文字列のテキストであり、言語がマニフェスト内の他の情報から決定される暗黙のオブジェクトを表現する。

2.7.1.4.2 エンティティ

マニフェスト プロパティがエンティティを想定しているとき(つまり、創作の様々な側面に対して責任を持つ個人又は組織)、その値は、次のいずれかで表現されなければならない(MUST)。

単一の文字列値は、name プロパティが文字列のテキストであり、typePerson [schema.org] として想定される CreatorInfo オブジェクトのインスタンスを表現する。

2.7.1.5 URL

URL は、デジタル出版物に関連付けられたリソースを識別するために使用される。プロパティが URL 値を想定するとき、それは有効な URL 文字列 [url] でなければならない(MUST)。

マニフェスト URL は、http 及び https スキーマ [url] のみに制限される。ユーザー エージェントは、マニフェスト内の全ての URL を間接参照する必要はないが、URL はリソースを間接参照しなければならない(MUST)。

相対 URL 文字列の場合、これらは、ベース URL [url] を使用する絶対 URL 文字列に解決される。

相対 URL 文字列のベース URL は、次のように決定される。

結果として、埋め込まれたマニフェストの相対 URL 文字列は、ドキュメントがベース URL(つまり、ヘッダーの <base> 要素)を宣言しない限り、マニフェストを参照するドキュメントの URL に対して解決される。

Note

URL は、[rfc3987] に従う Unicode 文字を使用できる。詳細は、HTML5 仕様の注を見よ。

2.7.1.6 識別子

識別子は、永続的及び明確な方法でウェブ コンテンツを参照するために使用される。URLURNDOIISBN、及び PURL は、全て、出版物で頻繁に使用される永続的な識別子の例である。

識別子は、URL レコード [url] として表現されなければならない(MUST)。

2.7.1.7 配列

マニフェスト プロパティが、それぞれのタイプ(例えば、リテラルオブジェクト、又は URL)のひとつ以上の値を許可するとき、それらの値は、[json] 配列として表現される。しかしながら、プロパティ値が、単一要素のとき、配列構文は省略してもよい(MAY)。

2.7.2 表現的プロパティ

2.7.2.1 縮約

縮約のプロパティは、デジタル出版物が元のフォーマットから短くされているかどうかに関する情報を提供する。

Term Description Required Value Value Type [schema.org] Mapping
abridged 本が縮約版かどうかを示す。 true かそれとも false ブール abridged (Book)
2.7.2.2 アクセシビリティ

アクセシビリティ プロパティは、さまざまな好みの読書様式を持つユーザーによって消費されるデジタル出版物の適合性に関する情報を提供する。通常、これらのプロパティは、例えば、[wcag21] が提供しているような、確立されたアクセシビリティ基準に対する評価を補完する。

次のプロパティは、アクセシビリティ プロパティとして分類される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
accessMode 個人が情報を処理又は知覚するための人間の感覚知覚システムまたは認知機能。 複数のテキスト リテラル配列 accessMode (CreativeWork)
accessModeSufficient リソースにある全ての知的コンテンツを理解するのに十分な単一または結合されたアクセス モードのリスト。 複数の ItemList リテラル配列 accessModeSufficient (CreativeWork)
accessibilityFeature 例えば、アクセシブルなメディア、代替手段、サポートされているアクセシビリティの強化など、リソースのコンテンツ機能。 複数のテキスト リテラル配列 accessibilityFeature (CreativeWork)
accessibilityHazard 一部のユーザーにとって生理学的に危険であると称されるリソースの特性。 複数のテキスト リテラル配列 accessibilityHazard (CreativeWork)
accessibilitySummary 他のアクセシビリティ メタデータと一貫性のある特定のアクセシビリティ機能又は欠陥についての人間が読める要約。 テキスト ローカライズ可能な文字列 accessibilitySummary (CreativeWork)
Note

それらのプロパティで使用する予定の値を包含する、これらのプロパティの詳細な説明は、[webschemas-a11y] が利用できる。

Note

これらのプロパティで表現できる以上の情報が必要な場合、詳細なアクセシビリティ レポートへの参照も提供できる。

11:テキストと画像を含むドキュメントのアクセシビリティ メタデータの例。出版物は、各画像に適した代替テキストと長い説明を提供するため、純粋なテキスト形式で読むこともできる。
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "CreativeWork",
    …
"accessMode"            : ["textual", "visual"],
"accessibilityFeature"  : ["alternativeText", "longDescription"]
"accessModeSufficient"  : [
        {
"type"           : "ItemList",
"itemListElement": ["textual", "visual"]
        },
        {
"type"           : "ItemList",
"itemListElement": ["textual"]
        }
    ],
    …
}
2.7.2.3 アドレス

アドレスは、デジタル出版物のソースの場所を識別する URL である。それは、url プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
url 出版物の URL 有効な URL 文字列 [url]。 URL配列 url (Thing)

デジタル出版物は、ひとつ以上のアドレスを持ってもよいが(MAY)、全てのアドレスは、同じドキュメントで解決されなければならない(MUST)。

Note
出版物のアドレスは、識別子のリンク関係 [link-relation] の値としても使用できる。
12 :出版物のアドレスの設定
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"url"      : "https://publisher.example.org/frankenstein",
    …
}
2.7.2.4 正規の識別子

デジタル出版物正規の識別子プロパティは、デジタル出版物の一意の識別子を提供する。それは、id プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
id 出版物の優先バージョン。 URL レコード [url] 識別子 (None)
Note

正規識別子の一意性を保証することは、この仕様のスコープ外である。実際に達成可能な一意性は、使用される識別子スキームの規則や識別子の割り当ての制御の程度などの要因に依存する。

正規識別子が、マニフェストに提供されていない、又は値が無効な URL である場合、デジタル出版物は正規識別子を持たない。ユーザー エージェントは、マニフェストに提供される他の識別子から正規の識別子を構築しようとしてはならない(MUST NOT)。

正規の識別子の仕様は、identifier プロパティ [schema.org] 及び/又はそのサブタイプを使用して、追加の識別子のタイプを包含することで補完してもよい(MAY)。

13:URL として正規の識別子とアドレスを設定する例
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "TechArticle",
    …
"id"       : "http://www.w3.org/TR/tabular-data-model/",
"url"      : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
    …
}
14:正規識別子の URN の例
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"id"       : "urn:isbn:9780123456789",
"url"      : "https://publisher.example.org/wuthering-heights",
    …
}
2.7.2.5 クリエイター

クリエイターは、デジタル出版物の作成を担当する個人又は組織である。

次のプロパティは、クリエイターとして分類される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
artist 鉛筆又はデジタル線画以外の媒体における出版物の主要なアーティスト。 複数の Person エンティティ配列 artist (VisualArtwork)
author 出版物の著者。 複数の Person 及び/又は Organization エンティティ配列 author (CreativeWork)
colorist インクの描画に色を追加する人。 複数の Person エンティティ配列 colorist (VisualArtwork)
contributor 役割がこの表の他の役割のいずれにも適合しない貢献者。 複数の Person 及び/又は Organization エンティティ配列 contributor (CreativeWork)
creator 出版物の作成者。 複数の Person 及び/又は Organization エンティティ配列 creator (CreativeWork)
editor 出版物の編集者。 複数の Person エンティティ配列 editor (CreativeWork)
illustrator 出版物のイラストレーター。 複数の Person エンティティ配列 illustrator (Book)
inker インクで鉛筆画をトレースする人。 複数の Person エンティティ配列 inker (VisualArtwork)
letterer アートワークに吹き出しや効果音などのレタリングを追加する人。 複数の Person エンティティ配列 letterer (VisualArtwork)
penciler 主要な物語のアートワークを描く人。 複数の Person エンティティ配列 penciler (VisualArtwork)
publisher 出版物の出版社。 複数の Person 及び/又は Organization エンティティ配列 publisher (CreativeWork)
readBy (オーディオブック用の)出版物を読む(演じる)人。 複数の Person エンティティ配列 readBy (Audiobook)
translator 出版物の翻訳者。 複数の Person 及び/又は Organization エンティティ配列 translator (CreativeWork)

クリエイターは、次のいずれかで表現しなければならない(MUST)。

  1. Person [schema.org] の名前をエンコードした [json] 文字列として、または、
  2. Person 又は Organization [schema.org] のインスタンス。

単一の文字列値は、name プロパティがその文字列値に設定されている [schema.org] Person の省略形である。(§ 2.7.1.4.2 エンティティもまた見よ。)

[schema.org] Person 又は Organization タイプから クリエイター情報の各セットをコンパイルするとき、ユーザー エージェントは、利用可能なとき、CreatorInfo type で定義されているプロパティを保持しなければならない(MUST)。

マニフェストは、各タイプのクリエイターが複数含まれてもよい(MAY)。

15:本の著者
{
"type"     : "Book",
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
    …
"url"      : "https://publisher.example.org/alice-in-wonderland",
"author"   : {
"type"  : "Person",
"name"  : "Lewis Carroll"
    }
}
16 :単純な文字列として一部の人が表現されている、編集者、著者、出版社の個別のリスト。
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "TechArticle",
    …
"id"         : "http://www.w3.org/TR/tabular-data-model/",
"url"        : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"author"     : [
"Jeni Tennison",
        {
"type"  : "Person",
"name" : "Gregg Kellogg",
        },{
"type"  : "Person",
"name" : "Ivan Herman",
"id"   : "https://www.w3.org/People/Ivan/"
"identifier": "0000-0003-0782-2704",
        }
    ],
"editor"    : [
"Jeni Tennison",
        {
"type"  : "Person",
"name" : "Gregg Kellogg",
        }
    ],
"publisher" : {
"type"  : "Organization",
"name" : "World Wide Web Consortium",
"id"   : "https://www.w3.org/"
    }
    …
}
2.7.2.6 継続時間

グローバルの継続時間は、(例えば、オーディオブック又は一連のビデオクリップで構成される本など)時間ベースデジタル出版物の全体の長さを示す。それは、duration プロパティを使用して表される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
duration 時間ベースの出版物の全体的な継続時間。 [iso8601] で定義された継続時間値。 リテラル duration (Property)
17:マニフェストで提供されるグローバルの継続時間(秒単位)
{
"@context"       : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type"           : "Audiobook",
"id"             : "https://example.org/flatland-a-romance-of-many-dimensions/",
"url"            : "https://w3c.github.io/pub-manifest/experiments/audiobook/",
"name"           : "Flatland: A Romance of Many Dimensions",
    …
"duration"       : "PT15153S",
    …
}
Note

関連する Wikiepedia ページには、ISO 継続時間構文の簡潔な説明がある。

2.7.2.7 最終変更日

最終変更日は、デジタル出版物が最後に更新されたときの日付である(つまり、マニフェストを包含する出版物のリソースに最後に変更が加えられたとき)。dateModified プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
dateModified 出版物の最終変更日。 それぞれ、ISO 8601 日付又は日付時刻形式 [iso8601] の両方で表される DateDateTime の値 [schema.org]。 リテラル dateModified (CreativeWork)

最終変更日は、(例えば、デジタル出版物で、サードパーティのコンテンツの参照ができる場合など)出版物に対する全ての変更を必ずしも反映するわけではない。ユーザー エージェントは、変更があるか、更新が必要かどうかを判断するために、個々のリソースの最終変更日をチェックするべきである(SHOULD)。

18:出版物の最終変更日
{
"@context"     : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"         : "TechArticle",
    …
"id"           : "http://www.w3.org/TR/tabular-data-model/",
"url"          : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"dateModified" : "2015-12-17",
    …
}
2.7.2.8 発行日

発行日は、デジタル出版物が最初に発行された日付である。出版物のライフサイクルにおける静的なイベントを表し、後に続く版の識別及び比較ができる。datePublished プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
datePublished 出版物の作成日。 それぞれ、ISO 8601 日付又は日付時刻形式 [iso8601] の両方で表される DateDateTime の値。 リテラル datePublished (CreativeWork)

出版の正確な時期は、意図的な解釈の余地がある。それは、出版物が最初に利用可能になったとき、又は出版物が最終版と見なされる出版前の時点である可能性がある。

19 :出版物の発行日と変更日
{
"@context"      : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"          : "TechArticle",
    …
"id"            : "http://www.w3.org/TR/tabular-data-model/",
"url"           : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"datePublished" : "2015-12-17",
"dateModified"  : "2016-01-30",
    …
}
2.7.2.9 出版物の言語

デジタル出版物は、少なくともひとつの自然言語を持ち、つまり、(例えば、英語、フランス語、中国語など)コンテンツが表現される言語である。マニフェストは、このコンセプトを設定するために次のプロパティを包含し、例えば、(辞書又はテキスト読み上げエンジンをプリロードするなど)ユーザー エージェントの動作に影響を与える可能性がある。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
inLanguage 出版物のデフォルト言語の値。 ひとつ以上の整形式の言語タグ [bcp47]。 リテラル配列 inLanguage (Property)

自然言語は整形式の言語タグ  [bcp47] でなければならない(MUST)。

ユーザー エージェントが、出版物の言語を必要とし、マニフェストで使用できない、又は取得された値が整形式 [bcp47] でない場合、ユーザー エージェントは、正規の表現を生成するときに出版物の言語を決定してもよい(MAY)。この仕様は、そのような言語タグの作成方法を強制しない。ユーザー エージェントは次のことを行う。

ユーザー エージェントが、プライマリーの言語を要求し、複数の言語が指定されている場合、inLanguage 配列の最初のエントリーは、プライマリーとして認識されなければならない(MUST)。

Note

それを構成する個々のリソースの言語から、出版物の言語を区別することは重要である。例えば、そのようなリソースが HTML にある場合、言語はこれらのリソースに設定する必要がある。出版物の言語は継承されない。

2.7.2.10 組み方向

組み方向は、デジタル出版物内のあるリソースから次のリソースへの読書方向を確立する。メニュー位置、タッチ ジェスチャー、方向の切り替え、前後ページのタップ ゾーンなど、出版物レベルのインタラクションを調整するために使用される。組方向は、readingDirection プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
readingProgression あるリソースから他のリソースへの組み方向。 ltr 又は rtl のひとつ。 リテラル (None)

このプロパティの値は、次のいずれかでなければならない(MUST)。

  • ltr:左から右
  • rtl:右から左

デフォルト値は、ltr である。readingProgression が設定されていない場合、ユーザー エージェントは、正規の表現を生成するとき、デフォルト値を使用しなければならない(MUST)。

このプロパティは、個々のプライマリ リソースのレンダリングに影響しない。 あるリソースから別のリソースへの進行方向にのみ関係する。

20:組み方向が明確に ltr に設定
{
"@context"           : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"               : "Book",
    …
"url"                : "https://publisher.example.org/leviathan",
"readingProgression" : "ltr"
}
2.7.2.11 タイトル

タイトルは、デジタル出版物の人間が可読可能な名前を提供する。name プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
name 出版物の人間が可読可能なタイトル。 タイトルのための複数の項目。 ローカライズ可能な文字列配列 name (Thing)

タイトルが、マニフェストに含まれておらず、デジタル出版物がタイトルを取得するための代替ルールを定義していない場合、ユーザー エージェントはタイトルを作成しなければならない(MUST)。この仕様は、このようなタイトルを生成するために使用するヒューリスティックを指定しない。

Note

ユーザー エージェントは、タイトルが指定されていない出版物に対して、意味のあるタイトル [wcag21] を生成することを期待されていない。

21:明示的に設定された本のタイトル
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"url"      : "https://publisher.example.org/heart-of-darkness",
"name"     : "Heart of Darkness"
}

2.7.3 リソース分類プロパティ

出版物のリソースは、このセクションで定義されているデフォルトの読み上げ順序リソースのリスト、及びリンクを介して指定される。これらの一覧は、プライバシー ポリシーなどの情報リソースへの参照、及び目次などの構造リソースへの参照が含まれる。

特定のリソースの URL がこれらの一覧に複数現れてはならず(MUST NOT)、URL は、リスト内で繰り返してはならない(MUST NOT)ことに注意されたい。

マニフェストは、これらのリスト内に自体の参照を包含してはならない(MUST NOT)。

2.7.3.1 デフォルトの読み上げ順序

デフォルトの読み上げ順序は、デジタル出版物リソースのセットを経由する特定の進行順序である。ユーザーは、コンテンツを通る経由する代わりの経路を辿る場合があるが、そのようなインスタンスが欠如している場合、デフォルトの読み上げ順序は、あるリソースから次のリソースへの予想される進行順序を定義する。

デフォルトの読み上げ順序は、readingOrder プロパティを使用して表現する。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
readingOrder デジタル出版物のリソースを介した進行の順序。

ひとつ以上の LinkedResource

リンク配列 (None)

readingOrder プロパティの各要素は、次のいずれかで表現されなければならない(MUST)。

単一の文字列値は、url プロパティが文字列のテキストである LinkedResource オブジェクトのインスタンスを表現する。

項目の順序は、意味がある

読み上げ順序を表現する URL は、フラグメント識別子に包含してはならない(MUST NOT)。非 HTML リソースは、encodingFormat 値が設定された LinkedResource として表現されるべきである(SHOULD)。

デフォルトの読み上げ順序は、最低でもひとつのリソースを包含しなければならない(MUST)。

22:読み上げ順序いは、URL の単純なリストとして表現される
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"url"      : "https://publisher.example.org/pride-prejudice",
"name"     : "Pride and Prejudice",
"readingOrder" : [
"html/title.html",
"html/copyright.html",
"html/introduction.html",
"html/epigraph.html",
"html/c001.html",
        …
    ]
}
23 :読み上げ順序は、項目に関する詳細情報を提供するオブジェクトとして表現される
{
"@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"     : "Book",
    …
"url"      : "https://publisher.example.org/pride-prejudice",
"name"     : "Pride and Prejudice",
"readingOrder" : [{
"type"           : "LinkedResource",
"url"            : "html/title.html",
"encodingFormat" : "text/html",
"name"           : "Title page"
    },{
"type"           : "LinkedResource",
"url"            : "html/copyright.html",
"encodingFormat" : "text/html",
"name"           : "Copyright page"
    },{
        …
    }]
}
2.7.3.2 リソース リスト

リソース リストは、デフォルトの読み上げ順序に掲載されていないデジタル出版物の処理又はレンダリングに使用される追加リソースを列挙する。resources プロパティを使用して表現される。

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
resources 出版物の処理又はレンダリングとして使用される追加の出版物リソースのリスト。

ひとつ以上の LinkedResource

リンク配列 (None)

resources プロパティの各要素は、次のいずれかで表現されなければならない(MUST)。

単一の文字列値は、url プロパティが文字列のテキストである LinkedResource オブジェクトのインスタンスを表現する。

項目の順序は、意味がない

URL は、フラグメント識別子を包含してはならない(MUST NOT)。encodingFormat 値が設定された LinkedResource オブジェクトを使用することを推奨する(RECOMMENDED)。

リソース リストの完全性は、(例えば、オフラインで読む機能など)特定の読書状況におけるデジタル出版物のユーザビリティに影響する可能性がある。このため、デフォルトの読み上げ順序に掲載されているリソース以外の、パブリケーション内にある全ての構成リソースの包括的なリストを提供することを強く推奨する(RECOMMENDED)。

場合によっては、(例えば、ソースの深部からリソースを参照するサードパーティのスクリプトなど)これらのリソースの包括的なリストを簡単に得ることができない場合があるが、ユーザー エージェントは、(例えば、それらなしでオフラインになった場合など)これらのリソースの一部が出版物に属していると識別されない場合でも、出版物をレンダリングできるべきである(SHOULD)。

24 :単純な URL を介したり、詳細を持つリソースを掲載する
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "TechArticle",
    …
"id"         : "http://www.w3.org/TR/tabular-data-model/",
"url"        : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
    …
"resources"  : [
"datatypes.html",
"datatypes.svg",
"datatypes.png",
"diff.html",
        {
"type"              : "LinkedResource",
"url"               : "test-utf8.csv",
"encodingFormat"    : "text/csv"
        },{
"type"              : "LinkedResource",
"url"               : "test-utf8-bom.csv",
"encodingFormat"    : "text/csv"
        },{
            …
        }
    ],
    …
}

2.7.4 拡張性

マニフェストは、デジタル出版物の表示とレンダリングにおいてユーザー エージェントによって使用されるための基本的なプロパティのセットを提供するように設計されていますが、次の方法で拡張してもよい(MAY)。

  1. リンクされたメタデータ レコードの提供によって
  2. マニフェストに追加プロパティの包含を介して

どちらの方法も有効だが、リンクされたレコードの使用を推奨する(RECOMMENDED)。

この仕様は、追加プロパティがマニフェストの正規の表現においてユーザー エージェントによるコンパイル、保存、公開する方法を定義しない。ユーザー エージェントは、一部又は全ての拡張プロパティを無視してもよい(MAY)。

2.7.4.1 リンクされたレコード

例えば、ONIX [onix] 又は BibTeX [bibtex] ファイルなど、レコードへのリンクを介してマニフェストを拡張するには、LinkedResource オブジェクトを使用して表現しなければならない(MUST)。

  • LinkedResourcerel 値は、IANA 又は他の組織によって定義された関連する識別子を包含するべきであり(SHOULD)、リンク レコードに記述的なメタデータが含まれる場合、describedby(IANA)識別子を包含しなければならない(MUST)。
  • リンク内の encodingFormat 値は、該当する場合、その特定のタイプのレコードに対して定義された MIME メディア タイプ [rfc2046] を使用しなければならない(MUST)。

リンクされたレコードが、出版物の一部である場合、リソース リストに包含しなければならない(MUST)(つまり、明示的なマニフェスト以上のものに必要である)。それ以外の場合、リンク リストに包含しなければならない(MUST)。

Editor's note

application/onix+xml MIME タイプは、このドキュメントの執筆時点ではまだ IANA によって登録されておらず、説明だけを目的として例に包含されている。

2.7.4.2 追加のマニフェスト プロパティ

追加のプロパティは、マニフェストに直接包含してもよい(MAY)。これらのプロパティは、[schema.org] や [dcterms] のようなパブリック スキームから取得し、可能な限りコントロールされた語彙から値を使用することを推奨する(RECOMMENDED)。プロプライエタリの用語を使用してもよいが(MAY)、コンテキストの一部として定義されたプレフィックスと伴に、そのような用語を、コンパクト IRI [json-ld] を使用して包含することを推奨する(RECOMMENDED)。

Note

[dcterms] のプレフィックス定義 dc は、[schema.org] のコンテキスト ファイルに包含されている。これは、プレフィックスを明示的に追加する必要がないという意味である。同じことが他に多くある公の語彙にも当てはまる。詳細は、schema.org context file を見よ。

26 :基本データの拡張として、schema.org「copyrightYear」及び「copyrightHolder」用語の使用例
{
"@context"        : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"            : "TechArticle",
…
"id"              : "http://www.w3.org/TR/tabular-data-model/",
"url"             : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"copyrightYear"   : "2015",
"copyrightHolder" : "World Wide Web Consortium",
…
}
27 :基本データの拡張として、2012 ACM Classification 用語を持つダブリン コア「subject」の使用例
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "CreativeWork",
…
"id"         : "http://www.w3.org/TR/tabular-data-model/",
"url"        : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"dc:subject" : ["Web data description languages","Data integration","Data Exchange"],
…
}

2.8 リソースの関係

2.8.1 有益なリソース

2.8.1.1 アクセシビリティ レポート

アクセシビリティ レポートは、様々な好みの読書方法を持つユーザーが消費するためのデジタル出版物の適合性に関する情報を提供する。通常、これらのレポートは、例えば、[wcag21] で提供されているものなど、確立されたアクセシビリティ基準に対する評価の結果を識別し、出版物のユーザビリティを決定する重要な情報源である。

アクセシビリティ レポートは、accessibility-report リンク リレーションを使用して識別する。

Editor's note

現在、accessibility-report 用語は、IANA のリンク リレーションに登録されていないが、ワーキング グループはそれを追加する予定である。

マニフェストは、出版物が利用できるとき、アクセシビリティ レポートへのリンクを包含するべきである(SHOULD)。レポートを、出版物のリソースとして包含することが推奨される(RECOMMENDED)。

アクセシビリティ レポートは、例えば、HTML [html] など、人間が可読可能なフォーマットで提供されることも推奨される(RECOMMENDED)。例えば、schema.org [schema.org] で提供するなど、機械処理可能なメタデータでこれらのレポートを増補することも、推奨される(RECOMMENDED)。

2.8.1.2 プレビュー

全てのデジタル出版物を、(例えば、サイトの登録ユーザーに制限される場合など)全てのユーザーが利用できるわけではない。このような場合、出版社は、完全版へのアクセスをユーザーへ促すために、コンテンツのプレビューを提供することがある。

プレビューは、preview リンク リレーション [iana-link-relations] を使用して識別される。

プレビューは、外部に配置又はデジタル出版物のリソースとして包含してもよい(MAY)。

29 :プレビューは、デジタル出版物の音声リソースとして識別される
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
…
"url"        : "https://publisher.example.org/jekyll-hyde",
"name"       : "The Strange Case of Dr. Jekyll and Mr. Hyde",
"links"  : [{
"type"            : "LinkedResource",
"url"             : "preview.mp3",
"encodingFormat"  : "audio/mpeg",
"rel"             : "preview"
},{
	…
}],
…
}
2.8.1.3 プライバシー ポリシー

多くの場合、ユーザーは、自分について収集される情報、その情報の保存方法や保存期間、個人を特定可能か、及び消去方法を、知り、制御する法的権利を持つ。従って、このようなプライバシーに対する懸念に対処する声明を包含することは、デジタル出版物の出版の重要な部分である。情報が収集されない場合でも、このような宣言は、ユーザーがコンテンツに対する信頼が高まる。

プライバシー ポリシーへのリンクは、この目的のために、マニフェストへ包含できる。プライバシー ポリシーは、出版物のリソースとして包含することを推奨する(RECOMMENDED)。

プライバシー ポリシーは、privacy-policy リンク リレーション [iana-link-relations] を使用して識別される。

2.8.2 構造リソース

2.8.2.1 カバー

カバーは、ユーザー エージェントが、(例えば、図書館や本棚で、又は最初に出版物を読み込むときになど)デジタル出版物を提示するために使用できるリソースである。

カバーは、cover リンク リレーションによって識別される。url 用語で表現される URL は、フラグメント識別子を包含してはならない(MUST NOT)。

Editor's note

現在、cover 用語は、IANA リンク リレーションに登録されていないが、ワーキング グループは、それを追加する予定である。

カバーが画像フォーマットの場合、titledescription が提供されるべきである(SHOULD)。ユーザー エージェントは、アクセシビリティが必要なとき、代替テキストと説明を提供するためにこれらのプロパティを使用できる。

複数のカバーを、(例えば、様々なデバイスの画面のための代替フォーマットとサイズを提供するためなど)マニフェストから参照してもよい(MAY)。複数のカバーが指定されている場合、各インスタンスは、(例えば、異なるフォーマット、高さ、幅、又は関係など)ユーザビリティを判断することがユーザー エージェントができるように、少なくともひとつの一意のプロパティを定義しなければならない(MUST)。

32:カバーは HTML ページ
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
    …
"url"        : "https://publisher.example.org/adam-bede",
"name"       : "Adam Bede",
"resources"  : [{
"type"           : "LinkedResource",
"url"            : "cover.html",
"encodingFormat" : "text/html",
"rel"            : "cover"
    },{
        …
    }],
    …
}
33:タイトルと説明を持つカバー画像
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
    …
"url"        : "https://publisher.example.org/mobydick",
"name"       : "Moby Dick",
"resources"  : [{
"type"           : "LinkedResource",
"url"            : "whale-image.jpg",
"encodingFormat" : "image/jpeg",
"rel"            : "cover",
"name"           : "Moby Dick attacking hunters",
"description"    : "A white whale is seen surfacing from the water to attack a small whaling boat"
    },{
        …
    }],
    …
}
34 :JPEG 及び SVG フォーマットのカバー画像
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
    …
"url"        : "https://publisher.example.org/gullivers-travels",
"name"       : "Gulliver's Travels",
"resources"  : [{
"type"           : "LinkedResource",
"url"            : "lilliput.jpg",
"encodingFormat" : "image/jpeg",
"rel"            : "cover"
    },{
"type"           : "LinkedResource",
"url"            : "lilliput.svg",
"encodingFormat" : "image/svg+xml",
"rel"            : "cover"
    },{
        …
    }],
    …
}
2.8.2.2 ページ リスト

ページ リストは、デジタル出版物内の静的なページ分割の位置のリストを含むナビゲーション支援である。

ページ リストは、pagelist リンク リレーションによって識別される。ページ リストを識別するリソースの url 用語で表現された URL は、フラグメント識別子を包含してはならない(MUST NOT)。

Editor's note

現在、pagelist 用語は、IANA リンク リレーションに登録されていないが、ワーキング グループは、それを追加する予定である。

ページ リストへのリンクは、リンク リストに指定してはならない(MUST NOT)。

35 :出版物の別のリソース内で指定されたページ リスト
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
…
"url"        : "https://publisher.example.org/metamorphosis",
"name"       : "Metamorphosis",
"resources"  : [{
"type"       : "LinkedResource",
"url"        : "toc_file.html",
"rel"        : "pagelist"
},{
	…
}],
…
}
2.8.2.3 目次

目次は、デジタル出版物の主要な構造セクションへのリンクを提供するナビゲーション支援である。

目次は、contents リンク リレーション [iana-link-relations] よって識別される。目次を識別するリソースの url 用語で表現される URL は、フラグメント識別子を包含してはならない(MUST NOT)。

目次へのリンクは、リンク リストに指定してはならない(MUST NOT)。

目次の推奨される(RECOMMENDED)構造と処理モデルは、§ B. 機械処理可能な目次で定義される。

36 :rel 属性値で識別される目次を含むリソース
{
"@context"   : ["https://schema.org","https://www.w3.org/ns/pub-context"],
"type"       : "Book",
    …
"url"        : "https://publisher.example.org/ilprincipe",
"name"       : "Il Principe",
"resources"  : [{
"type"       : "LinkedResource",
"url"        : "toc_file.html",
"rel"        : "contents"
    },{
        …
    }],
    …
}

2.8.3 拡張

この仕様で定義されている以上の追加の関係を表現する必要がある場合、rel プロパティは、次のいずれかで拡張できる。

[iana-relations] からの関連の使用を、推奨する(RECOMMENDED)。

3. マニフェストの発見

3.2 埋め込み

デジタル出版物フォーマットで、マニフェストを HTML ドキュメントに埋め込むことができるとき、マニフェストは、type 属性が application/ld+json に設定されている [json-ld] script 要素 [html] に包含しなければならない(MUST)。

40:出版物のマニフェストは、HTML ドキュメントに包含している。
<script type="application/ld+json">
   {
      …
   }
</script>

3.3 その他の発見方法

デジタル出版物フォーマットは、(例えば、そのマニフェストは、制限された名前及び/又は場所の使用を介して発見できるなど)マニフェストへのリンクや埋め込みを伴わないマニフェストを発見する代替方法を定義してもよい(MAY)。この仕様書は、そのようなメソッドに制限を追加しない。

4. モジュール拡張

4.1 導入

このセクションは規定ではない。

(例えば、オーディオブック、学術出版物など)出版物のコミュニティは、モジュール仕様の用語を持つマニフェストのコアを拡張及び新しい要件の追加によって、プロファイルとも呼ばれる、拡張を定義することを推奨する。

4.2 互換性の要件

デジタル出版物フォーマットがこの仕様と互換性を持つためには、次の条件を満たさなければならない(MUST)。

  1. この仕様で定義されているマニフェスト フォーマットの要件に忠実でなければならない(MUST)。
  2. § 5. マニフェストの処理で説明されている一般的な処理の手順は、拡張マニフェストに対して有効でなければならない(MUST)。これを達成するために、また、新しい用語が一般的なマニフェストに追加された場合は、次のようになる。
    • 該当する場合、用語は、(例えば、配列又はローカライズ可能な文字列など)アルゴリズムで使用されるひとつ以上の一般的な用語カテゴリに分類するべきである(SHOULD)。これは、関連する正規化の手順が、これらの用語に対して自動的に実行されることを意味する。
    • 必要に応じて、プロファイルは、処理アルゴリズム内の指定された拡張ポイントで実行するための、独自の正規化手順を定義してもよい(MAY)。そのような追加の手順は、一般的な処理アルゴリズムのために定義された手順の結果を無効にしてはならない(MUST NOT)。
Editor's note

例えば、オーディオブック プロファイルによって追加される用語の例を追加することは、有効なとき、良い考えである。

5. マニフェストの処理

正規の表現におけるマニフェストの処理に対する手順は、次のアルゴリズムによって与えられる。早期にアルゴリズムが終了する場合、マニフェストは有効ではない。

アルゴリズムは次の引数を取る。

Note

このアルゴリズムは、マニフェストの発見及び取得方法を定義しない。そのための手順は、各デジタル出版物フォーマットによって定義される。

Note

理解を助ける目的のために、このセクションの例は、JavaScript オブジェクトとして内部表現の構造を示す。ユーザー エージェントは、適切な言語と形式で結果の構造を処理及び内部化できる。

  1. マニフェストの正規の表現を含むオブジェクトを処理する。

  2. manifest は JSON [ecmascript] として textパースした結果とする。パースがエラーを投げた場合、このアルゴリズムを終了する。

  3. typeof(manifest)が Object [ecmascript] でない場合、このアルゴリズムを終了する。

  4. § 2.4 マニフェストのコンテキストmanifest["@context"] が、値「https://schema.org」及び「https://www.w3.org/ns/pub-context」を(この順序で)含んでいない場合、エラーを発行し、このアルゴリズムを終了する。

  5. manifest 内の各プロパティ term を反復し、必要に応じて次のようにその値を拡張する。複数の手順を適用してもよい(MAY)。

    Note

    以下の手順は、term の想定された値のカテゴリによって異なる。値のカテゴリは、用語の名前だけでなく、使用されるオブジェクトにも依存する可能性があることに注意されたい。例えば、用語 url の値カテゴリは、PublicationManifest オブジェクトに使用されるときは(URLs の)配列だが、それ以外のときは単一の URL リテラルである。

    このステップでは、変数 currentmanifest[term] の値に設定され、適用可能な各変換によって更新される。

    1. § 2.7.1.7 配列term配列を想定しているが、current に文字列又はオブジェクト value が含まれている場合、current を配列に変換し、それに value をプッシュする。

      説明

      多くの用語は配列にこれらの値が必要であるが、便宜上、著者はひとつの要素配列の代わりに単一の値を使用できる。例えば、次の場合、

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "name"      : "Et dukkehjem",
      "author"    : "Henrik Ibsen",
          …
      }

      以下の結果が得られる。

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "name"      : ["Et dukkehjem"],
      "author"    : ["Henrik Ibsen"],
          …
      }
    2. § 2.7.1.4.2 エンティティtermエンティティを想定しているが、current の値が文字列 str の場合、次のプロパティを持つオブジェクトに current を変換する。

      • type – 値「Person」の配列に設定する。

      • namestr に設定する。

      typeof(current)が Array [ecmascript] の場合、配列の各要素でこの手順を実行する。

      説明

      著者、編集者などは、タイプ Person のオブジェクトとして明示的に設計されることが想定されるが、便宜上、名前のみを指定する必要がある。例えば、次の場合、

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "author"    : ["Ralph Ellison"],
          …
      }

      このルールは、オブジェクトに文字列値を変換し、前の例は以下の結果を得られる。

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "author"    : [{
      "type" : ["Person"],
      "name" : "Ralph Ellison"
          }],
          …
      }
      Note

      簡単にするために、ローカライズ可能な文字列への name の変換は、後の手順で説明される。

    3. § 2.7.1.4.1 ローカライズ可能な文字列termローカライズ可能な文字列を想定し、current が文字列 str を含む場合、次のプロパティ持つオブジェクトに current を変換する。

      • valuestr に設定する。そして、

      • language – 指定されているときは、manifest["@context"] の言語宣言の値に設定する。それ以外は省略される。

      typeof(current)が Array [ecmascript] の場合、配列の各要素でこの手順を実行する。

      typeof(current)が Object [ecmascript] の場合、オブジェクトの各プロパティでこの手順を実行する。

      説明

      自然言語のテキスト値は、ローカライズ可能な文字列のオブジェクトとして明示的に設計されることが意図されているが、便宜上、単純な文字列にすることができる。例えば、言語情報がグローバル言語宣言を介して提供されていない場合、

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "name"      : ["La Comédie humaine"],
          …
      }

      以下の結果が得られる。

      {
      "@context"  : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "name"      : [{
      "value" : "La Comédie humaine"
          }],
          …
      }

      しかしながら、明示的な言語がマニフェストで提供されている場合、その言語はローカライズ可能な文字列オブジェクトに追加される。例えば、次の場合、

      {
      "@context"  : [
      "https://schema.org",
      "https://www.w3.org/ns/pub-context",
                           {"language": "fr"}
                        ],
      "name"       : ["La Comédie humaine"],
          …
      }

      以下の結果が得られる。

      {
      "@context"  : [
      "https://schema.org",
      "https://www.w3.org/ns/pub-context",
                           {"language": "fr"}
                        ],
      "name"      : [{
      "value"    : "La Comédie humaine",
      "language" : "fr"
          }],
          …
      }
    4. § 2.7.1.5 URLtermURL を想定し、current の値が絶対 URL 文字列ではない文字列である場合、base [rfc1808] の値を使用して値を解決する。

      typeof(current)が、Array [ecmascript] の場合、配列の各要素でこの手順を実行する。

      typeof(current)が、Object [ecmascript] の場合、オブジェクトの各プロパティでこの手順を実行する。

      説明

      出版物マニフェスト内における全ての相対 URL は、絶対 URL を生成するためにベース値に対して解決する必要がある。

    5. § 4.2 互換性の要件、拡張ポイント)プロファイルがプロファイル固有の用語の処理ステップを定義している場合、それらのステップはこの時点で実行される。

    current の値に processed[term] を設定する。

  6. 必要に応じて、次のプロパティの document からデフォルトを追加する。

    1. § 2.7.2.11 タイトルprocessed["name"] が設定されていない、又はその値が空の文字列の場合、

      • 新しいオブジェクト title を作成する。

        • documenttitle 要素 [html] が設定され、そのコンテンツが空ではない場合、title 要素のテキスト コンテツに title["value"] を設定し、そして、該当する場合、language [html] に title["language"] を設定する。

        • そうでなければ、title["value"] の値を生成し(詳細は別注を見よ)、ワーニングを発行する。

      • 空の配列に processed["name"] を設定し、それに title を追加する。
      説明

      この手順は、マニフェストに name プロパティが指定されていないときに、documenttitle 要素のコンテンツを追加する。例えば、次の場合、

      <html>
      <head lang="en">
      <title>The Golden Bough</title><script type="application/ld+json">
          {
      "@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
              …
          }
      </script>

      以下の結果が得られる。

      {
      "@context" : ["https://schema.org","https://www.w3.org/ns/pub-context"],
      "name"     : [{
      "value" : "The Golden Bough",
      "language" : "en"
          }],
          …
      }
    2. § 2.7.3.1 デフォルトの読み上げ順序processed["readingOrder"] が設定されていない、又はその値が空の文字列か配列の場合、

      • document.URL が設定されていない場合、エラーを発行してこのアルゴリズムを終了する。

      • そうでなければ、オブジェクトを作成して document.URL の値にその url プロパティを設定する。空の配列に processed["readingOrder"] を設定してオブジェクトを追加する。

      説明

      デジタル出版物が参照するドキュメントのみで構成されている場合、デフォルトの読み取り順序は省略でき、自動的に、その単一のリソースで構成される。

    3. プロファイルがドキュメントのフォールバックを指定する場合、それらの手順はこの時点で実行される。

  7. processed の次のプロパティでデータの整合性チェックを実行する。

    1. エンティティの配列に想定される processed 内の各プロパティ term について、processed[term] の各値 entry に、name プロパティが設定されているかどうかをチェックする。設定されていない場合、processed[term] から entry を削除し、ワーニングを発行する。

      ひとつ以上のプロパティがエンティティを想定しているオブジェクトを想定する current の全てのプロパティについて、再帰的にこのステップを繰り返す。

    2. § 2.5.1 グローバルの宣言 及び § 2.5.2 項目固有の宣言processed の全ての language プロパティが整形式 [bcp47] であることを再帰的にチェックし、検出された整形式でない値に対してワーニングを発行する。

    3. § 2.5.1 グローバルの宣言processed["direction"] が設定され、その値が必要な方向の値のいずれでもない場合、ワーニングを発行する。

    4. § 2.6 出版物タイプprocessed["type"] 設定されていない又は空の値が含まれている場合、値「CreativeWork」の配列にその値を設定し、ワーニングを発行する。

    5. § 2.7.2.1 縮約processed["abridged"] が設定されており、ブール値でない場合、ワーニングを発行する。

    6. § 2.7.2.6 継続時間processed["duration"] が設定されており、その値が [iso8601] に従う有効な継続時間の値でない場合、ワーニングを発行する。

    7. § 2.7.2.7 最終変更日processed["dateModified"] が設定されており、その値が [iso8601] に従う有効な日付又は日時でない場合、ワーニングを発行する。

    8. § 2.7.2.8 発行日processed["datePublished"] が設定されており、その値が [iso8601] に従う有効な日付又は日時でない場合、ワーニングを発行する。

    9. § 2.7.2.9 出版物の言語processed["inLanguage"] が設定されている場合、その配列における各値が整形式 [bcp47] であることをチェックし、検出された整形式でない値に対してワーニングを発行する。

    10. § 2.7.2.10 組み方向)次のように processed["readingProgression"] を検証する。

      • プロパティが設定されていない場合、「ltr」にその値を設定する。
      • そうでない場合、プロパティが設定されているが、必要な方向の値のいずれでもない場合、ワーニングを発行する。
      • そうでない場合、何もしない。
    11. § 2.7.3 リソース分類プロパティprocessed の各リソース分類プロパティ term について、processed[term] の各オブジェクト PP["url"] が設定されているかどうかを確認する。

      • 設定されていない場合、processed[term] 配列から P を削除し、ワーニングを発行する。

      • そうでない場合、P["url"] が有効な URL [url] かどうかをチェックし、もし有効でない場合、ワーニングを発行する。

    12. § A.1 LinkedResource の定義)タイプ LinkedResource 想定している processed の各プロパティ term に対して、term["length"] が設定されており有効な数値でない場合はワーニングを発行する。

    13. プロファイルがデータ検証チェックを指定している場合、これらの手順はこの時点で実行される。

Note

エラー及びワーニング メッセージを報告する方法は、ユーザー エージェントに依存する。

6. セキュリティとプライバシーの考慮事項

マニフェストは JSON-LD を使用して表現されるため、その仕様に詳述されているプライバシーセキュリティの考慮事項 [json-ld] は、マニフェストの全てのプロファイルに適用される。

プロファイルに関するいくつかの追加の一般的な考慮事項が包含される。

より明確なセキュリティとプライバシーの考慮事項は、デジタル出版物フォーマットの性質によって異なるため、詳細は各プロファイルに委ねられる。

A. カスタム タイプの定義

A.1 LinkedResource の定義

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
type リソースのタイプ。任意 ひとつ以上のテキスト。シーケンスは「LinkedResource」を包含しなければならない(MUST)。 リテラル配列 (None)
url リソースの位置。必須 有効な URL 文字列 [url]。追加の制限は、このタイプを受け入れるプロパティの定義を参照されたい。 URL url
encodingFormat (例えば、text/html など)リソースのメディア タイプ。任意 MIME メディア タイプ [rfc2046]. リテラル encodingFormat
name 項目の名前。任意 ひとつ以上のテキスト項目。 ローカライズ可能な文字列配列 name
description 項目の説明。任意 テキスト。 ローカライズ可能な文字列 description
rel リソースと出版物の関連性。任意

ひとつ以上の関連性。値は、IANA リンク レジストリ [iana-link-relations] 関連性のある関連用語かそれとも、適切なリンク レジスト項目が存在しない場合は特別に定義された URL

リテラル配列 (None)
integrity 整合性の検証を可能にするリソースの暗号化ハッシュ。任意

ひとつ以上の空白で区切られた整合性メタデータ [sri] のセット。値は、メタデータの定義 [sri] に準拠しなければならない(MUST)。

ユーザー エージェントがサポートすることを期待している暗号化ハッシュ関数のリストは、[sri] を参照されたい。

リテラル (None)
length (おそらく分数)秒における時間ベースのメディア リソースの合計長。任意 数字 数字 (None)
alternate

代替フォーマットでのリソースのひとつ以上の再形成への参照。

指定されたとき、encodingFormat は再形成のフォーマットを示す。

順序は重要ではない。

任意

ひとつ以上の、

  • 代替フォーマットのリソース再形成の URL を表現する文字列、又は、
  • LinkedResource オブジェクトのインスタンス。

項目の順序は、重要ではない。非 HTML リソースは、encodingFormat 値が設定された LinkedResource オブジェクトとして表現されるべきである(SHOULD)。

LinkedResource オブジェクトのひとつ以上のインスタンス。

リンク配列 (None)

integrity プロパティに対するユーザー エージェントのサポートは任意(OPTIONAL)だが、このプロパティを使用する暗号化ハッシュの比較をサポートするユーザーエージェントは、[sri] に従わなければならない(MUST)。

dictionary LinkedResource {
    required DOMString                           url;
DOMString                           encodingFormat;
sequence<LocalizableString>         name;
LocalizableString                   description;
sequence<DOMString>                 rel;
DOMString                           integrity;
double                              length;
sequence<LinkedResource>            alternate;
};

A.2 CreatorInfo の定義

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
type クリエイターのタイプ。任意 ひとつ以上のテキスト。シーケンスは、「Person」又は「Organization」を包含しなければならない(MUST)。 リテラル配列 (None)
name クリエイターの名前。必須 ひとつ以上のテキスト。 ローカライズ可能な文字列配列 name
id クリエイターに関連付けられた正規の識別子。任意 URL レコーダー [url]。 識別子 (None)
url クリエイターに関連付けられたアドレス。任意 有効な URL 文字列 [url]。 URL url
identifier (例えば、ORCID など)クリエイターに関連付けられた識別子。任意 ひとつ以上のテキスト。 リテラル配列 identifier

ユーザー エージェントは、Schema.org で定義されたクリエーター プロパティの範囲を、上記の表よりも広く解釈してもよい(MAY)ことに注意されたい。

dictionary CreatorInfo {
sequence<DOMString>         type;
    required sequence<LocalizableString> name;
DOMString                   id;
DOMString                   url;
sequence<DOMString>         identifier;
};

A.3 LocalizableString の定義

用語 概要 必須の値 値のカテゴリ [schema.org] マッピング
type 文字列のタイプ。任意 ひとつ以上のテキスト。シーケンスは、「LocalizableString」を包含しなければならない(MUST)。 リテラル配列 (None)
value ローカライズ可能な文字列の値。必須 テキスト。 リテラル (None)
language 値の言語。任意 整形式の言語タグ [bcp47]。 リテラル (None)
dictionary LocalizableString {
sequence<DOMString>         type;
    required DOMString                   value;
DOMString                   language;
};

B. 機械処理可能な目次

B.1 導入

このセクションは規定ではない。

ページ内及びサイト間のナビゲーションを容易にするために、HTML は、リンクのリストを表現するために nav 要素 [html] を使用する。デフォルトでは本質的に汎用ではあるが、nav 要素の目的は、role 属性 [html] の使用によって、より明確に識別することである。特に、[dpub-aria-1.0] 語彙の doc-toc ロールは、デジタル出版物の目次として nav 要素を識別する。

識別可能な目次を包含することは、任意のデジタル出版物を生成するためのアクセシブルな方法だが、HTML マークアップの柔軟性のために、(例えば、任意のページから利用可能なカスタム ビューを提供するためなど)リンクの意味のある階層を抽出しようとするユーザー エージェントにとっての課題を提示する。様々な用途の目次が重複するのを避けるために、このセクションは、ユーザーエージェントの抽出に十分な構造を提供しながら、ヒューマン フレンドリーかつ一般的な用途の構文を定義する。

著者は、目次を構築するためのリスト(順序付きまたは順序なし)を選択できる。これらのリスト内の各リンクをアンカー タグ(a 要素)でタグ付けすることにより、ユーザー エージェントは、必要な情報を周囲のコンテンツ(補助)又は追加されているスタイル的なタグとを容易に区別できる。目次は、アクティブなリンク(href 属性を含む)と非アクティブなリンク(href 属性を除く)の両方で構成でき、(例えば、特定の見出しへのリンクを省略したり、 プレビュー内の特定のコンテンツへのリンクなど)目次の構成方法にさらなる柔軟性を提供できる。

B.2 HTML 構造

目次は、[html] 要素(通常は nav 要素)を介して表現される。この要素は、role 属性 [html] の値「doc-toc」 [dpub-aria-1.0] によって識別されなければならず(MUST)、その role 値を持つドキュメント ツリー順序 [dom] におけるドキュメントの最初の要素でなければならない(MUST)。

マニフェストは、目次を含むリソースを識別するべきである(SHOULD)。

nav 要素のコンテンツ モデルは、制限がないけれども、ユーザー エージェントは、次のマークアップ ガイドラインに従うときのみ、使用可能な目次を抽出できるだろう。

目次のタイトル

目次のタイトルはオプションであるが、必要なときにユーザー エージェントがプレースホルダー タイトルを生成するのを避けるために、タイトルの追加することを勧める。タイトルは、[htmlh1 から h6 要素のいずれかを使用して指定される。最初のそのような要素のみがタイトルとして認識されることに注意されたい。見出し要素がリンクのリストの前に見つからない場合、ユーザー エージェントは、見出し要素が指定されていないと見なす。

nav 要素内で遭遇した最初の [htmlol 又は ul リスト要素は、コンテンツへのリンクを定義するリストが含まれていると想定される。例えば、このリストは、アルゴリズムがその処理に関係のない無視する要素のため、たとえ div 要素にネストされていて発見されるだろう。しかしながら、内部コンテンツは評価されないため、リストはスキップする要素の内部に発生することはできない。

nav 要素にこれらの要素のいずれも含まない場合、ユーザー エージェントは(例えば、機械でレンダリングされたオプションは利用できないなど)使用可能な目次を含むものとしてデジタル出版物を登録しない。

ブランチ

目次がリンクのツリーと見なされる場合、リンクのリスト内における各リスト項目(li 要素)は、ひとつのブランチを表現する。これらの各ブランチは、ユーザーに提示するために名前とオプションの目的地を持つ必要があり、この情報は、ネストされていれば、リスト項目内で発見された最初 a 要素から取得される(繰り返しになるが、スキップする要素内の全ての a 要素は除外される。)

ブランチのリンクの目的地は、指定されているとき、a 要素の href 属性から取得される。この属性は、リンクが利用できない(例えば、プレビューなど)又は関連性がない(例えば、グループ化したヘッダーなど)場合、省略できる。コンテンツへのリンクを提供するとき、(rel 属性で)リンクされたドキュメントの関係及び(type 属性で)リンクされたリソースのメディア タイプを指定することも可能である。

ブランチにラベルを付ける a 要素を見つけた後、ユーザー エージェントは別のリスト要素(つまり、サブブランチ)のマークアップを調査を続ける。リストが見つかった場合、ネストされたブランチがもはや処理されなくなるまで、同様にリンクを抽出するために処理する。

スキップする要素

誤った解釈を避けるために目次を解析するとき、要素の小さなセットは無視される。これらは、[htmlセクショニング コンテンツ要素セクショニング ルート要素である。これらが無視される理由は、独自のアウトラインを定義できるためである(つまり、自己完結型であり、必ずしもコンテンツリンクの構造に関連していない埋め込みコンテンツを表すことができる。)

隠された要素はユーザーによって直接アクセスされることを目的としていないため、hidden 属性が設定されている要素もスキップされる。

これらの要素は nav 要素に包含できるけれど、(たとえば、コンテンツへの全てのリンクを含むリスト アイテムの周りを section 要素をラップしないようにするなど)それらの中に重要なコンテンツを埋め込まないように注意する必要がある。

無視する要素

目次の抽出に関連せず、スキップされない全ての要素は、無視される。スキップする要素とは異なり、無視することは、ユーザー エージェントが関連コンテンツを検索し続けることを意味し、使用できるタグ付けに関して柔軟性が向上する。

B.2.1

このセクションは規定ではない。

B.3 ユーザー エージェントの処理

このセクションは、nav 要素から目次を抽出するアルゴリズムを定義する。これは、DOM ツリーのノードを、ツリー順に walk することに関して定義されており、各ノードは、ウォーク中にそのノードが入ったとき及び出たときにアクセスされる。ノードがアクセスされるたびに、それは入力又は終了イベントをトリガーしていると見なすことができる。いくつかの手順では、ユーザーエージェントにコンテンツの処理方法の選択及び様々なプレゼンテーション モデルに柔軟性を提供する。

Note

理解を助ける目的のために、このセクションの例は、JavaScript オブジェクトとして目次の構造を示す。ユーザー エージェントは、適切な言語と形式で結果の構造を処理及び内部化できる。

このアルゴリズムの目的のために、リスト要素は [htmlol 又は ul 要素のいずれかとして定義される。

次のアルゴリズムは、role 属性値 doc-toc を使用して、ドキュメント順に最初の nav 要素をルートとする DOM サブツリーの walk のために適用しなければならない(MUST)。全ての説明は有益である。

  1. toc は目次を表現するオブジェクトとし、次のように初期化する。

    1. 目次のタイトルを表現する tocname プロパティを作成し、空の文字列を設定する。
    2. 目次の全てのブランチを表現する tocentries プロパティを作成し、空の配列を設定する。
    説明

    この手順は、目次のタイトルとブランチを保存する toc オブジェクトを初期化する。

  2. スタックの初期化。

    説明

    スタックは、まだ完了していないブランチを保持するために使用される。新しいサブブランチに遭遇すると、親を後で取得できるようにスタックへプッシュする。

  3. 現在の toc ブランチnull を設定した変数にする。

    説明

    現在の toc は、現在処理されている目次のブランチを表現するオブジェクトを保持するために使用される。

  4. 目次の構築元である nav 要素から始め、ツリー順で DOM 上を walk し、walk の入力及び終了するときに、各要素に対して次の最初の関連手順をトリガーする。

    1. 見出しコンテンツ要素を入力するとき。

      次の手順を実行する。

      1. スタックが空で、tocname プロパティが空の文字列である場合、次のいずれかのように name プロパティを設定する。

        • (HTML タグを保持するための)要素の子孫コンテンツ。
        • (例えば、要素のアクセシブルな名前 [accname-1.1] を計算することによってなど)子孫コンテンツから取得されたテキスト文字列。

        (例えば、プレゼンテーション要素を削除し、全ての先頭と末尾の空白をトリミングした後など)name の結果の値が空の文字列である場合、name プロパティをプレースホルダー値かそれとも null に設定する。

      2. 要素を終了し、次の要素で処理を続行する。
      説明

      この手順は、目次の見出しを識別する。見出しは、toc name プロパティの値が空の文字列の場合にのみ処理される(つまり、見出しはまだ検出されていない)。

      ユーザー エージェントが見出し要素の子孫コンテンツに name を設定するかそれとも、そこからテキスト文字列を生成するかは、(例えば、画像、MathML、ルビ、及び簡単にテキストへ変換できない他のコンテンツを保持するためなど)プレゼンテーションで子孫タグを再利用するかどうかによって異なる。

      name が空の文字列ではない、または null の場合、すでに前の見出しと遭遇しているか、(例えば、見出しはリンクのリストをたどらないため、リストは既に処理されているなど)nav 要素に見出しがないことを示すコンテンツと遭遇している。

    2. リスト要素を入力するとき

      次の手順を実行する。

      1. tocname プロパティが空の文字列の場合、namenull に設定する。

      2. 現在の toc ブランチnull でない場合。

        1. 現在の toc ブランチentries プロパティが null 又は空でない配列の場合、要素を終了し、次の要素で処理を続行する。
        2. そうでなければ、スタックに現在の toc ブランチのオブジェクトをプッシュし、現在の toc ブランチnull に設定する。
      3. そうでなければ、スタックが空の場合。

        1. tocentries プロパティが null 又は空でない配列の場合、要素を終了し、次の要素で処理を続行する。
        2. そうでなければ。何もしない。
      説明

      このアルゴリズムは、単一のブランチ又は nav 要素のルートで複数のリストを処理せず、そのため、リストと既に遭遇している場合(entries プロパティにひとつ以上のブランチが含まれているか、null に設定されている)、このリストはスキップされる。

      リストと遭遇し、目次(toc)にまだ名前がない場合(つまり、見出し要素と遭遇していない)、目次は見出しがないと想定される(つまり、目次の見出しはエントリの最初のリストの後に表示できない)。name プロパティの値は、これ以上は見出しが適用されないため、空の文字列から null に変更される。

    3. リスト要素を終了するとき

      スタックが空でない場合、スタックからオブジェクトを取り、それに現在の toc ブランチを設定する。

      説明

      これは、全ての子ブランチが処理された後、現在の toc ブランチが親オブジェクトにリセットされる。

    4. リスト項目要素を入力するとき場合

      次の手順を実行する。

      1. 新しいオブジェクトに現在の目次オブジェクトを設定する
      2. オブジェクトの nameurltype、及び rel プロパティを作成し、空の文字列を設定する。
      3. オブジェクトに entries プロパティを作成し、空の配列を設定する。
      説明

      各リスト項目は目次の新しいブランチの候補を表現しているため、新しいブランチに遭遇すると、新しい空のオブジェクトが現在の toc ブランチに作成される。

      このオブジェクトは、子孫の a 要素として情報が投入され、リストに遭遇する。

    5. リスト項目要素を終了するとき

      次の手順を実行する。

      1. 現在の toc ブランチentries プロパティが空の配列を含む場合、値を null に設定する。

      2. スタックがひとつ以上のエントリを含む場合。

        1. 現在の toc ブランチentries プロパティに空でない配列が含まれ、その name プロパティが空の文字列である場合、その name をプレースホルダ値又は null に設定する。
        2. 現在の toc ブランチentries プロパティが空の配列が含まれ、その name プロパティが空の文字列の場合、現在の toc ブランチnull に設定し、この処理手順を終了する。

        スタックの一番上にあるオブジェクトの entries プロパティの配列に現在の toc ブランチを追加する。

      3. そうでなければ、tocentries 配列に現在の toc ブランチ内のオブジェクトを追加する。

      4. 現在の toc ブランチnull を設定する。

      説明

      リスト項目を終了すると、現在のブランチの処理が完了したことを示す。親の entries 配列にこのブランチを追加する前に、ブランチに名前及び/又はサブブランチがあるかどうかをテストする必要がある。名前はないがサブブランチがある場合、ブランチは保持される。ユーザー エージェントは、独自に作成のプレースホルダー値を提供するか、値を null に設定できる。名前またはブランチがない場合、無効になり破棄される。

      ブランチをマージする場所を決定するために、スタックがチェックされる。スタックにオブジェクトがない場合、ルートの toc オブジェクトの entries プロパティに追加される(つまり、最上位ブランチである)。そうでなければ、スタック内にある直前のオブジェクトの entries プロパティに追加される。

      最終の手順として、現在の toc ブランチnull に戻されてリセットされる。

    6. アンカー要素を入力し、現在の toc ブランチnull でない場合。

      次の手順を実行する。

      1. 現在の toc ブランチname プロパティが、空の文字列でない場合、何もしない。

      2. そうでなければ

        1. 次のいずれかに現在の toc ブランチname プロパティを設定する。

          • (HTML タグを保持するための)アンカー要素の子孫コンテンツ。
          • (例えば、要素のアクセシブルな名前 [accname-1.1] を計算することによってなど)子孫コンテツから抽出したテキスト文字列。

          (例えば、プレゼンテーション要素を削除し、先頭と末尾の空白を全てトリミングした後など)name の結果の値が空の文字列の場合、name プロパティを null に設定する。

        2. 要素に href 属性があり、属性の URL がデフォルトの読み上げ順序又はリソース リストのリソースで解決される場合、現在の toc ブランチurl プロパティを値に設定する。そうでなければ、プロパティを null に設定する。
        3. 要素に type 属性があり、先頭と末尾の空白をトリミングした後の属性の値が空の文字列でない場合、現在の toc ブランチtype プロパティをその値に設定する。そうでなければ、プロパティを null に設定する。
        4. 要素に rel 属性があり、先頭と末尾の空白をトリミングした後の属性の値が空の文字列でない場合、現在の toc ブランチrel プロパティをその値に設定する。そうでなければ、プロパティを null に設定する。

        要素を終了し、次の要素で処理を続行する。

      説明

      この手順は、ブランチの nameurl プロパティの値を取得するためにアンカータグを処理する。

      現在のブランチの名前がすでに定義されている場合、この要素の処理は終了する(つまり、単一のブランチにおける複数のリンクの処理を回避するため)。

      ユーザー エージェントが a 要素の子孫コンテンツにエントリの name を設定するかそれとも、そこからテキスト文字列を生成するかは、(例えば、画像、MathML、ルビ、及び簡単にテキストへ変換できない他のコンテンツを保持するためなど)プレゼンテーションで子孫タグを再利用するかどうかによって決まる。

      href 属性を識別することに加え、この仕様の要件を満たすために、デジタル出版物に属するリソースを解決する必要がある。そうでない場合、ブランチは保持されるが、エントリはリンクできない。

      リンクのターゲットに関する追加情報(リソースのタイプとその関係)も保持される。

    7. セクショニング コンテンツ要素、セクショニング ルート要素、又は隠された属性を持つ要素を入力するとき。

      要素を終了し、次の要素で処理を続行する。

      説明

      セクショニング要素とセクショニング ルート要素は独自のアウトラインを定義できるため、それらに由来すると目次の生成に問題が生じる(つまり、直接関連しないコンテンツが含まれる場合がある)。結果として、子コンテンツが処理されることを防ぐために遭遇したとき、スキップされる。

    8. そうでない場合:何もしない。

      説明

      他の全ての要素について、この手順は、子孫要素の処理を継続できる。

  5. DOM walk の完了後、tocentries プロパティに空でない配列が含まれている場合、toc は機械処理された目次を表現する。

    そうでなければ、デジタル出版物は、機械でレンダリングする目的で使用できる目次を持たない。

    説明

    ルート toc オブジェクトの entries 配列にブランチが含まれていない場合(リストが、nav 要素で発見されないかそれともリストに、適合するリスト項目が含まれていないため)、アルゴリズムは利用可能な目次を作成しない。

C. マニフェストの例

このセクションは規定ではない。

C.1 シンプルな本

シンプルな本のためのマニフェスト。このマニフェストの正規の表現の JSON コード化も利用できる。

{
"@context": ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type": "Book",
"url": "https://publisher.example.org/mobydick",
"author": "Herman Melville",
"dateModified": "2018-02-10T17:00:00Z",

"readingOrder": [
"html/title.html",
"html/copyright.html",
"html/introduction.html",
"html/epigraph.html",
"html/c001.html",
"html/c002.html",
"html/c003.html",
"html/c004.html",
"html/c005.html",
"html/c006.html"
    ],

"resources": [
"css/mobydick.css",
        {
"type": "LinkedResource",
"rel": "cover",
"url": "images/cover.jpg",
"encodingFormat": "image/jpeg"
        },{
"type": "LinkedResource",
"url": "html/toc.html",
"rel": "contents"
        },{
"type": "LinkedResource",
"url": "fonts/STIXGeneral.otf",
"encodingFormat": "application/vnd.ms-opentype"
        },{
"type": "LinkedResource",
"url": "fonts/STIXGeneralBol.otf",
"encodingFormat": "application/vnd.ms-opentype"
        },{
"type": "LinkedResource",
"url": "fonts/STIXGeneralBolIta.otf",
"encodingFormat": "application/vnd.ms-opentype"
        },{
"type": "LinkedResource",
"url": "fonts/STIXGeneralItalic.otf",
"encodingFormat": "application/vnd.ms-opentype"
        }
    ]
}

C.2 単一ドキュメントの出版物

埋め込みマニフェストの例。同じドキュメントのより複雑なバージョンだけでなく、マニフェストの正規の表現の JSON コード化も利用できる。

<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Model for Tabular Data and Metadata on the Web</title>
<link href="#wpm" rel="publication" />
    ...
<script id="wpm" type="application/ld+json">
    {
"@context"        : ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type"            : "TechArticle",
"id"              : "http://www.w3.org/TR/tabular-data-model/",
"url"             : "http://www.w3.org/TR/2015/REC-tabular-data-model-20151217/",
"copyrightYear"   : "2015",
"copyrightHolder" : "World Wide Web Consortium",    
"creator"         : ["Jeni Tennison", "Gregg Kellogg", "Ivan Herman"],
"publisher" : {
"type" : "Organization",
"name" : "World Wide Web Consortium",
"id"   : "https://www.w3.org/"
        },
"datePublished"         : "2015-12-17",
"resources"             : [
"datatypes.html",
"datatypes.svg",
"datatypes.png",
"diff.html",
            {
"type"           : "LinkedResource",
"url"            : "test-utf8.csv",
"encodingFormat" : "text/csv"

            },
            {
"type"           : "LinkedResource",
"url"            : "test.xlsx",
"encodingFormat" : "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
            }
        ],
    }
</script>
</head>
<body>
    ....

<section id="toc" role="doc-toc">
<h2 resource="#h-toc" id="h-toc" class="introductory">Table of Contents</h2>
<ul class="toc">
<li class="tocline"><a class="tocxref" href="#intro">
<span class="secno">1. </span>Introduction</a>
</li>
            ...
</ul>
</section>
    ...

</body>
</html>

C.3 オーディオブック

オーディオブックのマニフェスト。このマニフェストの正規の表現の JSON コード化も利用できる。

{
"@context": ["https://schema.org", "https://www.w3.org/ns/pub-context"],
"type": "Audiobook",
"id": "https://librivox.org/flatland-a-romance-of-many-dimensions-by-edwin-abbott-abbott/",
"url": "https://w3c.github.io/wpub/experiments/audiobook/",
"name": "Flatland: A Romance of Many Dimensions",
"author": "Edwin Abbott Abbott",
"readBy": "Ruth Golding",
"publisher": "Librivox",
"inLanguage": "en",
"dateModified": "2018-06-14T19:32:18Z",
"datePublished": "2008-10-12",
"duration": "PT15153S",
"license": "https://creativecommons.org/publicdomain/zero/1.0/",

"resources": [
    {
"rel": "cover",
"url": "http://ia800704.us.archive.org/9/items/LibrivoxCdCoverArt12/Flatland_1109.jpg",
"encodingFormat": "image/jpeg"
    },{
"rel": "contents", 
"url": "toc.html", 
"encodingFormat": "text/html"
    }
  ],

"readingOrder": [
    {
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_1_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1371,
"name": "Part 1, Sections 1 - 3"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_2_abbott.mp3",
"encodingFormat": "audio/mpeg", 
"length": 1669,
"name": "Part 1, Sections 4 - 5"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_3_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1506,
"name": "Part 1, Sections 6 - 7"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_4_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1669,
"name": "Part 1, Sections 8 - 10"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_5_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1506,
"name": "Part 1, Sections 11 - 12"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_6_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1798,
"name": "Part 2, Sections 13 - 14"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_7_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1225,
"name": "Part 2, Sections 15 - 17"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_8_abbott.mp3",
"encodingFormat": "audio/mpeg",
"length": 1371,
"name": "Part 2, Sections 18 - 20"
    },{
"url": "http://www.archive.org/download/flatland_rg_librivox/flatland_9_abbott.mp3", 
"encodingFormat": "audio/mpeg",
"length": 1659,
"name": "Part 2, Sections 21 - 22"
    }
  ]
}

D. 双方向テキスト

D.1 JSON-LD の項目固有の指向性

自然なテキスト値の方向を設定することは、現在、JSON-LD [json-ld] では不可能である。右から左又は双方向のテキストを含むマニフェスト エントリを正しく処理するために、ユーザー エージェントは、最初の強い指向性のある文字のテキストをスキャンすることで、特定の自然言語値の基本方向を識別するべきである(SHOULD)。

最初の強力なヒューリスティックが、(例えば、ラテン語の頭字語で始まるアラビア語又はヘブライ語のスクリプトの文字列など)誤った結果を生成する状況では、著者は、文字列に ユニコード制御文字(U+200E LEFT-TO-RIGHT MARK 又は U+200F RIGHT-TO-LEFT MARK のいずれか)を先頭に追加できる。これにより、ヒューリスティックが適用されるとき、必要な基本方向が生成される。(§ D.2 双方向テキストの例を見よ。)

基本方向が識別されると、ユーザー エージェントは、Unicode 双方向アルゴリズム [bidi] に従って、自然言語値の適切なレンダリングと表示を決定しなければならない(MUST)。これは、基本方向を適用するため、表示する前に文字列の周りに追加のマークアップ又は Unicode フォーマットの文字をラップする必要がある。

Note

著者が、埋め込まれたマニフェストと個別のリソースの両方として、マニフェスト又はマニフェスト テンプレートを使用する場合、埋め込みの場合に含まれる script 要素の干渉を避けるために、これらのプロパティを明示的に設定することを強く推奨する。

Note

D.2 双方向テキストの例

このセクションは規定ではない。

このセクションは、必要に応じて、消費者が期待する表示を生成できるように、Unicode フォーマット文字を双方向文字列に適用する方法を解説する。最初の強いヒューリスティックが誤った結果を生成する場合には、先頭にフォーマットする文字を文字列に生成すると、最初の強いヒューリスティックは文字列全体に対して正しい基本方向を生成する。

ラテン文字で始まる右から左への文字列は、U+200F RIGHT-TO-LEFT MARK を先頭に付ける必要がある。

メモリー内の文字の順序:  HTML היא שפת סימון.
誤った表示を伝える:  HTML היא שפת סימון.
フォーマット文字のあるソース コード:  "\u200FHTML היא שפת סימון."
期待する表示を伝える:  HTML היא שפת סימון.

アラビア文字で始まる左から右への文字列は、U+200E LEFT-TO-RIGHT MARK を先頭に付ける必要がある。

メモリー内の文字の順序:  'سلام' is hello in Persian.
誤った表示を伝える:  'سلام' is hello in Persian.
フォーマット文字のあるソース コード:  "\u200E'سلام' is hello in Persian."
期待する表示を伝える:  'سلام' is hello in Persian.

E. プロパティの索引

このセクションは規定ではない。

次の表は、どこでマニフェスト プロパティの定義及び拡張されているのかを示す。

名前 出版物マニフェスト
accessMode § 2.7.2.2 アクセシビリティ
accessModeSufficient § 2.7.2.2 アクセシビリティ
accessibilityFeature § 2.7.2.2 アクセシビリティ
accessibilityHazard § 2.7.2.2 アクセシビリティ
accessibilitySummary § 2.7.2.2 アクセシビリティ
artist § 2.7.2.5 クリエイター
author § 2.7.2.5 クリエイター
contributor § 2.7.2.5 クリエイター
creator § 2.7.2.5 クリエイター
dateModified § 2.7.2.7 最終変更日
datePublished § 2.7.2.8 発行日
duration § 2.7.2.6 継続時間
editor § 2.7.2.5 クリエイター
id § 2.7.2.4 正規の識別子
illustrator § 2.7.2.5 クリエイター
inker § 2.7.2.5 クリエイター
inLanguage § 2.7.2.9 出版物の言語
letterer § 2.7.2.5 クリエイター
link § 2.7.3.3 リンク
name § 2.7.2.11 タイトル
penciler § 2.7.2.5 クリエイター
publisher § 2.7.2.5 クリエイター
readBy § 2.7.2.5 クリエイター
readingOrder § 2.7.3.11 デフォルトの読み上げ順序
readingProgression § 2.7.2.10 組み方向
resources § 2.7.3.2 リソース リスト
translator § 2.7.2.5 クリエイター
url § 2.7.2.3 アドレス

F. リソースの関係の索引

このセクションは規定ではない。

次の表は、どこでリソースの関係の使用において定義されているのかを示す。

名前 出版物マニフェスト
accessibility-report § 2.8.1.1 アクセシビリティ レポート
contents § 2.8.2.3 目次
cover § 2.8.2.1 カバー
pagelist § 2.8.2.2 ページ リスト
privacy-policy § 2.8.1.3 プライバシー ポリシー
preview § 2.8.1.2 プレビュー

G. 謝辞

このセクションは規定ではない。

編集者は、この仕様への貢献に対し、Publishing Working Group のメンバーに感謝の意を表したい。

ワーキング グループはまた、この仕様のために道を切り開いてくれた全ての努力に対し、Digital Publishing Interest Group のメンバーに感謝の意を表した。

H. 参照・参考

H.1 規定の参照

[accname-1.1]
Accessible Name and Description Computation 1.1. Joanmarie Diggs; Bryan Garaventa; Michael Cooper. W3C. 18 December 2018. W3C Recommendation. URL: https://www.w3.org/TR/accname-1.1/
[bcp47]
Tags for Identifying Languages. A. Phillips; M. Davis. IETF. September 2009. IETF Best Current Practice. URL: https://tools.ietf.org/html/bcp47
[bibtex]
BibTeX Format Description. URL: http://www.bibtex.org/Format/
[bidi]
Unicode Bidirectional Algorithm. Mark Davis; Aharon Lanin; Andrew Glass. Unicode Consortium. 4 February 2019. Unicode Standard Annex #9. URL: https://www.unicode.org/reports/tr9/tr9-41.html
[dcterms]
DCMI Metadata Terms. DCMI Usage Board. DCMI. 14 June 2012. DCMI Recommendation. URL: http://dublincore.org/documents/dcmi-terms/
[dom]
DOM Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://dom.spec.whatwg.org/
[dpub-aria-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/dpub-aria-1.0/
[ecmascript]
ECMAScript Language Specification. Ecma International. URL: https://tc39.github.io/ecma262/
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
Link Relations. URL: https://www.iana.org/assignments/link-relations/link-relations.xhtml
[iana-relations]
Link Relations. IANA. URL: https://www.iana.org/assignments/link-relations/
[iso8601]
Representation of dates and times. ISO 8601:2004.. International Organization for Standardization (ISO). 2004. ISO 8601:2004. URL: http://www.iso.org/iso/catalogue_detail?csnumber=40874
[json]
The application/json Media Type for JavaScript Object Notation (JSON). D. Crockford. IETF. July 2006. Informational. URL: https://tools.ietf.org/html/rfc4627
[json-ld]
JSON-LD 1.0. Manu Sporny; Gregg Kellogg; Markus Lanthaler. W3C. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/json-ld/
[onix]
ONIX for Books. URL: http://www.editeur.org/83/Overview
[rfc1808]
Relative Uniform Resource Locators. R. Fielding. IETF. June 1995. Proposed Standard. URL: https://tools.ietf.org/html/rfc1808
[rfc2046]
Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types. N. Freed; N. Borenstein. IETF. November 1996. Draft Standard. URL: https://tools.ietf.org/html/rfc2046
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[rfc5988]
Web Linking. M. Nottingham. IETF. October 2010. Proposed Standard. URL: https://tools.ietf.org/html/rfc5988
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://tools.ietf.org/html/rfc8174
[rfc8288]
Web Linking. M. Nottingham. IETF. October 2017. Proposed Standard. URL: https://httpwg.org/specs/rfc8288.html
[schema.org]
Schema.org. URL: https://schema.org
[sri]
Subresource Integrity. Devdatta Akhawe; Frederik Braun; Francois Marier; Joel Weinberger. W3C. 23 June 2016. W3C Recommendation. URL: https://www.w3.org/TR/SRI/
[url]
URL Standard. Anne van Kesteren. WHATWG. Living Standard. URL: https://url.spec.whatwg.org/
[wcag21]
Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 5 June 2018. W3C Recommendation. URL: https://www.w3.org/TR/WCAG21/
[WebIDL]
Web IDL. Boris Zbarsky. W3C. 15 December 2016. W3C Editor's Draft. URL: https://heycam.github.io/webidl/
[webidl-1]
WebIDL Level 1. Cameron McCormack. W3C. 15 December 2016. W3C Recommendation. URL: https://www.w3.org/TR/2016/REC-WebIDL-1-20161215/

H.2 規定ではない参照

[ecma-404]
The JSON Data Interchange Format. Ecma International. 1 October 2013. Standard. URL: https://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf
[json-schema]
JSON Schema: core definitions and terminology. K. Zyp. Internet Engineering Task Force (IETF). 31 January 2013. Internet-Draft. URL: https://tools.ietf.org/html/draft-zyp-json-schema
Identifier: A Link Relation to Convey a Preferred URI for Referencing. H. Van de Sompel; M. Nelson; G. Bilder; J. Kunze; S. Warner. IETF. URL: https://tools.ietf.org/html/draft-vandesompel-identifier-00
[rfc3987]
Internationalized Resource Identifiers (IRIs). M. Duerst; M. Suignard. IETF. January 2005. Proposed Standard. URL: https://tools.ietf.org/html/rfc3987
[string-meta]
Requirements for Language and Direction Metadata in Data Formats. Addison Phillips; Richard Ishida. 2017-12-01. URL: https://w3c.github.io/string-meta/
[webschemas-a11y]
WebSchemas Accessibility. URL: http://www.w3.org/wiki/WebSchemas/Accessibility