【JavaScript】クライアントでXSLTとJsTemplate

レンタルサーバーでメモ的に使っているPHP+XML+XSLTのシステムをGoogle AppsのGoogleサイトかGoogle App Engine(GAE)に移行できないものかと調査したメモ。

Googleドキュメントのスプレッドシートに書いて、(必要なら)Googleサイトに埋め込めば終了なんだけど、せっかく作ったXSLTを生かせないか調べてみた。

まず方法として

  • GAE上(サーバーサイド)でPythonとXSLTのライブラリを使って変換する
  • ブラウザ(クライアントサイド)でブラウザのXSLTプロセッサを使う
    ⇒ これはブラウザごとに仕様が違うので、ほぼやる気はない。
  • JavaScript(クライアントサイド)でXSLTを可能にするライブラリを使う(ajaxslt

Googleがオープンソース化したAJAXSLTは、まだ対応していない関数もあるみたいで未知数。さらにプロジェクトページのNOTEに書いてあったのが

最近のブラウザはネイティブでXSLTとXPATHを実装し、さらにデータ転送のフォーマットとしてXMLよりJSONを使うことが多いので、WebアプリケーションにデータをバインドするのはGoogle-jstemplateを使った方がいい。

みたいなことが書いてあったので(翻訳は適当)、素直にXSLTは諦めた方がよさそう。

JsTemplateはAjaxで通信して、Gmailみたいに新規受信メールがあったら、(再描画せずに)1行追加するというのを簡単に実装できるようになる。

これは機会があったら試してみる予定。