#pragma section-numbers off [[TableOfContents]] = 概要 = 新しいXML用モード。Emacs21以上でないと動作しない。 # APELって海外ではあまり知られてないのでしょうか? http://www.xmlhack.com/read.php?item=2061 = URL = http://www.thaiopensource.com/download/ = インストール = 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 schemaname.rnc にてschemaをロードする。 C- にてどんどんタグ記述。 C-c i で終了タグを記述。 C-c f でタグ閉じる。 終了って感じです。 = Tips = 単純に info の簡易翻訳ですが。 == schemaの決定 == その場のみなら {{{ C-c s schemaname.rnc }}} でもよいですが、これは普通に使うには面倒です。 {{{ M-x customize-variable rng-auto-file-name-alist もしくは M-x customize-variable rng-auto-element-alist }}} でカスタマイズしていまうのが簡易です。 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/ ---- CategoryPrograming CategoryEmacs CategoryXml