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を用いてサンプル言語をデザインし、そのサンプル言語を用いて記述された文書ということである。サンプル言語の内容の説明は割愛する。
|
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|