[15] 完成したとされる DOM3 仕様には次のものがありました。
[16] 形式的に W3C勧告になったとはいえ、また Java でいくらか実装されたとはいえ、 これらはほとんど Webブラウザーに実装されることはありませんでした。一部の Webブラウザーが DOM3 Core や DOM3 LS の一部機能を実装していましたが、 相互運用性が低く利用もされ(でき)なかったため、後の DOM Standard により DOM3 Core の新機能の大部分と DOM3 LS の全部は廃止されています。
[18] 次の DOM3 仕様は DOM WG では完成せずに放棄されましたが、後に他の WG で開発が再開されました。しかし W3C勧告にはなっていません。
[20] DOM3 Events の新機能の大部分は Webブラウザーにはやはり実装されず、 開発再開後に廃止されています。
[19] 次の DOM3 仕様は開発の初期の段階で放棄されています。
[23] 詳細は各仕様の項をご覧ください。
[24] XML情報集合との整合性のための機能が DOM3 Core、 DOM3 LS、DOM3 XPath で追加されています。元々 DOM と XPath 1.0データモデル (と SAX) の和集合に近い形で開発された XML情報集合が XML 関連仕様の中心であると (この時代には) 考えられたため、 DOM に欠けていた機能が追加されました。それに基づき XML文書 (テキストまたはバイナリー) との相互変換や XPath 1.0 の評価の API が規定されています。
[26] XML Schema を中心とするスキーマや PSVI に関する機能が DOM3 Core、DOM3 LS、 DOM3 Validation に追加されています。
[29] Java 環境で複数の DOM実装を組み合わせて使うための機能が DOM3 Core に追加されています。
[31] XML名前空間風の名前空間の仕組みを導入したり、 VoiceXML のイベントモデルとの統合を試みたりする拡張が DOM3 Events に追加されています。
[8] DOM3 は DOM WG が2000年代初め頃に開発していましたが、 >>2-4 の3つだけを完成させて残りは断念して解散してしまいました。
[9] 残りは長らく放置されていましたが、 DOM3 Events については SVG WG、Web APIs WG を経て WebApps WG に引き取られて作業が再開されました。00年代も半ばのことでした。
[11] ところが再開された DOM3 Events も進行は大変遅く、編集者が何度も変わっています。 (詳しくは DOM3 Events の項を参照。)
[12] DOM3 の完成したことになっている >>2-4 も Webブラウザーへの実装は進まず、むしろ DOM2 から追加された部分のほとんどは Java によりマッチした機能や XML Schema との整合性のための機能など Web からは必要とされていないものばかりでした。
[13] そうした機能を除去して一から書きなおされた仕様が WHATWG で Web DOM Core としてまとめられ、 DOM、DOM4 を経て現在は DOM Standard となっています。これにより DOM3 は事実上役目を終えた状態になっています。
[14] ただし WebApps WG は DOM4 と並行して DOM3 Events の作業をまだ続けており、特に UIEvents に相当する部分は DOM Standard にも含まれていないので代替となる仕様が存在していない状態でした。 また DOM3 XPath も代替が存在せず、およそ10年間改訂されていないものの DOM3 が最新となっています。
[21] その後 DOM3 Events の DOM Standard に含まれない部分の開発が積極的になり、 2015年には改めて UI Events に改称されています。
[22] これにより実質的に標準不在状態の DOM XPath を除き、 DOM3 はすべて事実上現行仕様では無くなりました。
[33] Mark ElementTraversal Rec as obsolete · Issue #96 · w3c/WebPlatformWG () <https://github.com/w3c/WebPlatformWG/issues/96>
document.load
は複数の Webブラウザーが実装していたので、 HTML Standard で改めて規定されています。同じく DOM3 LS の CR にあって削除されたmarkupContent
の着想元と思われるinnerHTML
も後に WHATWG で標準化されています。