XML HOME > XMLとは?

XMLとは?(最終更新日 2002/03/11)

HTMLの限界
90年代の爆発的なインターネット革命を成功に導いたのは、HTML(Hyper-Text Markup Language)の容易な文法であった。
例えば、太字で書きたいときは以下のようにすればよいだけである。
<b>Sample Words</b>
しかし、HTML は、文法が容易である反面、データとしての柔軟性に乏しい。
<table>
<tr>
<td><b>輸入車</b></td>
<td> \10,000,000</td>
</tr>
<tr>
<td><b>野菜</b></td>
<td> 大根 </td>
</tr>
</table>
上記例では、輸入車の横の「\10,000,000」は、おそらく価格であろうし、「大根」は野菜の種類であろう。しかし、これは人間が推測した結果であり、HTML の固定されたタグ名では、そのデータが持つ意味を判定することはできない。

Webにおける B2B、B2C といった電子商取引が求められるようになった現在、その "あいまいさ" が HTML の致命的な欠点になってきた。そういった背景の中、より厳密で柔軟性を有する新しい記述言語が求められるようになったのである。

元々、HTML は SGML(Standard Generalized Markup Language) から派生した言語である。
SGML は、その仕様の複雑さ・開発の難しさから普及したかった記述言語である。HTML は SGML の応用言語として、文書閲覧のためのサブセットとして開発された。
(最近では、双方のメリットを合わせた XHTML も存在している)
そして、HTML の限界を超える言語として、元の SGML を Web上で用いるため提唱されたのがそのサブセットである XML(eXtensible Markup Language)である。
XMLの特徴
HTML で記述ができなかった、各項目に対して任意のデータ属性を記述できるようになったのが第一の特徴である。
<kinds>輸入車
  <price> \10,000,000 </price>
</kind>
<kinds>野菜
  <vg>大根</vg>
</kind>
上記例では、<price>タグにより、明示的に輸入車の「価格」を記述しており、<vg>タグで野菜の種別を記述している。 この場合、タグ名はシステム設計者が任意で作成することが可能である。<z> でも良いし、 <価格> でも良い。
アプリケーションは、記述してある属性に従い処理を行えばよい。

XML 文書から特定のデータを取り出すのは、XMLパーサと呼ばれる共通ソフトウェアが担当してくれるので、アプリケーションによる作りこみが発生しない。

そのため、フォーマットさえ取り決めておけば、B2B におけるデータのやり取りを行うことが容易になる。
(実際、XML を用いたプロトコル SOAP も W3C で勧告されており、それを使用したアプリケーションも誕生してきている。)