XMLの文体と新しい社会契約論(1)

毎日、膨大なアイデアが生まれてくるが、メモる速度を思考速度が上回っているので、ほとんど書ききれない。早く神経接続できるようにならないと困るなあ。

ということで、取りこぼされそうになったアイデアのうちの一つを救っておこう。

今日の話題はXMLの文体。

HTMLに初めて出会った1995年から現在に至るまで、ネットの文体、文法というのをずっと考えてきた。

ぼくは、3年ちょい前にXMLミドルウェアソフトウェアベンダーのアプレッソという会社で働いていて、その後、XML自動組版エンジンソフトウェアベンダーのシンプルプロダクツという会社で働き、特に保険約款のXML化と自動レイアウトのシステムを作った。

XMLスペシャリストとしてはエジケンやniwatoriに譲るとして、むしろその可能性を広げるという視点から、XMLについて論じてみたい。

私見によれば、XMLには4つの使われ方がある。

1.メッセージ系

2.ドキュメント系

3.レイアウト系

4.設定系

順に見ていこう。

1.メッセージ系

メッセージ系のXMLとは、主にデータ交換、データ変換で使われるXMLだ。通常、永続性のあるデータとしてはRDBに格納されることが多く、別のRDBなどに交換される途中に中間的な形態としてXMLの形をとるため、XMLとしての存在時間は短い。最近流行のWEBサービスなどもこれに入る。

また、データは別にRDBに限らず、各アプリケーションがXMLをexport,importできるようになってきているので、アプリケーション間のETLとしても使われる。

データ交換、データ変換の分野では、いままでEDI、EAI、ETLなどのツールがあったが、これらの中間フォーマットとしてXMLを使おうというのだ。その代表的なツールにアプレッソのDataSpiderがある。ぼくは、社会人としての最初の仕事は、このメッセージ系のXMLの分野にいたわけだ。

これらのメッセージ系XMLの具体例としては、電子商取引のROSETTANET, ebXMLなどがある。

2.ドキュメント系

一方、ドキュメント系のXMLとは、XMLとして永続的に保存されており、人が見るときだけ別のファイルフォーマットに変換されるようなXMLである。具体的には、医薬品の添付文書や保険約款などがXML化されつつある。当然、Wordで書かれた文書はword2003からXMLで吐き出すことができるので、WordMLはドキュメント系のXMLだといえよう。

3.レイアウト系

1や2のデータを人が見えるように変換する、そのレイアウトやインタラクションなどのインターフェイス定義情報をXMLとしてもつのが、レイアウト系のXMLだ。具体的には、XSLTや、mozilla,netscapeGUI定義言語のXULなどがそれにあたる。

シンプルでのぼくの仕事は、2と3に関するものだった。XMLで書かれた保険の条文を契約者ごとに組み合わせてひとつのXMLにし、レイアウト定義のXMLに従って変換してオンデマンドプリンタから出力。さらに、封入封緘機にかけて契約者に郵送というシステムだ。社内からは、XMLXSLTにかけてHTMLとしてブラウザに表示、さらにPDFでプレビューすることもできる。

4.設定系

XMLの実際の利用のされ方の中で、実際にもっとも多く使われているのが、設定系のXMLだ。エンジニアの多くは、プログラムの設定ファイルをXMLで書き始めている。その代表的な例が、tomcatなどのjavaアプリケーションサーバで使われているweb.xmlだろう。

プログラムの設定ファイル化という流れの中で、プログラムのカスタマイザビリティを高めるのにXMLは一役買っている。

長くなるので、ひとまず切って、今後これらの4つのXMLが組み合わさってどんな面白いことが起きるのかを見てみよう。(続く)