差分

ナビゲーションに移動 検索に移動

Document Object Mode

2,450 バイト追加, 2012年5月11日 (金) 02:36
ページの作成:「'''Document Object Mode''' (DOM、どむ)とは、W3Cから勧告されているHTML文書やXML文書などをアプリケーションから読み書きす...」
'''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のレイアウト崩れが発生する一因となっている。
DOMは、XMLを平面的に読み込む[[SAX]]とは異なり、XMLデータを[[ツリー構造]]として扱う事ができる。ただし、通常の場合対象のXML文書を全て読み込んでからの扱いを前提とするため動作速度が遅かったり、[[メモリー]]の使用量が大きくなる欠点もある。

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

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

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

== W3C勧告 ==
* [[DOM/Level 1]]
* [[DOM/Level 2]]
* [[DOM/Level 3]]

== 関連項目 ==
* [[HTML]]
* [[XML]]
* [[SAX]]
* [[XPath]]
* [[JavaScript]]

== 参考文献 ==
<references/>

== 外部リンク ==
* http://www.w3.org/DOM/DOMTR - 公式サイト
* https://developer.mozilla.org/en/Gecko_DOM_Reference - FirefoxのDOM APIリファレンス
{{stub}}
匿名利用者

案内メニュー