紹介マニアMoinMoin

概要

新しいXML用モード。Emacs21以上でないと動作しない。

# APELって海外ではあまり知られてないのでしょうか?

http://www.xmlhack.com/read.php?item=2061

URL

http://www.thaiopensource.com/download/

http://groups.yahoo.com/group/emacs-nxml-mode/

インストール

nxml-mode-yyyymmdd.tar.gzを取得します。

tar xvfz nxml-mode-yyyymmdd.tar.gz
cd nxml-mode-yyyymmdd
make

load-pathの通ったディレクトリに移動するか、load-pathを設定してください。

設定

READMEに記述があるので、そのままです。

(load "~/lib/lisp/nxml-mode-200YMMDD/rng-auto.el")
(setq auto-mode-alist
        (cons '("\\.\\(xml\\|xsl\\|rng\\|xhtml\\)\\'" . nxml-mode)
              auto-mode-alist))

利用方法

説明は

C-u M-x info RET nxml-mode.info RET

で読むのがよいです。

C-c s <RET> schemaname.rnc

にてschemaをロードする。

C-<RET>

にてどんどんタグ記述。

C-c i

で終了タグを記述。

C-c f

でタグ閉じる。

終了って感じです。

Tips

単純に info の簡易翻訳ですが。

schemaの決定

その場のみなら

C-c s <RET> schemaname.rnc

でもよいですが、これは普通に使うには面倒です。

M-x customize-variable <RET> rng-auto-file-name-alist <RET>
もしくは
M-x customize-variable <RET> rng-auto-element-alist <RET>

でカスタマイズしていまうのが簡易です。

rng-auto-file-name-alistはファイル名で指定します。

デフォルトでは

(".*\\.xsl\\'" . "${nxml-home}/schema/xslt.rnc")
(".*\\.x?html?\\'" . "${nxml-home}/schema/xhtml.rnc")
(".*\\.rng\\'" . "${nxml-home}/schema/relaxng.rnc")
(".*\\.rdf\\'" . "${nxml-home}/schema/rdfxml.rnc")

${nxml-home}はnxmlのディレクトリ

みたいな設定になっています。

こまかい事はrng-auto.elを見るとわかるかと思います。

手で追加するなら

(setq rng-auto-file-name-alist
      (append
       (list
        '(".*\\.xslt\\'" "~/lib/lisp/nxml-mode/schema/xslt.rnc")
        )
       rng-auto-file-name-alist-default)
      )

とかで可能です。

参考サイト

RelaxNG

http://kimama.ddo.jp/programming/nxml-mode/

http://www.dpawson.co.uk/relaxng/nxml/


CategoryPrograming CategoryEmacs CategoryXml

紹介マニアMoinMoin: nxml-mode (last edited 2011-08-11 09:42:49 by sakito)