最近想用emacs打造一个小型的Java开发环境,Java开发的mode肯定是选jde了,在IBM的网站上有一篇文章介绍了jde的使用文章
《使用emacs-jde进行Java开发》需要注意的是ede、eieio、semantic、speedbar都在cedet这个包中,elib还需要单独下载,这里就不再缀述。
做为Java开发环境,一个称手的xml编辑器少不了。网上很多介绍使用psgml-mode来编辑xml的,但我发现psgml的使用比较麻烦,似乎还不支持xsd校验,只支持dtd校验。于是找到了nXML-mode,经过测试,nXML-mode再配合RNC schema可以实现对xml文件格式的校验和代码自动完成。
nXML-mode安装配置过程如下:
- 下载nXML-mode及相关的工具软件
- nXML-mode
- 自动生成RNC schema的工具Trang
nXML使用RNC schema来实现对xml的校验,而不是直接使用dtd或xsd,在nXML-mode的包中带了一些常用格式的RNC文件,如DocBook、XHTML、XSLT、DTD等。
Trang这个工具可以根据DTD生成对应的RNC文件。
- 将 W3C XML Schema 转换为 RELAX NG格式的工具rngconv
这个工具能是将xsd转换成RNG格式,然后可以用Trang将RNG转换为RNC。
- 修改.emacs,以加载nXML-mode
配置无法贴出,贴出后出现排版错误,可以参见nXML-mode的README
- 添加对Hibernate hbm文件的支持
根据Hibernate 3 的DTD生成RNC文件
命令
- java -jar trang.jar http:
将生成的复制到emacs的nXML-mode安装目录。
修改nXML-mode安装目录下的schema/schema.xml。在文件中增加一种新的文件类型对质,在文件中加入:
xml 代码
- <typeId id="Hibernate HBM" uri="hibernate-mapping-3.0.rnc"/>
在schema.xml文件中加入hbm的一种识别方式,这里将根据文件名以hbm.xml结尾,来识别这是一个Hibernate HBM类型的文件:
xml 代码
- <uri pattern="*.hbm.xml" typeId="Hibernate HBM"/>
这样在打开hbm.xml结尾的文件时,将自动加载前面生成的rnc文件。
- 添加对Maven2 pom文件的支持
根据Maven2的xsd生成rng文件
命令
- java -jar rngconv.jar http:
根据rng生成rnc
命令
- java -jar trang.jar maven2.rng maven2.rnc
将maven2.rnc复制到nXML-mode安装目录中。修改schema.xml增加一种新的类型
xml 代码
- <typeId id="Maven2" uri="maven2.rnc"/>
修改schema.xml,加入自动识别pom文件的功能,这里不通过文件名来识别,而是使用namespace来识别
xml 代码
- <namespace ns="http://maven.apache.org/POM/4.0.0" typeId="Maven2" />
这样在打开pom时,将自动加载maven2.rnc文件。
- 现在可以编辑hbm或者pom文件进行测试。nXML-mode是即时进行校验的,按Ctrl+return可以自动完成标签或属性。
分享到:
相关推荐
html5-el, 在 Emacs Lisp,HTML5和XHTML5工具中 html5-el这是一个用于各种项目的umbrella库,涉及在 Emacs Lisp中使用 HTML5.使用 nxml-mode 编辑x 射线文档这提供了使用 nxml-mode 来编辑XHTML5验证的x 射线文档的...
在Emacs编辑器的世界里,次要模式(minor mode)是一种扩展功能,它们可以在主要模式(major mode)的基础上提供额外的功能。"svg-tag-mode"就是这样一个次要模式,它专为提升编程体验而设计,特别是对于处理HTML、...
nXML-mode 无法完成 CSS 属性及其值。 但它们的定义在 auto-complete.el 中。 因此,CSS 属性及其值在完成属性值时可用。 见上面的截图。 当你在元素的内容上时做完成。 nXML 模式无法完成元素的内容。 但它们的
YaHTML,nxml-mode和psgml-mode。 安装html-fold.el 将html-fold.el放入您的加载路径 字节编译它,如果你愿意的话 将以下代码放入您的.emacs中 ( autoload 'html-fold-mode " html-fold " " Minor mode for hiding...
句法关闭 插入结束分隔符字符,即括号、括号、大括号或任何需要的东西 - 考虑句法后果。... 目前支持以下模式: agda2-mode emacs-lisp-mode html-mode js-mode mhtml-mode nxml-mode org-mode php-mode python
例如,你可以用XML定义表格、段落、标题等元素,每个元素都包含相应的数据。 3. **XSLT(XSL Transformations)**:XSLT是一种转换语言,用于将XML文档转换为其他格式,如HTML、PDF或,正如我们案例中的,Microsoft...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
使用Emacs中的nxml-mode ,XML编辑(从RNC文件中)可以即时进行验证,这非常容易。 核心文件: tree_species.xml :基础文档 tree_species.rnc :模式 tree_species.json :可以从中生成网页等的派生文件(不直
XSLT是一种转换XML文件的语言,Emacs同样提供了`nxml-mode`来处理XSLT文件。在这个模式下,用户可以享受到良好的代码格式化和自动完成,使XSLT编写更加便捷。 卡片(card)和备忘单(sheet)的概念通常指的是将复杂...
xml Generate slave information XML. Global options: --master -m <master> Comma separated list of masters to select, ranges are allowed. Examples: '1,3', '5-7,9', '-3'. ...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
【labelImg使用教程】\n\nlabelImg是一款广泛应用于深度学习目标检测领域的图像标注工具,它的主要功能是帮助用户在图像上标记出目标物体的边界框,并以PASCAL VOC或YOLO格式保存标注信息。本教程将详细介绍labelImg...
1.5 xml的编辑工具 7 1.6 xml文档 8 1.6.1 xml声明 9 1.6.2 文档类型声明 10 1.6.3 元素 11 1.6.4 注释 15 1.6.5 处理指令 15 1.6.6 空白处理 16 1.6.7 行尾处理 16 1.6.8 语言标识 16 1.7 格式良好的xml ...
+ added support of TeeChart 2010 packages (new series type aren't support in this release) + added a property TruncateLongTexts to the XLS OLE export that allows to disable truncating texts longer ...
(使用的是android4.4.2的service:) # 1. realtek & eagle wifi service # 1.1 realtek & eagle wifi sta service service wpa_supplicant /system/bin/wpa_supplicant \ -iwlan0 -Dnl80211 -c/data/misc/wifi/...
- **基本描述**: 支持XML和NXML (Namespace XML) 文档的自动缩进和格式化。 - **有用链接**: [Emacs Wiki关于XML模式的信息](https://www.emacswiki.org/emacs/XMLMode) ##### 1.10 Boxquote - **基本**: 用于创建...
#frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml # ap6181/6210/6330 sdio wifi fw and nvram $(call inherit-product-if-exists, ...
例如,`nxml-mode`提供XML和HTML的语法高亮和自动完成,`emmet-mode`则加速HTML标签的编写,通过缩写和快捷键快速生成复杂结构。 5. **版本控制**:GitHub上的项目通常使用Git进行版本控制。Git允许团队协作,追踪...
dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/home2 --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-...