AJAXでのXML

つづきに「XMLAjaxの関係は希薄か濃厚か?」では面白い視点がありました。

つまり、私はXMLHttpRequestオブジェクトにおいて、XML文書を扱うことが当然の前提であるという態度を取り、最初のテストプログラムで何のためらいも疑問もなくXML文書を扱うように組み、そしてトラブルにはまっています。

 しかし、大村さん(と彼と同じメーリングリストの仲間)は、まずテキストファイルによる事例で試し、それが成功した時点で調査が完了してしまっています。

 このような点から考えると、世間一般の目から見たAjaxにおけるXMLの存在感は、おそらく希薄であろうと思います。

実際は、リクエストのURIが意味を持っている。そのため、そのURIから得られるXML上の要素セットの意味はURIの意味に従属するものであるため、プレーンテキストで扱ったとしてもXMLで扱ったとしてもふつうは表現上の違いでしかない。つまり大抵はURIを指している時点で、その先の使い方を知ってるはずで、あとは解析コード記述の違いでしかない。

こうなるとAJAXでのXMLは機能としてのメリットが重要になる。たとえば解析コードの扱いやすさ、変異への耐性の高さのためのものになるはずです。このあたりはアプリケーションの規模や長さとも絡んでくるのでなんともいえない(小さいものならプレーンテキストやCSVのほうがむしろ上になる)。

組織としての境界を越えて使うデータ表現であれば、このようなXMLの重要性は増すのだろうけど、そうなることはあまり考えないかもしれない。XMLを使う場合、データの共通構造を意識(設計)することが先に必要だし、それは結構難しいし、その変更は面倒だし、ということじゃないだろうか。

アドホックに変更できるようなデータなら、XMLよりもJSONでかいてevalほうが楽かもしれない。構造化文書(配列、オブジェクト含めて)はどれもシームレスに扱いえればいいんだろうけど。