デベロッパーズコーナー:DOMプログラミング講座 I(3)
2001年08月10日作成
使って理解するDOMプログラミング
第1回:DOMの基本 「入門編」
(株)日本ユニテック
竹内 理
目次<全12ページ>
DOMとXML文書
正しいXML文書は構造的には木構造とみなすことができます。それでパーサーはXML文書を読み込んだ後、メモリ上に木構造として展開します。展開した木構造にランダムにアクセスする手段がDOMで定義されているAPIです。木構造を構成する要素(Element)をDOMでは「ノード」と呼びます。ただ、一般的な木構造とは異なりDOMの木構造を構成するノードには「属性(Attribute)」「コメント」「テキスト」といったXML文書の構成要素、さらには「そのXML文書そのもの」も含まれます。このセクションではパーサーが展開したXMLツリーを「DOMツリー」と呼ぶことにします。
次のXML文書はどんなDOMツリーに展開されるでしょうか。
<xdoc>
<!-- comment -->
<?Taget1 PrcsInst?>
<greeting id="1" ref="img1">Hello
XML</greeting>
</xdoc>
|
次のように展開されます。
図2. 展開されたDOMツリー
上の図において四角で囲まれた部分は全て「ノード」です。例えば「XML文書」「要素」「属性」「コメント」「テキスト」「処理命令」などです。DOMではそれぞれのノードをオブジェクトとして表現しています。そして各オブジェクトはインターフェースとして定義しています。
XML文書そのものもノードとして扱うことに注意してください。
次にDOMのオブジェクトの一覧を示します。
分類 |
名前 |
内容 |
基礎データオブジェクト |
Node |
DOMツリーを構成する各ノード全ての基本オブジェクト。 全てのノードはこのオブジェクトを継承する。 |
NamedNodeMap |
名前で操作するためのNodeのコレクション |
NodeList |
Nodeの順次リスト |
Document 関連オブジェクト |
Document |
XML文書全体をあらわすオブジェクト |
DocumentFlagment |
XML文書の特定の一部分を表すオブジェクト |
DocumentType |
DOCTYPE宣言 |
Entity |
実体 |
EntityReference |
実体参照 |
Notaion |
記法宣言 |
Element 関連オブジェクト |
Attr |
属性 |
Element |
文書要素 |
文字列 関連オブジェクト |
CDATASection |
CDATAセクション内の文字列データ |
CharacterData |
PCDATAなどの文字データ |
Comment |
コメント内の文字データ |
Text |
文書要素または属性の文字データ |
その他のオブジェクト |
DOMImprementaion |
特定のDOM実装に依存するメソッドへのアクセスを提供する |
DOMException |
処理中に発生する例外 |
表2. DOMのオブジェクト(イタリックはノードを表すオブジェクト)
ノードを表すクラスは全てNodeクラスを継承しています。ですからNodeクラスの持つプロパティ(W3Cの仕様書の表現では'Attribute')やメソッドを、DocumentやElementも持っています。Nodeクラスのプロパティとメソッドは別表1を参照してください。
次に各オブジェクトの継承関係を示します。
図3. DOMオブジェクト階層図(影付は基本データオブジェクト)
関連サービス
IT技術およびIT製品の可用性調査・検証業務
|