このページの本文へ

【絵で分かるキーワード】XML(Extensible Markup Language、えっくすえむえる)

【絵で分かるキーワード】XML(Extensible Markup Language、えっくすえむえる)

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

文● 川俣 晶

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

【絵で分かるキーワード】XML(Extensible Markup Language、えっくすえむえる)

関連キーワード

HTMLSGMLプライバシー

データや文書の交換用フォーマットを「作る」言語

XMLの仕組み
●【XMLの仕組み】 XML(Extensible Markup Language):マークアップ言語を作るためのメタ言語

 XMLはExtensible Markup Languageの略で、日本では「拡張可能なマーク付け言語」と訳されている。また、JIS X 4159:2002というJIS規格にもなっており、既に日本でも重要性が認知された標準となっている。

 XMLはSGMLのサブセットとして定義されている。SGMLとは、Standard Generali zed Markup Languageの略で、主に文書を記述するためのメタ言語である。SGMLは1986年にISOで標準化されている。つまり、XMLは1998年に生まれた新しいインターネット用の言語であるが、長いSGMLの蓄積と伝統の上に存在するものであり、既に成熟した技術となっている。

 XMLはW3C(World Wide Web Consortium)が勧告した仕様であるため、インターネットの通信を目的とした技術であると理解されることが多いが、それは正しい認識ではない。XMLは、新しい言語を作り出す手段(メタ言語)として存在するものである。通信を目的とした言語を作成するために使用できるが、それだけに限定されない。実際、通信とは直接関係しない多くの言語がXMLを用いて作成されている。例えば、XMLで作成された言語で記述された文書の正しさを検証するルールを記述するXML SchemaやRelax NGといったスキーマ言語は、通信と直接関係するものではないが、XMLを用いて作成された言語の一例である。

交換フォーマットとしてのXML

XMLは技術トレンドに左右されない
XMLはプログラム言語やOSが変化しても変わらずに利用できる。

 XMLが必要とされた最大の理由は、これまで通信していなかった多くのシステムが、インターネットの普及により通信する欲求を持ったことである。ユーザー側の立場から言えば、従来は、コンピュータの専門家が提供する技術の中で、使えそうなものを購入して利用するだけで良かった。しかし、電子商取引のような分野では、業界ごとに独自の慣習などがあるため、既存のソフトやフォーマットを利用するだけではニーズを満たせず、かといって、各企業が独自のシステムを構築しては相互運用に支障を来す。そこで、特定のシステムからは中立の情報交換用のフォーマット(言語)を、業界ごとに作成する必要が生じたのである。しかし、それを従来のようにコンピュータの専門家に任せては、時間もコストも掛かる。そこで、XMLのような「言語を作る言語」を用いて、高度な専門性を持たないスタッフでも、新しい言語を生み出せるようにするようになったのである。

 このような経緯から分かるとおり、XMLのメリットは、不特定多数のシステムの間を通信する中立の標準フォーマット作成の場合に現われる。特定の2システム間の通信のような場合には、既存の通信パッケージのようなもので対処できることも多く、XMLを使うメリットは少ないかもしれない。しかし、そのような便利なパッケージが存在しないときは、XMLを利用して2システム間の情報交換用のフォーマットを作成すると、時間やコストを節約できる可能性がある。なぜなら、XMLで作成された言語や、その言語で記述された文書を処理するための便利なライブラリが、すでに存在するため、安く、短時間でシステムを構築できる可能性があるからだ。

XMLの寿命は、OSよりはるかに長い

XMLから派生したさまざまな言語
XMLからさまざまなさまざまなマークアップ言語が派生した。

 もう1つ、XMLの特徴としては、寿命の長さというものがある。この業界は技術革新の速度が極めて速く、どんな技術もすぐに陳腐化してしまう。しかし、情報システムが持っている情報の価値は、そう簡単に薄れはしない。それらの情報を未来に確実に伝達する手段として、XMLを利用できる。XMLは極めて単純かつシンプルであるため、誰でも容易に理解できる。プレーンテキストに記号を挿入するマーク付け言語であるため、万一XMLを解釈するソフトがなくても、テキストエディタで開いて読めば理解できる場合が多い。XMLの寿命は、OSやプログラム言語の寿命とは比較にならないぐらい長い。例えば、XMLに最適なプログラム言語はこれだ、という議論は意味がない。XMLが意図通りに活用されるなら、プログラム言語の寿命のほうが先に尽きる可能性が高いからだ。それよりも、どんなプログラム言語からでも、手軽にXMLを扱えるようなライブラリを整備するほうが、XMLの本来の使われ方からすれば、ずっとメリットが大きい。

 では、XMLはどの程度安定しているのだろうか。現在、XMLは、バージョン1.0のSecond Editionと呼ばれるものがW3Cより勧告されている。これはバージョン1.0に正誤表を反映させたもので、基本的に機能追加などは行われていないものである。

 XMLの次のバージョンとして、バージョン1.1あるいは2.0と呼ばれるものが取りざたされることもあるが、これらはXMLの本質を変えてしまうようなものではない。検討されている変更点としては、メインフレームで使用されている改行コードを、改行として認めるとか、Unicodeに新しい文字が追加されたことに対応して、要素や属性など、文書を構成する項目を定義する際の名前に使用できる文字の種類を増やそう、と言った小さな修正が多い。大きな修正としては、XMLに含まれているスキーマ言語DTD(document type definition)は既にXML Schemaなどの新しい世代の言語があるので仕様から外そう、といった意見がある。このように、大きな修正と言っても、古く価値の低いものを切り離してシンプルにしようという意見も多く、現在のXMLのイメージを大きく変えるような修正が入る可能性は低そうである。

 一見、バラ色に見えるXMLの未来だが、まだ障害は多い。XMLは簡単に利用できるので、つい理解した気になって、XMLは電子商取引用の言語であるとか、データベースの交換言語であるとか、Webサービスを実現するための言語であるとか、一面的な主張を見かけることがある。しかし、XMLの本質は言語を作る言語であって、特定業務のために作られた言語ではないことはよく把握しておく必要があるだろう。XMLは、あらゆる応用分野に貢献する可能性がある。XMLを利用するのは簡単だが、XMLの可能性の全貌を把握するのは、けして容易なことではない。

カテゴリートップへ

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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