XMLとその重要性
XML(eXtensible Markup Language)が最近注目を浴びています。XMLを直訳すると「拡張可能なマーク付け言語」となりますが、このままでは、いったい何のことか判りません。
ここでは、XMLとは何か、そしてインターネット、いや、あらゆるソフトウェアにおけるXMLの必要性を説明します。
XMLは、1998年2月にW3Cから勧告されたたインターネット上で扱うデータを記述するための新しい技術です。昨今、インターネット関連で開発される技術は数多くありますが、XMLはその中でも大変重要な技術です。なぜなら、XMLはインターネットデータの第3の時代を築く技術だからです。
「第3」というからには、「第1」と「第2」が存在します。第1の時代はTEXTの時代です。HTML以前と言ってもいいでしょう。HTML以前、つまり1980年代以前は、TEXTによって情報を交換していました。これは、現在でも、電子メールやニュースグループにその名残が残っています。その後、1990年代に入り、HTMLが開発されました。TEXTとHTMLの違いは何でしょうか。それは、表現情報です。HTMLによって、文字の大きさ、文字の色、書体、図形や写真の表示やレイアウトが可能になりました。そして、このHTMLとそのアプリケーションであるウェブブラウザにによってインターネットが爆発的に普及したのです。
そして第3の時代、つまりXMLの時代です。XMLは、HTMLに加えて「意味情報」を持ったデータ表現形式です。意味情報とはどうゆうことでしょうか。HTMLでは、ブラウザに表示された情報を人が見ることによってその内容を理解したり、アクションを起こしたりしていました。つまり、HTMLは表示情報を持っており、その意味は人間が判断するというものです。一方、XMLは、データ中にも意味を持たせることにより人間だけでなく、コンピュータも意味を理解することができるのです。

では、意味情報の意味するところを、具体的に見てみましょう。「名刺」を例にとって説明します。名刺は、会社によってデザインが違います。使っている書体やレイアウトもまちまちです。さて、それでは名刺をHTMLであらわすことができるでしょうか?
答えは、「できる」ですね。HTMLを使うと、文字の大きさ、書体の指定、ロゴの埋め込み、レイアウトなど名刺に必要な表現は全て可能です。例えば、私の名刺をHTMLで書いてみましょう。HTMLの場合は、下記に示すように、ブラウザに表示するための表現を書きます。例えば、名前であれば、楷書の16ポイントというように。人は、ブラウザに表示されたデータを見て、「平野洋一郎さんと言う名前で、総務部購買課の課長だ。」というように、その意味を理解します。
それでは、このHTMLデータを、コンピュータが読むとしたらどうでしょう?
HTMLに書かれている情報はあくまでも表現情報です。これを読みながら意味---つまり、名刺の場合は、名前、役職など---を理解することができるでしょうか?楷書であれば名前とは限らないし、明朝であれば部署名とは限らない。また、名刺のレイアウトは多種多様ですから、最初に出てきたからと言って名前とは限りません。このように、HTMLは、ブラウザに表示し、人が見てはじめて意味を理解できるデータであり、コンピュータで意味を理解して処理するには限界があります。

そこで、XMLの登場です。XMLでは、下記のように、まずデータの意味を表記します。このように意味を表記することで、コンピュータでも意味を理解することが可能です。人がブラウザに見る場合には、さらにこの情報にスタイルシートを組み合わせて表示します。例えば、「<name>は、楷書の16ポイントで表示」という具合に指定されたスタイルシートをかぶせる訳です。ですから、データはどのような順番で出現しようと、どのような表現になっていようとコンピュータで正しく理解することができます。

XMLをもっとマクロ的な側面から見てみましょう。XMLが非常に重要な技術である理由、それは、ソフトウェアとデータの関係を変える技術であるということです。XMLは、データをソフトウェアからアンバンドル(切り離す)し独立させます。アンバンドリングがいかに重要な意味を持つことなのか、近年起こった「ハードウェアとソフトウェアのアンバンドリング」を例にとって見てみましょう。
一昔前までは、ハードウェアとソフトウェアは、切り離されていませんでした。例えば、ミニコンやオフコンの時代、ソフトウェアは、ある特定のハードウェアのために作られていました。ハードウェアを決めたら使えるソフトウェアもその時点で決まっていましたし、逆にある特定のソフトウェアを使いたければ、特定のメーカーのコンピュータを買うということになっていました。これは、パソコンの時代になってもしばらくは続いていました。例えば、一太郎を使いたいからNEC PC-98を買うなど。しかしその後、AT互換という標準化によって、ハードウェアとソフトウェアがアンバンドルされたのです。これによって、ユーザーは、好きなハードウェアに好きなソフトウェアを組み合わせて使うことができるようになりました。ユーザーは、目的や、予算や、好みに応じて、メーカーを気にせずにハードウェアを選べるようになりました。その結果、ルールが変わりソニーのVAIOなどのように特徴あるハードウェアも生まれてきたのです。

XMLは、この例ような革新的な変化を、ソフトウェアとデータの関係において与えようとしているのです。
現在、コンピュータのデータは、特定のソフトウェアに依存した形、言いかえれば特定のソフトウェアにとって一番都合の良い形で保管されています。そのため、ソフトウェアが決まればデータが決まります。例えば、他の人から特定のデータ形式で送られて来るので、ある特定のソフトウェアを使用しなければならないということが「常識」となっています。しかし、コンピュータを知らない人には、このことは不思議なことです。なぜ同じワープロなのに、Wordで書いた文書が一太郎でそのまま読めないのか?なぜ同じ表計算なのに、1-2-3で書いた表がExcelでそのまま使えないのか?それは、各ソフトウェアメーカーが、それぞれのソフトに一番都合のいいようにデータ形式を定めているからです。

XMLでは、データに意味を持たせ、オープンにデータ形式を定めることができます。各ソフトウェアメーカーは、あらかじめ合意されたデータ形式のデータを正しく処理できるようにプログラムを書くのです。これによって、会社毎に違うソフトウェアやシステムを使用しても、意味情報まで正しく情報交換を行うことが可能になるのです。
それでは、これまでの説明を整理します。まず、XMLの特長は3つです。
次に、HTMLとの違いを整理します。
ところで、XMLの仕様は、従来構造型標準文書の仕様として開発されたSGML (Standardized Generalized Markup Language) を参考に開発された仕様です。そこで、SGMLとの違いも整理しておきます。
このように優れた特長をもったXMLは、既に多くのデータ形式として採用され始めています。身近なオフィスソフトでは、Microsoft Office 2000などにも採用される予定です。そして、データベース、図形や、地図情報への採用も発表されました。さらに、今後爆発的な発展が見込まれているエレクトロニックコマースにおいてもXMLは不可欠なものとなっていきます。
このように、XMLは、インターネットにかかわらず、全てのデジタルデータの記述方法として大きなインパクトを与える可能性があるのです。そして、あらゆるデータが、XML化することにより、あらゆるコンピュータが接続された状況において自由なデータ交換が可能になるのです。
1998/10/05 初掲
1999/09/13 一部更新
日時: 1998年10月05日 00:00 | | TrackBack
