2004-05-07
xml-mode で使用するXSLTプロセッサの切り替えメニュー
私は Java版 XT + Xerces を利用しているのですがと過去のひとりごとに書きましたが、他のXSLTプロセッサも導入しているので、xyzzyの初期化ファイルにそれならばと以下の様なlispコードを追加しています。
;;; xslt processor 切り替えメニュー
(defun my-xml-mode-hook ()
(defun xslt-processor-selecter ()
(interactive)
(track-popup-menu
(define-popup-menu
;; MSXSLT
(:item nil "MSXSLT"
#'(lambda () (interactive)
(setf *xt-command* "msxsl/msxsl.exe"))
#'(lambda ()
(if (equal *xt-command* "msxsl/msxsl.exe")
:check)))
;; XT + Xerces
(:item nil "XT"
#'(lambda () (interactive)
(setf *xt-command* "xt.bat"))
#'(lambda ()
(if (equal *xt-command* "xt.bat")
:check)))
;; Xalan-j
(:item nil "Xalan"
#'(lambda () (interactive)
(setf *xt-command* "xalan.bat"))
#'(lambda ()
(if (equal *xt-command* "xalan.bat")
:check)))
;; Xalan-C
(:item nil "Xalan-C"
#'(lambda () (interactive)
(setf *xt-command* "xalan-c/xalan.exe"))
#'(lambda ()
(if (equal *xt-command* "xalan-c/xalan.exe")
:check)))
))))
(add-hook '*xml-mode-hook* 'my-xml-mode-hook)
注釈
- 各XSLTプロセッサの実行ファイルは、PATHが通ったディレクトリ(フォルダ)にあること。
然しながら、結局のところ、切り替えて使用することなど滅多にありません。興味津々と色々導入してみたものの、幾つものXSLTプロセッサを導入するのは、単にディスクスペースを圧迫するだけかも知れません・・・。