DOMの基礎

はじめに

XML Document Object Model(DOM)はXML文書のための プログラミングインターフェースである。 それはXML文書がアクセスされ操作される方法を定義する。 XML DOMはあらゆるプログラミング言語とオペレーティング システムで使われるように設計されている。 XML DOMを持って、プログラマーはXML文書を作成し、その 構造をナビゲートし、その要素を追加、修正、消去ができる。

ノードインターフェース

XMLパーザと呼ばれるプログラムはXML文書をあなたの計算機のメモリに 1つのXML文書をロードすることができる。その文書がロードされたとき その情報はDOMをアクセスすることによって検索し操作できる。 DOMはXML文書のツリービューを表現する。 documentElementはそのツリーのトップレベルである。この要素は そのツリーのブランチを表現する1つ以上のchildNodesをもつ。 ノードインターフェースモデルはノードツリーにある個々の要素を アクセスするのに使われる。例えば、documentElementのchildNodeプロパティは おのおののノードをenumerateするためにfor/each constructで アクセスされる。 マイクロソフトXMLパーザはノードツリーを横断するための、そして ノードとそれらの属性値をアクセスするための必要なすべての関数を サポートし、ノードを挿入し削除し、ノードツリーをXMLに 逆変換する。 次のテーブルはマイクロソフトXMLパーザによってサポートされている ほとんど共通に使えるノードタイプをリストする。
Node Type Example
Document type <!DOCTYPE food SYSTEM "food.dtd">
Processing instruction <?xml version="1.0"?>
Element <drink type="beer">Carlsberg</drink>
Attribute type="beer"
Text Carlsberg

DOMを翻訳する

マイクロソフトXMLパーザはIE5.0に入っているCOM成分である。 ひとたびIE5.0をインストールすると、パーザはHTML文書とASPファイルの中に スクリプトに利用可能となる。

マイクロソフトXMLパーザ

マイクロソフトXMLパーザは次のようなプログラミングモデルを特徴とする。 IE5.0でJavaScriptを使うなら、つぎのようにXML文書を作ることができる。
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
VBScriptなら、
set xmlDoc = CreateObject("Microsoft.XMLDOM")
Active Server Page(ASP)なら、
set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
とすればよい。

XMLファイルをパーザにロードする

つぎのようにしてXML文書(note.xml)をXMLパーザにロードする。
<script language="JavaScript">

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("note.xml")
// ....... processing the document goes here

</script>

純粋なXMLテキストをパーザにロードする

次のコードはあるテキスト文字列をXMLパーザにロードしている。
<script language="JavaScript">

var text="<note>"
text=text+"<to>Tove</to><from>Jani</from>"
text=text+"<heading>Reminder</heading>"
text=text+"<body>Don't forget me this weekend!</body>"
text=text+"</note>"

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.loadXML(text)
// ....... processing the document goes here

</script>