このページの本文へ

【絵で分かるキーワード】スキーマ言語(すきーまげんご)

【絵で分かるキーワード】スキーマ言語(すきーまげんご)

2003年06月15日 00時00分更新

文● 川添 貴生

  • この記事をはてなブックマークに追加
  • 本文印刷

【絵で分かるキーワード】スキーマ言語(すきーまげんご)

関連キーワード

DTDXMLSchemaRelax

XMLの整合性チェックに不可欠

スキーマ言語の仕組み
●【スキーマ言語の仕組み】 スキーマ言語:XMLベースの言語を具体的に記述する言語

 XMLは、ユーザー自身が用途に合わせて自由に言語を作り出せる言語である。このときに重要になるのが、そうして作成した言語で、項目などの出現する順番などをどうやって定義するのかということ。こうした定義は、我々が普段書いたり喋っている言葉で行うことも不可能ではないが、言葉の解釈によって曖昧になる可能性もあるし、何よりもそうして作成されたものはそのままではソフトウェア上で自動的に処理できない。できればソフトウェアが解釈できる形で定義が記述され、自動的にXML文書をチェックしてくれるほうが望ましい。そこで利用されるのが、スキーマ言語である。スキーマ言語の役割は、作成された言語の構造などを記述し、それを使ってXMLをチェックするためのものだ。

 XMLを利用するソフトウェアを開発する際、パーサと呼ばれるプログラムが利用されることが多い。パーサはソフトウェアに対してXML文書の各種操作のための機能を提供することがメインの役割だが、さらにXML文書のチェックも仕事のひとつになっている。パーサによっては、このチェックを行う際にスキーマ言語によって作成された定義があれば、XML文書がその定義に従っているかどうかを検証することも可能である。

 このスキーマ言語として最初に出てきたのが「DTD(Document Type Definition:文書型定義)」だ。これはSGMLの時代から使われてきたもので、XML 1.0の仕様の中でも規定されている。このDTDが問題なく利用できればよかったのだが、XMLが普及するに連れていくつかの弱点が指摘され始めた。XMLの関連の規格に、1つのXML文書の中で複数の言語を混在させられる「Namespace in XML」という勧告があり、現在広く利用されているのだが、DTDはこれに対応していない、などといったものだ。こうした機能不足を解消するために、W3Cは「XML Schema」と呼ばれる仕様の策定に取りかかる。DTDの弱点を克服し、さらに「数字だけが書かれているべきところに数字以外の文字が入っていないか」などといった内容のチェックまで可能になるなど、大幅な機能強化も盛り込まれた。

 しかし仕様が膨大であったことなどにより標準化作業が大幅に遅れ、2001年5月にようやく標準化された。その後も、その仕様を実装したソフトウェアが少ないなど、XML Schemaにも問題は多い。こうした状況にしびれを切らせたベンダーや一部のユーザーは、自らスキーマ言語の作成に乗り出している。そうして生まれたスキーマ言語の1つが「Relax(REgular LAnguage description for XML)」だ。Relaxは日本から生まれたスキーマ言語で、現在はW3Cから距離を置いたところで標準化を目指している。ただ、現状を見てみると複数のスキーマ言語があることで市場での見解が統一されず、本格的な普及にはほど遠い。願わくば、早急にスキーマ言語が一本化されることを望みたい。

カテゴリートップへ

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン