Ajaxで用いるデータフォーマットの比較 (XML)

Ajax(Asynchronous JavaScript + XML)の名の通り、広く用いられているフォーマットの1つである。例えば、次のようなデータをサーバより返す。

<?xml version="1.0" encoding="utf-8" ?> 
<cities>
   <city initial="あ" >青ケ島青ケ島村</city>
   <city initlal="あ" >足立区</city>
  ...
</cities>

取得したXMLデータよりHTMLを生成するには、大きく分けると2つの方法がある。1つはJavaScriptプログラミングによってXMLを直接生成する方法である。もう1つは、XSLT を用いる方法である。
XMLの最大の利点は、汎用性が高いことだと思う。最も普及しているフォーマットの1つであり、JavaScript以外の言語からの利用も容易である。また、HTMLと異なり、XMLデータを解析するメソッド(getElementsByTagNameなど)が用意されているので、XMLデータより情報を抽出して、高度な処理(アニメーションなど)を実行することも可能である。
一方、XMLの欠点は、JavaScriptプログラミングが、それなりに面倒なことである。XMLデータを解析するメソッドには使い難い点があるし、また、HTMLを生成するのも、DOM操作によるプログラミングが必要となる。XSLTを使えば、これらの問題はある程度解決できるが、ネイティブなXSLTが実装されているブラウザは限定される問題がある。