XMLは永遠にアフォーダンスしない

  • 投稿日:
  • by

申し訳ないですが、表題の通り、XMLは永遠にアフォーダンスしません。以前から指摘しているように、XML側の人たちはいつまでたってもアプリケーションの本質が理解できないようです。

CNETの江島氏のBlogXMLとアフォーダンスの内容は、多くの人々の思考に刺激を与えたと言う意味では評価しますが、ことの本質を見誤っています。

このXMLデータは、「江島 健太郎にメールを出せ」「0387654321にファックスを送れ」などという無数のメッセージをアフォードしてきます。そして、そのメッセージは、オブジェクトシリアライゼーションなんて言葉がわかる技術者だけではなくて、その何百倍/何千倍もいるであろう、データの意味を単にリテラルに読むことができるだけの普通の人たちにも届くのです。この圧倒的なスケール感の広がりこそが、XMLの価値なのです。

個人情報を例にしていますが、これは名刺と一緒で、名刺の中の個々の情報が個別にアフォードしているのではなく、名刺そのものが、コールミーのアフォーダンスをしているのです。この名刺そのものとは、データではなく名刺と言う機能を持ったアプリケーションだと言うことです。これをXMLではなく、単なるCSVで記述しても、アフォーダンス効果が全く同じであることを考えれば、自明と言わざるを得ません。

データもXMLも決してアフォーダンスしません。椅子の例もあげていますが、これもまったく同じです。椅子の材料は決してアフォーダンスせず、椅子の形状と言う機能こそアフォーダンスしていることに気づくべきです。ここで彼らは主張します。この椅子の形状と言う機能をXMLで記述できると。おやおや、それは結局プログラムと同じ次元であることに気づいていない。しかもデータと機能が密結合すると言う、もっとも始末の悪いプログラムと同じことに。

XMLとは、どこまで行ってもデータとアプリケーションの間のプロトコルの一つであって、それがYMLであろうがZMLであろうが、標準でありさえすれば何でもかまわないのです。その意味で、セマンティックについても、データに意味を付与するのはタグと言うメタデータではなく、アプリケーションである機能しかあり得ません。ここでアプリケーションを限定的に解釈するのは間違いです。アプリケーションとは、データと言う限られたリソースだけでなく、ソフトウェアを含めた、プログラムを取り巻くありとあらゆるリソースを対象に、そのすべてのリソースの生成と消滅を制御するプログラム全般を指します。

この意味を理解するのにゲームと言うコンテンツアプリケーションを考えると概念がより明確になりますが、休日で少々ヨッパです。とりあえずこのままアップして続きは明朝^^; KAI