エンジニアのためのXMLスキーマ講座
第1回:XMLにおけるスキーマとは何か
(株)日本ユニテック
竹内 理
目次<全7ページ>
スキーマとは?
「スキーマ」は一般的に、"大まかに全体を表現する図"という意味を持っています。
この言葉がもっとも良く聞かれるのはデータベースの世界においてでしょう。データベースを構築する際に、エンジニアが最初に行うことはなんでしょうか。それは実世界に存在するデータ(実際の業務で使用されているデータ)が論理的にどのような構造をもっているのかを頭の中に描き出すことです。 そのエンジニアの頭の中に描き出されたデータ全体の論理的な構造-ある意味、これをスキーマと言うことができます。
XMLのスキーマもこれに似ています。XMLを利用しようとするユーザが最初にすることはなんでしょうか。きっと自分達の利用するXML文書にはどのようなタグが必要なのか、どんな構造をもっているのか、さらには属性の定義はどうするか-こういったことを考えるでしょう。
このユーザの頭の中に描き出された「XML文書のデータ構造」-これがすなわちスキーマであるということもできるかもしれません。XMLの場合、スキーマはタグ付け方法などXML文書のデータ構造を意味しています。
しかし、もちろんこの人の頭の中に描き出されたデータ構造を他の人が読んで理解することはできません。ですからそれを何らかの形に表せる「表現方法」が必要です。また、その表現方法は以下のような条件を満たしていることが望ましいとされています。
- 人間が読んで解釈できること。
- プラットフォームやアプリケーションを選ばないこと。
- Web上での利用に対応していること。
- そのスキーマと関連したXML文書を処理するプログラムを簡単に作成できること。
- 人間にとっても、ソフトウェアにとってもわかり易いものであること。
現在、スキーマの表現方法としてもっとも広く用いられているのはDTD(Document Type Definition)でしょう。XML1.0の仕様書ではDTDをスキーマの表現方法として指定しています。これはDTDがXMLの前身とも言えるSGML(Standard Generarize Markup Language)のスキーマ表現に用いられていた流れです。他にもMicrosoftなどが採用を進めているXML-Data、W3Cが標準化を進めるXML Schema、日本から標準化を目指すRelaxなどがあります。以下に、主なスキーマ表現を挙げます。
主な仕様の名前 | 策定者、現状など |
DTD(Document Type Definition) | XML1.0でも策定 |
XML-Data | Microsoftなどが提唱した初期のスキーマ。 |
XML Schema | W3Cが策定中。主要ベンダが対応を表明。 |
Relax(REgular LAnguage for Xml) | (財)日本規格協会情報技術標準化研究センターの中の作業グループが現在ISOで審議中。 |
これらの規格はそれぞれ長所を(場合によっては短所も)持っていると言え、ユーザにしてみればどれを使ったらよいのか悩むところです。
関連サービス
XMLスキーマの策定、作成業務
|