HTML5.2の見出し毎の内容を雑にまとめる、2.1 Terminology (用語)

2. Common infrastructure (共通基盤) の中の 2.1 Terminology (用語) について

ここを雑に読み飛ばすと、続く文章の言葉の意味が分からなくて泣きをみますので気合を入れて読みます


内容についてはあくまで初学者の覚書ですので、正式な仕様はW3CのHTML5.2を確認してください

また、勉強のため、各仕様の邦訳文書、解説文書を読まずに自分で翻訳して覚書を書き終わってから答え合わせとして邦訳文書を参照するようにしています

このため、多くの訳語が一般的な訳と異なっていますのでご注意ください


2. Common infrastructure (共通基盤)
2.1 Terminology (用語)

共通基盤に関する用語の説明


属性と言ったとき、文脈から参照先が曖昧であれば、HTML属性とXHTML属性とIDL (インタフェース記述言語) の属性の全てを指す

JavaScriptのオブジェクトプロパティとCSS双方のプロパティも同様である

「これの機能はHTMLに適用されます (XHTMLには適用しません)」のような記述がなければ、HTML/XHTMLの片方だけに言及していてももう一方にも適用する

文書は短文からマルチメディアまでかなり広い意味で使われるが、DOMの文脈では文書 (document) はDOMの仕様に従うのでHTML文書とXML文書は区別され、バイトストリームの文脈ではHTML文書は text/html のリソースであり、XML文書はXML MIMEタイプラベルのリソースを意味し、用語「XHTML文書」は文脈によてHTML名前空間の要素を含むXML文書としての文書と、HTML名前空間の要素を含むXML MIMEタイプのバイトストリームの両方を意味する


表示される (displayed) や見える (visible) は視覚的メディアに限定されない

アルゴリズム B が別なアルゴリズム A に戻るという時、A が B を呼んだことを意味し、AはBを呼びして中断したところから実行を続けなければならない

一部の処理は並行 (in parallel) に処理され、後続処理と同時に実行されることを意味するが、この仕様は正確な並列処理実行メカニズムを定義しない

対照的に直ちに (immediately) 実行される演算は、実行中の作業に割り込んで、実行し、前の作業を再開せねばならない

透明な黒は、赤、緑、青、アルファチャンネルがすべて0のの色である

2.1.1. Resources (リソース)

リソースに関連する用語の定義

ハイパーテキスト転送プロトコル -- HTTP/1.1 の3.7 メディアタイプを併せて読むべき (だが、私は読んでいない)


この仕様ではデコードできる外部リソースはサポートされる (supported) と言う用語で表現される

HTTPの仕様で、representationと言われるものはこの仕様では resource と言う

MIME typeはインターネットメディアタイプ (Internet media type) とも呼ばれるし、CSSでもメディア指定に使う

HTMLのメディアタイプはtext/htmlである

重要な副リソース (critical subresources) は、リソースが正しい処理に利用するために必要なリソースで、どのリソースが重要かは、リソースの仕様に定義されている

2.1.2. XML compatibility (XMLとの互換性)

XHTMLへの移行を容易にするためにHTML名前空間を使うとかなんとか

XHTMLとして文書を書いたり利用する気がない人は意識しなくてもたぶんあんまり困らない

名前空間はXHTML1.xと同じ


XHTMLとして解釈する時の名前空間http://www.w3.org/1999/xhtml

XMLMIME Typeはtext/xmlapplication/xml又はサブタイプが+xmlで終わる任意のMIME type

2.1.3. DOM trees (DOM 木構造)

DOMの関連用語

プログラマにとっては大体直観的な用語の定義 (だが、読んだ方が良い)


無視 (ignored) される
他の値として扱われる
別の何かとして扱われる
要素や属性が無視される、他の値として扱われる、他の何かとして扱われると規定されている場合、DOMの内部的な処理を指し、ユーザーエージェントはそのようなDOM状況の変化させてはならない
変更 (change)

以前の値が、新しい値と異なる場合、コンテンツ属性の値のみを変更 (change) する

既に持っている値を属性に設定しても変更しない

(属性値やテキストノードが) 空 (empty)

属性値やテキストノードに対して使った場合、文字列の長さが0の事

スペース(U+0020 " " SPACE) や制御文字もない状態

ある要素の子のテキストコンテンツ (child text content)
その要素の子孫の全てのテキストノードで構成されるデータ (その他のコメントや要素は無視される)
ノードBにノードAが挿入される (node A is inserted)
挿入処置 (insertion steps) がノードAを引数として呼び出され、Aの新しい親がノードBとなる事
ノードBからノードAは除去される (node A is removed)
除去処置 (removing steps) が A を除去ノード (removedNode)の引数、B を古い親 (oldParent) の引数として呼び出された時の処理
ノードが文書に挿入される (node is inserted into a document)
挿入処置 (insertion steps) がノードを引数として呼び出され、今やドキュメントツリーの中にある時の処理
ノードが文書から除去される (node is removed from a document)
除去処置 (removing steps) がノードを引数として呼び出され、最早ドキュメントツリーに存在しない時の処理
2.1.4. Scripting (スクリプティング)

スクリプトの為の用語

恐らくはJavaScriptでDOMを通じて利用するのが標準になっており、用語はDOMに準拠している

なお、HTML5.2 (この項だけでなく全般的に) が参照しているDOMの仕様はHTML5.2勧告時点で草案のW3C DOM 4.1である


"インターフェスFooを実装するオブジェクト" の代わりに "Foo オブジェクト" と書いたりする

IDL属性の値が (例えば、著者のスクリプト (author script) によって) 検索された時、取得中 (getting) と呼ばれ、新しい値が割り当てられた時、設定中 (setting) と言われる

DOMオブジェクトが生きている (live) と言われる時、そのオブジェクトの属性やメソッドは実際の元となるデータの物で、別のある瞬間 (snapshot) のデータではない

イベントの文脈では発火 (firing)、発信 (dispatching) はDOMの仕様の定義で用いる

イベントの発火 (firing) とは、イベントの生成と発信 (dispatching) を意味し、イベントの発信 (dispatching) とは手順に従って、イベントがツリーに伝播していくことを意味する

信頼できるイベント (trusted event) と言う用語はisTrusted 属性が真に初期化されたイベントを参照する為に使われる

2.1.5. Plugins (プラグイン)

用語プラグイン (典型的な例としてはPDFビュワーなど) の解説

プラグインレンダリングには参加できるけど、DOMにノード導入したりはできないとか、ユーザーエージェントはtext/plainapplication/octet-streamプラグインと見做してはならないとかなんとか

2.1.6. Character encodings (文字エンコーディング)

文字エンコーディングの話

単にHTML文書を書きたいだけの人は余り意識しなくてもよさそうだが、文字列のコード単位の長さ (code-unit length of a string) に言及するなら読んでおいた方が良い

HTML5.2の仕様はW3CEncodingを参照しているが、もし読むならwhatwgEncodingの方が良いだろう


文字エンコーディング、または曖昧でない時の単なるエンコーディングは、Encoding仕様で定められた、バイトストリームとUnicode文字列を変換する為の定義された方法である

エンコーディングは1つのエンコーディング名と、一つ以上のエンコーディングラベルを持ち、エンコーディング仕様のエンコーディング名とラベルを参照する

UTF-16エンコーディングUTF-16BEUTF-16LEである

ASCII互換エンコーディングUTF-16エンコーディング以外の任意のエンコーディングである (このASCII互換エンコーディングとなるUTF-16エンコーディング以外の任意のエンコーディングとは、Encoding specificationにある中でUTF-16エンコーディング以外の任意のエンコーディングと言う意味で、Encoding specification にないエンコーディングは元より対象外である)

用語コード単位 (code unit) は Web IDL specificationの定義で用いられ、16bit符号なし整数のDOM Stringの不可分な最小構成要素である (これはUnicodeの定義より狭義で、コードポイント (code point) とは異なる)

用語Unicodeコードポイント (Unicode code point) は 可能であればUnicodeスカラー値を意味し、そうでなければ単独のサロゲートコードポイントである

適合要件の定義が文字かUnicodeコードポイントを条件とするとき、一対のコード単位を構成する上位サロゲートとそれに続く低サロゲートは、サロゲートペアによって表される単独のコードポイントとして扱われなければならないが、単独のサロゲートサロゲートの値の単独のコードポイントとして扱われなければならない

この仕様では、文字 (character) と言う用語は、Unicode文字と書かれていなければUnicodeコードポイントと同義である

Unicode文字 (Unicode character) とはUnicodeスカラー値である (つまり、サロゲートコードポイントではない任意のUnicodeコードポイント)

文字列のコード単位の長さ (code-unit length of a string) その文字列のコード単位 (code units) の数である

この複雑さは、Unicodeと言うよりむしろ DOM APIを 16bit (UTF-16) コード単位で定義した経緯に由来する