1.3 XMLとHTML
インターネットを介した情報公開、交換をする際のXMLの優位性について、HTMLと比較しながらもう少し詳しく見ていきましょう。企業間の受発注を、インターネット上で行う場合を考えます。以下のように書籍の情報を交換するとします。
書籍番号 | 書籍名 | 著者名 | 単価 |
4-8342-5104-7 | カイマナヒラの家 Hawaiian sketches | 池沢夏樹 | 1,800 |
上の書籍情報をHTMLにより記述した場合、以下のようになります。
<table > <tr> <td>4-8342-5104-7 </td> <td >カイマナヒラの家 Hawaiian sketches </td> <td>池沢夏樹</td> <td>1,800</td> </tr> </table>
上のようなHTMLのデータをアプリケーションに渡して処理などを行うことを考えます。すると、「カイマナヒラの家 Hawaiian sketches」が書籍名であることは、HTMLの記述を眺めていてもわかりません。データ交換を行う双方が「表の2列目は書籍名を記述することにしましょう」というような合意を、別の方法で事前に行う必要があるのです。つまり、HTMLでは、データの構造を記述することができないのです。この場合、「書籍名を1列目に表示したい」といった表示形式の変更を行うには、表示部以外の処理システムも変更する必要があります。さらに、「新たに出版社情報を追加したい」といったように、カラムを増やす場合もシステムの見直しが必要です。
つまり、HTMLによりデータの交換を行うと表示形式から間接的にしかデータ構造を把握できないのです。
そこで、XMLです。XMLは「メタ言語」=「言語を作成するための言語」です。これより、ユーザはXMLにより、データ構造を示すタグが含まれるような言語を作成することができるのです。
上の例をXMLで記述した場合(正確には「XMLで作成した書籍情報記述言語で記述した場合)は、以下のようになります。
<book> <id>4-8342-5104-7 </id> <title>カイマナヒラの家 Hawaiian sketches </title> <author>池沢夏樹</author> <price>1,800</price> </book>
すると、「カイマナヒラの家 Hawaiian sketches」が書籍名をあらわしていることが、タグの記述よりわかります。このように、データの構造がタグで記述できることにより、アプリケーションにデータをとりこんだり、必要な情報のみを表示したりすることが、柔軟に実現できるようになります。さらに、XMLでは、タグを新たに追加することも可能です。これより、出版社情報を追加したい場合は、ユーザにより出版社をあらわすタグを新たに作成することより実現できます。
1.4 まとめ
- 電子データ交換用のメタ言語、SGMLの後継言語として、XMLが誕生した。
- XMLは、インターネットを介したデータ交換の標準技術であり、電子商取引の基盤技術である。
- HTMLと異なりXMLはデータの構造をその言語内で表現することができるため、電子商取引分野で優位性を示している。
*参考:本章では、書籍情報を例に取り上げました。現実に、 日本電子出版協会(JEPA)体が電子出版用の標準形式として、JepaXと呼ばれる言語を開発しています。これは、書籍情報ではなく、書籍そのものを記述する言語として、開発されています。JepaXの仕様書はJepaX自身で記述されていますが、以下はそのJepaX仕様書の一部抜粋です。
<bookinfo> <book-title reading="JepaX">JepaX</book-title> <book-subtitle>JEPA電子出版交換フォーマット</book-subtitle> <edition>Draft: Version 0.9</edition> <book-author role="著" reading="ニホンデンシシュッパンキョウカイ シュッパンデータフォーマットヒョウジュンカイインカイ"> 日本電子出版協会 出版データフォーマット標準化研究委員会</book-author> <pub-date>19990930</pub-date> <publisher>日本電子出版協会</publisher> </bookinfo>