ブラウザでXSLT2.0が使える! Saxon CE

去る3月27日~28日にXML プラハ 2011(XML Prague 2011)というカンファレンスが開かれました.様々な講演が行われましたが、ここでSaxonの作者Michael Kayは、XSLT in the Browserと題した講演を行い、クライアントサイドのブラウザで動作するXSLT 2.0エンジンであるSaxon CE(CE: Client Edition)を紹介しました.Saxon CEはブラウザで動作させるために、JavaインプリメンテーションのSaxon 9を、GWTGoogle Web Toolkit)をつかってJavaScriptにクロスコンパイルして作成されたエンジンです.現在Saxonicaからアルファ版がダウンロードできます.私はHTMLやJavaScript系が全然ダメなのであまり中身を技術的に解説はできません.紹介だけさせてもらいます.
 
XML Prague 2011のホワイトペーパーはこちらから見られます.
 
Saxon CEのドキュメントと解説ページはこちらです.
 
Saxonicaが用意しているサンプルアプリケーションは次の3つがあります.私はWindows7(64bit) + Firefox 4.01でバッチリ見られました.(IE8はエラーになりダメ)
 
本の作者、題名、価格の表示とダイナミックなソート
http://www.saxonica.com/ce/doc/samples/booklist.xml (解説)
http://www.saxonica.com/ce/demos/books/books.html (アプリケーション)
 
XSLT Programmer's ReferenceにのっているKnight's Tour
http://www.saxonica.com/ce/doc/samples/tour.xml  (解説)
http://www.saxonica.com/ce/demos/tour/tour.html (アプリケーション)
 
JavaScriptの相互運用性のテスト
http://www.saxonica.com/ce/doc/samples/jstest.xml  (解説)
http://www.saxonica.com/ce/demos/jstest/jstest.html (アプリケーション)
 
いずれのアプリケーションもサーバーからSaxon CEが自動的にダウンロードされクライアントサイドで実行されます.
 
今までXSLTとHTMLと言えばサーバーサイドでXMLをHTMLにXSLTプロセッサで変換するか、またはXMLに次のような処理命令を与えてブラウザ側でHTMLに変換させて表示させるくらいしか知りませんでした.しかしこのようにして表示させるHTMLは静的なコンテンツとなります.
 
<?xml-stylesheet href="~.xsl" type="text/xsl"?>
 
しかしSaxon CEの場合はブラウザ側でXSLT2.0エンジンが動的にコンテンツを切り替えられます.とても面白い試みだと思います.XSLTの新しいつかい方を示したものと言えるのではないでしょうか?しかし私から見るとSaxon9をJavaからJavaScriptにクロスコンパイルしてしまおうという発想がよくもできたものだと思います.