2003-09-18

Xalan on xyzzy

私は Java版 XT + Xerces を利用しているのですが、Xalan on xyzzyをみて、Xalan-Cを導入してみたくなりました。

xyzzyの拡張lispのxml-modeスタイルシート適用機能を利用するにはmsxsl.exeまたはxt.exeが必要なのですが、Java版 XT & Xerces を利用する方法もあります。

XT & Xerces (for Java) on xyzzy

Java版 XT & Xerces を利用する場合には、.xyzzy若しくはsiteinit.lに以下の様なコードを追加します。

;;xml-mode
(require "xml/xml-mode")
(use-package 'xml)
;; 指定拡張子のファイルをopenすると自動的にxml-mode
(pushnew '("\\.\\(xml\\|xsl\\|html\\|xhtml\\|rdf\\|sdoc\\|fo\\|rng\\|svg\\|xi\\)"
         . xml-mode)
         *auto-mode-alist* :test #'equal)
;; スタイルシート適用機能
;; Java版 XT + Xerces を使用する設定。
(setq *xsl-transform-command* *xsl-xt*)
(setq *xt-command* "xt.bat")
(push '(xml::xt
         "~A ~S ~S ~A"
         *xt-command*
         (get-buffer-file-name)
         (read-file-name "stylesheet: " :history 'stylesheet)
         (or xml::*xml-user-option* *xt-default-options*))
         *xml-command-alist*)
;; ドキュメントタイプ(必要なものだけ選択)

上記サンプルの様に、setq*xt-command* の値を設定します。これで、xml-mode で Java版 XT + Xerces が利用できるようになります。

もし、Xalan-Cを利用する場合でも、lispを直接弄くるのではなく上記の様に(*xt-command*xalan.exe)することでバージョンアップの際にも簡単に対処できると思います。

注釈

  • Java版 XT & Xerces の導入方法は、先日のひとりごとを参考にしてください。
  • バッチファイル(xt.bat)はPATHが通ったディレクトリ(フォルダ)にあること。
  • スタイルシート適用のキーバインドは、C-ctです。C-uC-ct でオプションも指定できます。