[1] 90年代後期から00年代前期には、 [[W3C]] が [[DOM]] の標準化を担当していました。
[DFN[[[W3C DOM]]]] は [[W3C]] が開発し出版していた [[DOM]] 仕様群の総称です。

[9] 現在では [[DOM]] 本体や [[HTML DOM]] の開発は [[WHATWG]] に移っており、
[[CSSOM]]、[[SVG DOM]]、[[UI Events]] といった特定の対象を持った [[API]]
群を [[W3C]] の各 [[WG]] が担当する形になっています。

;; [10] [[W3C]] [[DOM WG]] は [[DOM3]] の出版後に解散しています。

[FIG(important)[
[11] 本項は過去の [[DOM]] 仕様に関するものです。現状は [[DOM Standard]]
を参照してください。
]FIG]

* 完成した仕様

[2] 次の [[DOM]] 仕様が [[W3C勧告]]となっています。

[FIG(short list)[
- [[DOM Level 1]] ※
- [[DOM Level 2 Core]] ※
- [[DOM Level 2 Views]] ※※
- [[DOM Level 2 Style]]
- [[DOM Level 2 Traversal]] ※
- [[DOM Level 2 Range]] ※
- [[DOM Level 2 HTML]] ※※
- [[DOM Level 3 Core]] ※
- [[DOM Level 3 Load and Save]]
- [[DOM Level 3 Validation]]
- [[SVG DOM]]
- [[MathML DOM]]
]FIG]

;; [7] 現在では、「※」は [[DOM Standard]] ([[WHATWG]])、
「※※」は [[HTML Standard]] ([[WHATWG]])、
Style は [[CSSOM]] ([[W3C]] [[CSS WG]]) で開発が継続されています。
[[SVG DOM]] も [[W3C]] [[SVG WG]] が開発を継続しています。
Load and Save、Validation、MathML DOM は広く支持されるに至らず、事実上廃止状態です。

;; [5] [[W3C]] は古くなった [[W3C勧告]]のほとんどを廃止も改訂やバグ修正もせずに放置していて、
[[DOM]] 関連仕様も例外ではありません。これらのいずれも形式的には現行の
[[W3C勧告]]のようです。

* 未完成の仕様

[4] 次の仕様は未完成です。

[FIG(short list)[
- [[DOM Level 3 Events]]
- [[DOM Level 3 XPath]]
- [[DOM Level 3 Views and Formattings]]
- [[DOM Level 3 Abstract Schemas]]
- [[DOM Level 4 Core]]
- [[DOM Level 4 Events]]
- [[SMIL DOM]]
]FIG]

;; [8] Events のうち、基礎となる部分は [[DOM Standard]] ([[WHATWG]])
で開発が継続されています。 [[UI Events]] 部分は [[W3C]] [[WebApps WG]]
で開発が継続されています。 XPath は広く実装されており、 [[WHATWG Wiki]] 
で [[W3C]] の仕様書との差分がメンテナンスされていますが、
担当者不在で開発凍結状態です。それ以外は広く支持されずに開発が停止されています。

* コピペ仕様

[6] 次の仕様は [[WHATWG]] が出版しているものを[[コピペ]]して [[W3C]] が勝手に出版しています。

[FIG(short list)[
- [[DOM4]]
]FIG]

* 概略

[12] [[W3C]] での [[DOM]] の標準化は90年代後半に [[IE4]] と [[Netscape4]]
が完全に非互換な [[DOM]] をそれぞれ実装した後に始まりました。
政治的決着故か、両者どちらと似ているところもありつつ、完全にはどちらとも一致しないものが
[[W3C勧告]]として標準化されることとなりました。

[13] 結果 [[IE]] は [[DOM1]] を ([[IE4 DOM]] に加えて) 実装しましたが、
[[Netscape]] は[[第1次ブラウザー戦争]]の敗北により [[DOM1]] を実装することなく事実上開発が停止しました。
数年の時を経て [[Gecko]] ([[Mozilla Suite]] および [[Netscape6]]) が [[DOM1]]、
[[DOM2]] および [[DOM3]] の一部を実装しましたが、 
逆に [[IE]] は[[第1次ブラウザー戦争]]の勝利により [[DOM1]] のままで開発が停止していました。
こうした状況から、[[Webアプリケーション]]開発者は [[Netscape4]] [[DOM]]、
[[IE4 DOM]]、[[W3C DOM]] の混在と非互換性に長年悩まされることとなりました。

[14] [[W3C DOM]] は[[プログラミング言語]]非依存であることを目標の一つにしており、
規定の一部として [[Java束縛]]と [[ECMAScript束縛]]を定義していました。
従ってそれまでの [[DOM0]] と比べて [[JavaScript]] 色は薄まっていました。
ブラウザー戦争終結により [[Webブラウザー]]開発者の発言力が低下し、
サーバー側の開発者が積極的に標準化に関わるようになった時代的背景もあり、
[[DOM2]]、[[DOM3]] と進むにつれ [[API]] 全体の [[Java]] 色が増していきました。

[15] [[W3C]] は新規 [[API]] の開発を進めていきましたが、既存の [[DOM0]] [[API]]
の標準化には興味を示しませんでした。 [[Webブラウザー]]業界の停滞により、
[[Webブラウザー]]で一部実装が進められていて需要も比較的高かったはずの
[[DOM3 LS]] [CODE(DOMi)@en[[[DocumentLS]]]]/[CODE(DOMi)@en[[[ElementLS]]]]、
[[DOM3 Events]]、[[DOM3 XPath]] といった仕様群は完成の目処が立たず、
開発が中止されるに至りました。一方で [[DOM3 Core]] の追加 [[API]] や
[[DOM3 Validation]] のような結局 [[Webブラウザー]]に実装されることが無かった
([[Java]] 色の強い) 新仕様も、サーバー側での実装があるということで 
[[W3C勧告]]となっています。

* メモ

[REFS[
- [3] [CITE@en[Document Object Model (DOM) Specifications]] ([TIME[2012-05-02 23:14:54 +09:00]] 版) <http://www.w3.org/DOM/DOMTR>
]REFS]


[16] [CITE@en[gsnedders/dom-test-suite: git clone of the old, seemingly abandoned DOM test suite. CVS HEAD tagged as cvs-head.]]
([TIME[2018-08-14 23:53:40 +09:00]])
<https://github.com/gsnedders/dom-test-suite>