Webアプリ開発事始 第18回

XMLとWebアプリケーション(1)
~XMLの基本
長谷川裕行
有限会社 手國堂

XMLの基本事項

XMLで記述された文書をXML文書(XML Document)と呼びます。XML文書の基本構造はHTML文書とよく似ています。記述者の側でタグを自由に定義できることが大きな特徴です。


- XML文書の基本構造 -

XML文書は、以下の3つの部分から成り立っています。
1. 宣言部
XML規格のバージョンや使用する文字コードなどを明示する部分です。
2. DTD部
DTDはDocument Type Definitionの略で、XML文書内で用いられるタグの定義を行う部分です。
3. 文書部
タグを用いて実際のデータを記述する部分です。

文書部では、DTD部で定義したタグを使って文書を記述していきます。これによって、文書の「見せ方」ではなく「構造」を自在に設定できるのです。




- DTDの有無 -

XMLの特徴は独自のタグを定義できることであり、そのためにDTDが存在します。しかし実際には、DTDを用いないで――つまりタグを定義しないで――文書を記述することも可能です。

DTDの目的は、文書の実体に先立ってタグを定義することで、文書構造の正しさを検証できることです。DTDでタグを定義したXML文書は、表示やデータ交換の際にDTDを参照することで、その構造の正しさを検証できます。このようなXML文書を検証済(valid)XML文書と呼びます。

一方、DTDの存在しないXML文書は、単なる「タグで囲まれた情報の集合」となります。この場合、ただ構造の正しさが検証されないというだけであって、文書の表示やデータ交換に支障はありません。DTDのないXML文書を整形済(well-formed)XML文書といいます。

なお、現在ではタグの定義をDTDに代わってSchema(スキーマ)で行うことが推奨されています。これについては、次回説明します。


- XMLパーサ -

アプリケーションがXML文書を読み取るには、そのための機構が必要です。これをパーサ(parser)またはXMLプロセッサと呼びます。パーサは、検証済XML文書のDTDを解析し、他のアプリケーションで扱える形式に変換して引き渡す機能も持っています。  Internet Explorer 5.0以降には、コンポーネントとしてパーサの機能を持つMSXMLが含まれています。そのため5.0以降のInternet ExplorerにXML文書を読み込ませれば、整形された形式で表示できます。

4.x以前のInternet Explorerでは、別途MSXMLを入手してインストールする必要があります。以下のサイトからダウンロードできます。

  http://www.microsoft.com/japan/msdn/xml/

また、Microsoft社以外のメーカーからも、独自のパーサが提供されています。

Xerces(ザーセス)
http://xml.apache.org/
UNIX系OSのWebサーバーとしておなじみのApacheプロジェクトから派生したApache XMLプロジェクトが提供するパーサです。JavaやC++、Perlなどの言語からXMLを利用できます。
XML Parser for Java
http://www.alphaworks.ibm.com/tech/xml4j/
IBM社の提供するパーサで、JavaからXMLを利用できます。これをオープンソースとしてApache XML プロジェクトに提供したものが、前掲のXercesです。
Oracle XML Parser
http://otn.oracle.co.jp/tech/xml/xdk/
Oracle社の提供するパーサで、JavaとOracle社のプログラミング言語PL/SQLから利用できます。

検証済XML文書を扱うには、文書のDTDを参照し、文書の正しさを検証して他のアプリケーションへ引き渡せる形式に変換する機能が必要になります。これをパーサ(parser)と呼びます。パーサがXML文書とアプリケーションとの間に入ることで、文書構造の正しさを保持できます。




トップページ
拡張可能な言語
XMLのメリット
XMLの基本事項
XML文書の基本構造
DTDの有無
XMLパーサ
XML文書を作る
スタイルシート
あとがき

Copyright © MESCIUS inc. All rights reserved.