使って理解するDOMプログラミング
第1回:DOMの基本 「入門編」
(株)日本ユニテック
竹内 理
目次<全12ページ>
バインディングについて
もうひとつ、DOMに関連して重要な考え方があります。それは「バインディング」と呼ばれるものです。
バインディングとは特定の言語による実装とDOMの仕様を結びつけるルールのようなものです。W3CではJavaとECMAScriptに関して標準的なバインディングを定めています。
ですから、必ずしもXMLパーサはDOMの仕様で定義されているAPIそのままを提供するわけではありません。例えばDOMLevel2の仕様書ではNodeクラスに「nodeName(ノードの名前を表す)」というプロパティがあります。しかしJava言語バインディングにはnodeNameというプロパティは存在しません。Java言語バインディングを実装したXMLパーサーはその代わりにノードの名前を取得するgetNodeName()/setNodeName()というメソッドを実装します。Java言語バインディングでは,こういったプロパティは,get()/set()関数の対として実装されます。
標準のJava言語バインディングを実装したXMLパーサーから、別の標準Java言語バインディングを実装したXMLパーサーに移行する場合、ユーザーは同じソースコードを使用することができます。
XMLパーサー
XMLパーサー(もしくはXMLプロセッサ)はXML文書を処理するための全般的なアプリケーションです。DOMはXMLパーサーの一部として実装されます。XMLパーサーは他にもSAX(Simple API for XML)の実装や妥当性検証エンジン、XSLT処理エンジンなどのコンポーネントも含んでいる場合があります。
XMLパーサー |
DOM |
SAX |
その他のコンポーネント |
図4.XMLパーサの構成
複数のベンダがXMLパーサーを開発、公開しています。プログラマはプログラミング言語やプラットフォームにあわせてXMLパーサーを選択できます。ここでDOMを実装する代表的なXMLパーサーを紹介してみましょう。
名前 | ベンダ | プラットフォーム | 言語 |
XML Parser for Java(XML4J) | IBM | Linux,Solaris,Windows | Java |
Oracle XMLParser | Oracle | Windows,Unix |
C++、Java、PL/SQL |
Microsoft XML Parser | Microsoft | Windows COM |
C++、VisualJ++、VisualBasic |
Xerces | Apach | Windows,Linux |
C++、Java、Perl |
JAXP | Sun | Windows,Linux,Solaris | Java |
表3. 主なXMLパーサ
関連サービス
IT技術およびIT製品の可用性調査・検証業務
関連キーワード: DOMとXML
関連キーワード: XMLパーサー
関連キーワード: XMLプロセッサ
|