XML (Extensible Markup Language)

エックス・エム・エル

 XMLはインターネットの標準としてW3Cより勧告されたメタ言語である。メタ言語とは、言語を作る言語という意味である。つまり、ただ単にXMLを使うだけで情報を記述することは出来ない。まず、情報を記述するための言語をXMLを用いて作成し、それを用いて情報を記述することになる。

 XMLのフルネームは、Extensible Markup Languageが正しく、eXtensibleという表記は間違いとされている。日本語においては、「拡張可能なマーク付け言語」と呼ぶが、滅多に使われることはない。

 言語を作る際には、どんな構文でも好きなように作れるわけではなく、あらかじめ用意された範囲内に限定される。

 XMLは、SGML(Standard Generalized Markup Language)のサブセットになるように言語仕様が規定されている。しかし、これは、XMLがSGMLのサブセットであることを規定しない。XMLにはSGMLを逸脱した構文や機能があり、SGML以上のものである。サブセットであるというのは、既存のSGMLツールが利用できることを意図したものでしかなく、XMLツールが豊富に存在する現在では特に重要な意味はない。逆に、XMLはSGMLのサブセットだからといって、SGMLをXMLの代わりに採用するのは間違いである。SGMLではXMLの一部の機能が使用できない。また、SGMLではインターネット上の情報交換性が保証されない。

 SGMLの開発目的は、電子的な文書管理である。各種文書を長期間保存したり、人手を使わない自動管理を行うために、直接的な表記に関する情報ではなく、論理的な文書構造を記述するようにした言語である。

 XMLでは、これに加えて、電子的なデータの交換も役割も持つ。そのため、文書だけでなく、単純な数値の羅列のような電子データの交換にも使用される。

 しかし、元々文書のためのメタ言語であるため、文書を記述する場合でもデータを記述する場合でも、XML文書と呼ぶのが習慣である。

 逆に、XMLの目的に関して、よくある誤解は、「HTMLの後継言語である」「XMLはデータベースの情報を交換するための言語」「XMLはEC(電子商取引)のための言語」といったものがある。実際に、HTMLの後継言語であるXHTMLという言語を作るためにXMLを使用しているのは事実であるが、XMLそのものはHTMLではなくSGMLの後継言語である。また、データベースの情報を交換したり、ECの分野でXMLが使用されているのは事実であるが、それを目的に作られたと言うわけではない。本来XMLは文書を扱うためのメタ言語であって、データ交換などで利用されるのは、XMLの強力さとカバー範囲の広さを示すものである。

 以下に、簡単なXML文書の一例を示す。このサンプルは、暗黙のうちに、XMLで作成された言語(サンプル言語)の存在を仮定している。XMLを用いてサンプル言語をデザインし、そのサンプル言語を用いて記述された文書ということである。サンプル言語の内容の説明は割愛する。

<?xml version="1.0"?>
<person>
<name>Yamada Hanako</name>
<age>18</age>
<sex>female</sex>
</person>

XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

アイティメディアの提供サービス

キャリアアップ