DOM
読み:ドム
外語:DOM: Document Object Model
XMLやHTMLのようなマークアップ言語で記述された文書(ドキュメント)内の要素をオブジェクトとして操作可能とするための仕組み、およびそのモデル。
概要
元々はNetscape CommunicatorとInternet Explorerの間で勃発した熾烈な争い「ブラウザー戦争」の中で誕生したダイナミックHTMLを構成する要素として誕生した。
しかし双方でユーザーの囲い込みを目的に非互換で開発が進められたため、この状況を打破するため、W3Cが1998(平成10)年10月にDOMとして勧告したのが始まりである。
現在ではW3Cの手を離れ、再びWebブラウザーメーカーによる業界団体により仕様が作られている。
特徴
仕組み
DOMは、HTMLなどでマークアップされた文書中のリソース(ドキュメント)を、その構造に応じてドキュメントツリー(文書ツリー)というツリー構造で扱う機能を提供する。
文書中の様々な要素、属性、文書などをそれぞれオブジェクトとみなし、オブジェクトが集合したもの(階層関係)を文書であるとみなす。
それぞれのオブジェクトを「ノード」と呼び、DOMは、この各ノードに対して、抽出、追加、置換、削除などの操作をするための汎用的な手段を提供する。
こうして構造化されたオブジェクトはECMAScript(いわゆるJavaScript)などのスクリプトから操作可能で、これにより動的に変化するWebサイトを作ることを可能とした。どういったスクリプトを使うかはDOMの規定の範囲外だが、現実には現在のWebブラウザーが対応するスクリプト言語はECMAScriptのみである。
版
- W3C勧告
- DOM Level 1 (1998(平成10)年10月1日) XMLを扱う「Core」と、HTMLを扱う「HTML」の二つのオブジェクトから構成されている。
ノードの参照、追加、置換、削除などの基本機能を定義。
- DOM Level 2 (2000(平成12)年11月1日) Level 1に、6つのオブジェクト「Views」「StyleSheets」「CSS」「Events」「Traversal」「Range」を追加した。
- DOM Level 3 (2004(平成16)年4月7日) Level 2に、XPath、妥当性の検証、読み込み、保存などの機能を追加した。
- DOM Level 4 (2015(平成27)年11月19日) 既に開発が進行していたHTML Living Standardの当時の仕様と同等のもの。
- WHATWG DOM Living Standard (現在)
W3C勧告は2021(令和3)年1月28日で廃止されており、現在はHTML Living Standardとともに定義されるDOM Living Standardとなっている。
なお、WHATWGの仕様は随時更新され実装されており、W3Cのそれとは違い節目ごとに仕様をまとめてバージョン番号を付けるような運用はなされていない。
再検索