Document Object Mode

提供: MonoBook
ナビゲーションに移動 検索に移動

Document Object Mode (DOM、どむ)とは、W3Cから勧告されているHTML文書やXML文書などをアプリケーションから読み書きする際に用いるAPI仕様である。

W3CではAPI仕様定義しているのみで、特定のプログラム言語を対象としたものではない。DOMの実装は各メーカーに委ねられており、DOMを実装したXMLパーサーが各メーカーから提供されている。

基本的にはXMLツリー構造として扱うためのAPI群であり、XMLに近いがXMLではないHTMLの場合はWebブラウザ内でHTMLからXMLへ変換したのち利用できるようになっている。よって、DOM経由でHTMLソースコードを取り出すと、HTMLのタグ閉じ忘れなどが修正されている状態となっている。このHTMLからXMLへの変換ルールがWebブラウザごとに異なることで、いわゆるHTMLのレイアウト崩れが発生する一因となっている。

大雑把に言えば、最近のWebブラウザに搭載されている開発モード(FirefoxFirebugOperaOpera DragonflyIEの開発者ツールなど)で表示されるHTMLソースコードのHTMLツリー表示のことである。

DOMは、XMLを平面的に読み込むSAXとは異なり、XMLデータをツリー構造として扱う事ができる。ただし、通常の場合対象のXML文書を全て読み込んでからの扱いを前提とするため動作速度が遅かったり、メモリーの使用量が大きくなる欠点もある。

XMLの場合は(個人的に周囲では)DOMよりもXPathが使われることが多いが、HTMLの場合はJavaScriptから手軽に利用できるという関係でDOMが使われることが多い。

JavaScriptからDOMを利用する場合は、onloadイベントがDOM準備完了の合図であり、onloadイベント発生前にDOM APIを呼び出しても動かないよ。

W3C勧告

関連項目

参考文献


外部リンク