毎日、膨大なアイデアが生まれてくるが、メモる速度を思考速度が上回っているので、ほとんど書ききれない。早く神経接続できるようにならないと困るなあ。
ということで、取りこぼされそうになったアイデアのうちの一つを救っておこう。
今日の話題は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,netscapeのGUI定義言語のXULなどがそれにあたる。
シンプルでのぼくの仕事は、2と3に関するものだった。XMLで書かれた保険の条文を契約者ごとに組み合わせてひとつのXMLにし、レイアウト定義のXMLに従って変換してオンデマンドプリンタから出力。さらに、封入封緘機にかけて契約者に郵送というシステムだ。社内からは、XMLをXSLTにかけてHTMLとしてブラウザに表示、さらにPDFでプレビューすることもできる。
4.設定系
XMLの実際の利用のされ方の中で、実際にもっとも多く使われているのが、設定系のXMLだ。エンジニアの多くは、プログラムの設定ファイルをXMLで書き始めている。その代表的な例が、tomcatなどのjavaアプリケーションサーバで使われているweb.xmlだろう。
プログラムの設定ファイル化という流れの中で、プログラムのカスタマイザビリティを高めるのにXMLは一役買っている。
長くなるので、ひとまず切って、今後これらの4つのXMLが組み合わさってどんな面白いことが起きるのかを見てみよう。(続く)