DOM水準3

DOM3 (Web)

[1] DOM3 は、DOM の第3世代仕様群でした。

仕様

[15] 完成したとされる DOM3 仕様には次のものがありました。

[16] 形式的に W3C勧告になったとはいえ、また Java でいくらか実装されたとはいえ、 これらはほとんど Webブラウザーに実装されることはありませんでした。一部の WebブラウザーDOM3 CoreDOM3 LS の一部機能を実装していましたが、 相互運用性が低く利用もされ(でき)なかったため、後の DOM Standard により DOM3 Core の新機能の大部分と DOM3 LS の全部は廃止されています。

[17] なお DOM3 LSCR に存在し後に廃止されW3C勧告版には含まれなかった document.load は複数の Webブラウザーが実装していたので、 HTML Standard で改めて規定されています。同じく DOM3 LSCR にあって削除された markupContent の着想元と思われる innerHTML も後に WHATWG で標準化されています。

[18] 次の DOM3 仕様は DOM WG では完成せずに放棄されましたが、後に他の WG で開発が再開されました。しかし W3C勧告にはなっていません。

[20] DOM3 Events の新機能の大部分は Webブラウザーにはやはり実装されず、 開発再開後に廃止されています。

[19] 次の DOM3 仕様は開発の初期の段階で放棄されています。

新機能の概要

[23] 詳細は各仕様の項をご覧ください。

[24] XML情報集合との整合性のための機能が DOM3 CoreDOM3 LSDOM3 XPath で追加されています。元々 DOMXPath 1.0データモデル (と SAX) の和集合に近い形で開発された XML情報集合XML 関連仕様の中心であると (この時代には) 考えられたため、 DOM に欠けていた機能が追加されました。それに基づき XML文書 (テキストまたはバイナリー) との相互変換や XPath 1.0 の評価の API が規定されています。

[25] しかしそのほとんどは理論上の整合性のための機能で著者が必要としていなかったので、 Webブラウザーにも実装されませんでした。

[26] XML Schema を中心とするスキーマPSVI に関する機能が DOM3 CoreDOM3 LSDOM3 Validation に追加されています。

[27] しかし著者に必要な機能でなかったので、 Webブラウザーには無視されています。
[28] スキーマ自体を扱う APIDOM1 時代から構想があり、 DOM3 AS として WD が出版されていますが、結局放棄されています。 なおその XML Schema 限定の完成形が XML Schema API として Member Submission になっています。

[29] Java 環境で複数の DOM実装を組み合わせて使うための機能が DOM3 Core に追加されています。

[30] Webブラウザーで必要な機能ではなかったので、実装されていません。

[31] XML名前空間風の名前空間の仕組みを導入したり、 VoiceXML のイベントモデルとの統合を試みたりする拡張が DOM3 Events に追加されています。

[32] 理論的整合性のための機能でしかなかったので、 DOM WG 解散後に破棄されています。

歴史

[8] DOM3DOM WG が2000年代初め頃に開発していましたが、 >>2-4 の3つだけを完成させて残りは断念して解散してしまいました。

[9] 残りは長らく放置されていましたが、 DOM3 Events については SVG WGWeb APIs WG を経て WebApps WG に引き取られて作業が再開されました。00年代も半ばのことでした。

[11] ところが再開された DOM3 Events も進行は大変遅く、編集者が何度も変わっています。 (詳しくは DOM3 Events の項を参照。)

[12] DOM3 の完成したことになっている >>2-4 も Webブラウザーへの実装は進まず、むしろ DOM2 から追加された部分のほとんどは Java によりマッチした機能や XML Schema との整合性のための機能など Web からは必要とされていないものばかりでした。

[13] そうした機能を除去して一から書きなおされた仕様が WHATWGWeb DOM Core としてまとめられ、 DOMDOM4 を経て現在は DOM Standard となっています。これにより DOM3 は事実上役目を終えた状態になっています。

DOM Standard を参照。

[14] ただし WebApps WGDOM4 と並行して DOM3 Events の作業をまだ続けており、特に UIEvents に相当する部分は DOM Standard にも含まれていないので代替となる仕様が存在していない状態でした。 また DOM3 XPath も代替が存在せず、およそ10年間改訂されていないものの DOM3 が最新となっています。

DOM XPath を参照。

[21] その後 DOM3 EventsDOM Standard に含まれない部分の開発が積極的になり、 2015年には改めて UI Events に改称されています。

UI Events を参照。

[22] これにより実質的に標準不在状態の DOM XPath を除き、 DOM3 はすべて事実上現行仕様では無くなりました。

[33] Mark ElementTraversal Rec as obsolete · Issue #96 · w3c/WebPlatformWG () <https://github.com/w3c/WebPlatformWG/issues/96>