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プロセッサを導入するのは、単にディスクスペースを圧迫するだけかも知れません・・・。