这篇文章主要是介绍在Eclipse 平台中是如何支持XML开发的,着重讲解的是XMLBuddy插件。
这里只介绍不要Money的一种,就是XMLBuddy,它主要提供是有关DTD方面的验证、代码助手等功能;还有一种是要Money的,是XMLBuddy Pro,它相对于XMLBuddy来说,扩展了许多功能,比如对Schema、XSLT、RELAX NG 的支持。对于XML的一般编写,XMLBuddy已经够用了,而且它是免费的,很容易得到,所以这里就着重谈谈它了。
一、下载与安装
1. 下载
XMLBuddy的主页地址是:http://www.xmlbuddy.com/
下载要注意是XMLBuddy,不是XMLBuddy Pro。这里给出一个下载地址,是XMLBuddy 2.0.38版本的:
http://xmlbuddy.com/2.0/78945789020508924908525/8902390238490587584751/xmlbuddy_2.0.38.zip
注意:这个版本匹配的是eclipse 3.0.1-3.1M5。
为了讲解方便,我使用的eclipse的版本是3.0.1,并且安装了中文语言包,没有安装其它插件。如图:
2. 安装
安装XMLBuddy 2.0.38
先解压这个下载的文件,然后将com.objfac.xmleditor_2.0.38这个目录复制到eclipse安装目录下的plugins目录中即可;或者采用links方式安装也可以。
再次启动eclipse,应该可以发现XMLBuddy已经安装了。
3. 定制
如果要定制XMLBuddy,可以通过 窗口 ->首选项 ->XMLBuddy 来修改:
二、使用XMLBuddy
下面开始讲解如何使用XMLBuddy:
· 新建一个名称为“XMLBuddyDemo”的Java项目,然后建立一个web.xml文件。如下:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
· 如果此时没有连接因特网的话,如下图:
这时,如果你输入代码,也不会出现代码提示的功能。
· 连接因特网,重新打开web.xml文件,停顿片刻(XMLBuddy会自动下载web-app_2_3.dtd),然后如图进行操作:
还可以使用“Alt+/”进行代码提示。
· 完成后的代码:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<error-page>
<error-code>
404
</error-code>
<location>
/error.jsp
</location>
</error-page>
</web-app>
怎么样,方便吧!
补充:
如果你打开eclipse目录\workspace\.metadata\.plugins\com.objfac.xmleditor\.cache 下的“f1”文件(不一定是f1这个名称,可能是f2、f3等名称),会发现这个文件就是web-app_2_3.dtd。
· 如果不能连接因特网,或者名称空间中所含的链接是失效的,可以先通过别的途径取得web-app_2_3.dtd文件,比如将它放在D:/xml目录下,然后直接引用即可,如下:
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"file:///D:/xml/web-app_2_3.dtd">
<web-app>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
你可以试试将名称空间(即!DOCTYPE标记)去掉,一样是可以部署在Tomcat中的。
· XMLBuddy还有其它功能,比如“格式化”代码。
三、一些题外话
其它插件,比如Lomboz、JBoss-IDE等虽然也可以编辑XML文件,但就其性能来说,不如XMLBuddy,这里也就不多说了。
但有一点要注意,当安装多个插件后,XML文件的默认打开方式不一定是XMLBuddy了(这是安装JBoss-IDE后的结果),这时,可以选中要打开的XML文件,右击,选择XMLBuddy打开,当下次再打开这个XML文件时,eclipse会默认调用XMLBuddy来操作。当然,也可以选择其它插件打开。你还可以通过修改XML文件的默认打开方式来进行操作(窗口 ->首选项 ->工作台 ->文件关联),甚至可以调用一个外部软件(比如 XML Spy)操作XML文件(如果你认为这些插件都不合心意的话)。
总的来说,XMLBuddy对于XML文档类型为DTD的文件来说,操作还是很不错的,但对于XML文档类型为W3C XML Schema模式的文件来说,就不太好了,当然,你可以使用XMLBuddy Pro版本编辑,不过似乎也不大好用。还好,大部分还是DTD的,这样XMLBuddy还是有的用的。
现在,eclipse下有一个项目,是“Eclipse Web Tools Platform Project”,当前版本是 1.0M3,主要是用来开发J2EE及WEB方面的应用的,当然可以编辑XML文件了。试用了一下还是很不错的,下面给个图来给大家解解渴:
其实,我一直认为,XML文件是程序与程序进行交流的一种方式,但不应该是程序与程序员进行交流的一种方式。我总觉得它太罗嗦了,真是受不了,跟唐僧似的(开个玩笑,放松放松)。所以我一般不大情愿编写XML文件,经常是利用XDoclet来生成XML文件。这些都是题外话了,就不罗嗦了。