DOM

DOM

[10] DOM HTML は、HTML文書 (HTML文書XHTML文書) に対応するメモリー中の表現 >>9 です。単に the DOM ともいいます。

[11] HTML DOM ともいいます。また HTML要素に関する DOM API を指して HTML DOM ということもあります。

仕様書

API

[13] Document インターフェイスには、 HTML文書のためのメソッドIDL属性が多々あります。

[14] HTMLElement インターフェイスとその部分インターフェイスには、 HTML要素のためのメソッドIDL属性が多々あります。 HTML要素はこれらのインターフェイス実装することになっています。

メモリー内表現としての DOM

[15] text/html 表現としての HTMLXML MIME型表現としての XHTML に対するメモリー内表現の呼称として、 HTML DOM (または DOM) >>9 が採用されています。

[16] HTML を表現していることを強調するため、あるいは HTMLXHTML との対比のために HTML DOM という呼称になっていますが、 実際には単なる DOM と異なることはありません。

[17] 例えば根要素SVG要素でも、その中に登場する HTML要素では HTML DOM API が使えます。

歴史

DOM0

[12] HTML DOM のはじまりは document.linksdocument.images などの文書に関する DOM0 API で、 JavaScript の一部として登場し、後に DOM に分離されました。

W3C DOM 時代

[2] DOM1 仕様書には DOM1 HTML の章が含まれていました。

[3] DOM2 時代には独立した DOM2 HTML 仕様書が出版されました。

[1] DOM水準1 FEHTML 4.0FE を参照しています。 DOM水準1SEHTML 4.0SE を参照しています。 DOM水準2HTML 4.01XHTML 1.0 SE を参照しています。

DOM2 HTML

[19] CEA-2014-B

[20] KS X 6047-6:2011KS 版。

DOM5 HTML

[4] DOM5 HTML (略して DOM) は、 HTML5 仕様書で定義されている、 文書メモリー内表現の名称です。

This specification defines an abstract language for describing documents and applications, and some APIs for interacting with in-memory representations of resources that use this language.

The in-memory representation is known as "DOM5 HTML", or "the DOM" for short.

1.6 HTML vs XHTML (参考)

[6] HTML5 仕様書では HTML5XHTML5DOM5 HTML の3種類の表現方法が規定されています。 HTML5XHTML5直列化構文解析の方法ですが、 DOM5 HTMLメモリー内での表現の (抽象化された) 規定です。

[7] 更に HTML5 仕様書 (現 HTML Standard) は旧 DOM2 HTML にかわる HTML DOMAPI の規定も含んでいました。

[8] 後に HTML5HTML Standard に改称され、 DOM5 HTML は単に DOM HTML となりました。

[18] なお、 DOM5 HTML の「5」は HTML5 の「5」で、この時代にはまだ DOM5 は存在しませんでした。 (たまに構想として言及されることがある程度でした。)