XMLとは

XMLとは

XMLとは言語を作るための言語。ということで、説明が抽象的になりがちです。そこで、まずは具体的な物語を読んでいただくことにしましょう。

例えば、30種類のアプリケーションがあったとしましょう。

幾つかのアプリケーションでは、オプションや設定の項目から何かの値を変更したり設定したりできるかもしれません。設定した値は、アプリケーションを終了し、次またアプリケーションを起動したときにも維持されるでしょう。また、アプリケーションがいろいろな値を保存することもあるでしょう。例えば、ゲームのハイスコアだとかチャットの履歴だとかね。この場合、設定値は、ファイルに保存される場合が多いでしょう。

また、幾つかのアプリケーションでは、何らかの文書を扱うかもしれません。例えば、ワープロソフトや表計算ソフトでは複雑な文書をファイルに保存します。

また、幾つかのアプリケーションでは、インターネットを介して通信をするかもしれません。それらのアプリケーションでは、通信の際に何らかのデータを送ります。

上述した設定ファイルや、文書ファイル、通信データは、基本的には個々のアプリケーションに特化したそれ独自のものとなることが多いです。ただ、もし、例えば…30種類のアプリケーションが本当にばらばらの形式でデータを保存あるいは送信しているとしたら…例えば、あるアプリケーションは「:」を名前と値の区切りの記号にして文書を保存しているけれど、あるアプリケーションは「=」を名前と値の区切りの記号にして文書を保存している。別のアプリケーションでは、「文字列は""でくくる」というように、個々のアプリケーションがまったくばらばらのコンセプトでファイルを書き出すようなことでは…その無秩序の先には、混乱とたくさんの不具合が待ち受けていることは想像に難くないのではないでしょうか。

XMLは、個々のアプリケーションで利用される実際のファイルの構成を、「ある統一したルールで記述しよう」という目的のもとに、その記述方法を定めた言語です。それぞれ異なる用途に使用されるファイルであっても、本質的には統一したルールで内容を記述する、そのための言語です。個々に使用されるファイル(言語)のルールを決める言語ということから、メタ言語とも呼ばれます。

アプリケーションが扱うデータを保存したり通信する場合、「何を」と「どうやって」という観点があります。「何を」はアプリケーションによって、まちまち。「どうやって」というものをアプリケーションによりまちまちであるものの、その記法について XMLを採用したならば、基本の基本の部分で統一性が生まれます。

XMLを採用した例については次の章で見ていきましょう。

XMLの利点

もし、それぞれのアプリケーションの製作者がXML言語のルールに則ったファイルを作成するならば、製作者にはファイル入出力部分での恩恵があります。本ウェブサイトでは紹介しませんが、DOMやSAXなどを利用することができます。また、DOMや SAXなどを利用することにより、読み取り部分での不具合の要因を減少させることができます。

ファイルを閲覧したり編集する側には、「XMLの形式で書けば大丈夫」なのだから、個々の独自のしきたりを覚える必要性が減ります。その分が恩恵となることでしょう。

XMLと Androidアプリ開発

Androidアプリ開発においては、マニフェストファイル、レイアウトファイル、リソースファイルというファイルが登場します。これらはXML文書であり、XMLのルールに則って記述する必要があります。また、内部ではプリファレンスファイルなどもXMLで記述されています。そういう訳で、Androidアプリ開発において、XMLの初歩的な知識はどうしても必要で、本ウェブサイトを作成したのでした。

XMLと SGML

XMLはゼロから作られた言語ではありません。SGMLという祖先があって誕生しました。SGMLはその記述ルールが複雑すぎることや時代が古いこともあって、新しい言語が必要になった。そしてXMLが誕生したという経緯です。SGMLが脱皮してXMLが生まれた、と例えることができるのかもしれません。この後、HTMLとの関係の章でも、SGMLのことが少しだけ登場します。

最終更新: 2014/03/14 , 公開: 2014/03/14
▲top