空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

Xalan-C

今日は,XSLTデバッグをする*1XMLで出力したログファイルをJavaScriptをごりごり使ったXHTMLに変換するものである。つまり1つのファイルにXSLTXHTML,そしてJavaScript,さらにCSSが1つのファイルに書き込まれている。変換後のHTMLにも少し難があったのでそれを修正し,保守性の都合からJavaScriptCSSを別ファイルに分離してから作業を行う。JavaScriptFireFoxのコンソールをみながらエラーを消していくのが楽である。
XSLTXMLXHTMLに変換するスクリプトというのは,1つのXMLファイルの中にXSLとXHTMLという2つの異なる仕様が混ざりあっていて,そして出来上がった変換ファイル自体が全体として整形されたXMLになっているという,XMLマニア垂涎の(そんな人がいるかどうかは別として)シロモノである。先入観を出来るだけ捨て自分が触っているテキストファイルを,裸の心で眺めてみると「どうしてこんな仕様になってしまったんだろう…」と思わずうってなる。少なくとも知的でエレガントではないような気がする。
この辺りの開発には Xerces,Xalan,SpiderMonkey を利用し,パッケージは全部 DarwinPorts で取得した。

% sudo port install xalanc
% sudo port install spidermonkey

などとするだけOK。ちょっと前まではよくパッケージの取得に失敗していたが,最近 port が調子いい。

*1:厳密に言うと,ソースのXMLJavaScriptXSLTのどこに問題があるか分かっていなかったので,10MBのXMLログファイルの解析や,JavaScriptデバッグもした。何しろJavaScriptJavaScriptが埋め込まれたページを自動生成とかするHTMLを吐くXSLTなわけで,もう本当にいかがなものかと…(ぶつぶつ)