使用emacs编辑xml/xhtml

来源:互联网 发布:中文翻译泰语软件 编辑:程序博客网 时间:2024/06/08 05:15

 

使用emacs编辑xml/xhtml

hanlray@gmail.com
Revision: 0.3 Date:2006/09/28

1. nXML

用emacs自带的SGML mode来编辑xml文档并不是很得力,nXML mode是一个emacs的插件,它能把emacs变成一个强大的xml editor:

  • 用Relax NG作为schema语言,提供了很多常用标准的Relax NG版本,如xhtml、docbook等,如果你想使用的schema是用其他schema语言写的,还可以用Trang来把它们转换为Relax NG格式,然后告诉nXML如何locate这个schema即可。
  • nXML是实时validate的,可以用C-c C-v关闭validate。
  • 用M-x rng-set-schema-file-and-validate指定schema文件并validate,还可以选择把该绑定关系保存下来(缺省时当前目录下的schema.xml),当下次打开这个xml文件时会自动使用指定的schema。

2. nXHTML

用nXML mode当然可以编辑xhtml,因为xhtml本身就是一种xml,不过xhtml也有自己的特点,也许有必要用一种专门为其编写的mode。nXHML mode是nXML mode的扩展,增加了一些feature如对link的处理、为一个page创建TOC等,不过对我来说最有用的是编辑xhtml里inlined的javascript、CSS等很方便:可以切换到相应的mode编辑javascript、css,然后再切换回来,并且indent处理的也不错。

安装完nXHTML后,你也许需要打一下patch,因为当前的0.76/0.77版在我的环境下(XP、Emacs-22-cvs060924 + EmacsW32-1.08下)inline的功能工作不正常,我修正了nXHTML包中的文件html-inlined.el,点这里下载。

为了能切换到编辑inlined代码的mode,还要把这些mode文件放在load path里,经过试验,这几个mode和nXHTML工作的不错:ecmascript-mode、css-mode。

使用方式:

  • 把光标移到xhtml中inlined代码区域,如<script>、<style>块,用C-c %切换到编辑该块代码的mode,再按一次即切换回原mode

这些mode的程序、指南都可在emacswiki找到。

原创粉丝点击