Saxon-CE 1.0がリリースされました!

もう6月18日のことなのですが、Saxon-CE 1.0がリリースされました.
 
Michael Kayのアナウンス
 
 
Saxon-CEはクライアントで動くXSLT2.0エンジンです.エッ?いつも使っているSaxon-HEやPE、EEと何が違うのかって?エヘンッ!それはですね.Saxon-CEは主にSaxon-HEをGoogle Web ToolkitでJavaからJava Scriptに再ビルドして作られたほぼブラウザ専用のエンジン(Java Scriptのライブラリ)なのであります.
 
簡単にいうとブラウザのイベントをxsl:template match="~"で受け取って、結果をxsl:result-documentでHTMLのツリーに書き戻してやるのです.
例えば
 
<xsl:template match="button[@id eq 'switch'] mode="ixsl:onclick">
 
は、idが'switch'というボタンが押されたら起動されるテンプレートです.おもしろいですね.

でも、えっ?そんなのJava Scriptでやるのが当たり前じゃないの?といわれる方も居るでしょう.そうです.わたしもずっとそう思っていました.そしてJava Scriptの本は読んだけれど、一発で挫折していました.

Michael Kayもブログでこう書いています.
 
 
イメージ 1
 
" OK, there's a large community out there that has become comfortable with writing Javascript. But it's messy, it's hard to debug, it requires a great deal of specialist skill, and we think that there's a better and easier way of doing it."
messy: 扱いにくい、面倒な、複雑な.
 
"XSLT is ideally suited for this role. It's a language whose basic approach is to define rules that respond to events by constructing XML or HTML content. It's a natural extension of the language to make template rules respond to input events rather than only to parsing events. The functional and declarative nature of the language makes it ideally suited to this role, eliminating many of the bugs that plague JavaScript development."
(これはSaxon-CEのドキュメントのページから)
 
確かに一理あると思います.XHTMLが当たり前になって、もうXMLの世界です.XMLを加工するのが得意なのはXSLTなんです.(自分がやっているからいう訳じゃありませんが)ですから、この分野にXSLT2.0が現れても本来全然おかしくないんです.でもブラウザでのXSLT2.0サポートはずっとほったらかしでした.
 
でも、日経もどこも全然報道してないです.唯一IBMDeveloper Worksがちゃんと注目して、アルファバージョンのときから紹介して記事を載せています.
 
「Saxon-CE と HL7 CDA を使用してクライアント・サイドのヘルスケア・アプリケーションを実装する ブラウザーXSLT 2.0 を使用し、医療文書の表示を強化する」
 
あとSaxon-CEのドキュメンテーションページを読むとSaxonicaがどれほどの情熱をかけて、これを作り上げたかがわかります.
 
それから、サンプルとデモを見て行くと驚くんですが、単にダイナミックなページ
 
というだけでなく、なんとSaxon-CEを使ってブラウザ上で動くXMLエディタまで作っちゃっている人がいます.
 
ともかくこんなのがXSLT2.0でできるなんてオドロキです.でもちょっとライブラリのロードに時間がかかるのが難点かな~?
 
さてSaxon-CEは個人のPCにIISを立ててやるようなことをする場合、1年は無償でライセンスくれるようです.ですから、個人でも簡単に試すことが出来ます.
わたしも仕事が一段落したら挑戦してみたいと思います.