1.4 XML的编辑工具

前面已经提到,XML只是一种简单的文本文件,并无任何特殊之外,因此开发者完全可以使用普通的文本工具来编辑XML文档。当然,选择一款专业的XML编辑工具则更加事半功倍。

1.4.1 普通文本编辑工具

由于XML文档只是普通的文本文件,因此完全可以采用普通文本编辑器来编辑XML文档,例如使用Windows下的“记事本”(不是“写字板”)来编辑XML文档。不过“记事本”只是最简单的文本编辑工具,它甚至不支持最基本的语法高亮。因此通常推荐使用EditPlus或UltraEdit来编辑XML文档,这两个工具都可为XML提供基本的语法高亮支持。

以EditPlus为例,单击“文件”菜单里的“新建”菜单项,然后单击二级菜单中的“其他…”菜单项,将弹出图1.5所示对话框。

alt

图1.5 选择文件类型

单击“确定”按钮,即可进入XML编辑界面。EditPlus只是一个简单的文本编辑工具,并未为XML文档提供更多额外的支持。所有XML标签、内容都必须由开发者手动编辑,图1.6是使用EditPlus编辑XML的界面。

alt

图1.6 使用EditPlus编辑XML文档

从图1.6中可以看出,当我们使用EditPlus编辑XML文档时,EditPlus可以为XML提供语法高亮显示。除此之外,EditPlus对XML的支持与“记事本”没有区别。

1.4.2 XMLSpy简介

XMLSpy是一个非常出色的XML编辑器,它支持以“所见即所得”的方式来编辑XML文件,支持Unicode、UTF-8等多种字符集。不仅如此,它还支持创建Java Web、EJB等组件的配置描述文件。

XMLSpy支持对XML进行验证,它支持验证Well-formed(格式良好的)和Valid(有效的)两种XML文档。XMLSpy对DTD(Document Type Definition,即文档结构定义,早期用于为XML文档定义语义约束的工具)、Schema(有些地方也翻译为模式,为XML定义语义约束的主流工具)等语义约束工具提供了良好的支持,既可为现有的XML文档生成对应的DTD或Schema语义约束文档,也可根据DTD或Schema生成XML文档结构。

XMLSpy还提供了强有力的样式表设计,既可编写CSS,也可编写XSLT等样式单,对XSLT 1.0和XSLT 2.0都提供了良好的支持,并集成了功能强大的XSLT调试工具。

XMLSpy对XQuery也提供了强大的支持,包括集成的XQuery环境,并允许直接浏览XQuery的查询结果。

XMLSpy对SOAP和WSDL的支持也非常出色,这两者都是Web Service的基础。XMLSpy提供了专门的SOAP调试器和WSDL编辑器来提供对Web Service的支持。

1.4.3 使用XMLSpy编辑XML文档

使用XMLSpy编辑XML文件非常简单,不过首先应该下载和安装XMLSpy。读者可以登录http://www.altova.com/download.html下载XMLSpy试用版,安装XMLSpy和安装普通程序没有任何区别,此处不再赘述。

安装了XMLSpy之后,就可以利用该工具来编辑XML文档。单击“File”菜单下的“New…”菜单项,将弹出图1.7所示对话框。

alt

图1.7 新建普通XML文档

如图所示,使用XMLSpy可以新建多种XML文档,包括EJB 2.0部署描述文件和Servlet 2.3部署描述文件等。选中“Extensible Markup Language”选项,然后单击“OK”按钮,将弹出图1.8所示对话框。

alt

图1.8 为XML文件选择DTD或Schema

如果需要为新建的XML文档使用DTD作为语义约束,则选择“DTD”单选框后单击“OK”按钮;如果需要为新建的XML文档使用Schema作为语义约束,则选择“Schema”单选框后单击“OK”按钮;如果不想使用任何语义约束,则直接单击“Cancel”按钮即可。不管用户单击哪个按钮,都将进入XML编辑窗口。

XMLSpy是一款专业的XML编辑器,提供了“代码补齐”功能:开发者手动输入开始标签后按回车键,XMLSpy将会“自动补齐”结束标签。通过该功能可以极好地提高XML开发效率。图1.9显示了使用XMLSpy编辑XML文档的界面。

alt

图1.9 使用XMLSpy编辑XML文档

由于上面的XML文档并未指定DTD或Schema作为语义约束,因此只可能是Well-formed(格式良好的)文档,单击XMLSpy工具条上的alt按钮(或按键盘上的F7键),即可验证该XML文档是否为Well-formed文档。如果该文档是格式良好的XML文档,则在XMLSpy窗口下方可看到图1.10所示提示信息。

alt

图1.10 提示格式良好

1.4.4 Stylus Studio简介

Stylus Studio是一款XML集成开发工具,可以非常方便地编辑、调试XML。不仅如此,它还提供了优秀的DTD、Schema设计工具,可帮助开发者快速定义DTD和Schema,甚至允许以图形化的方式来设计XML Schema。

Stylus Studio对XSLT也提供了很好的支持,不仅包括功能强大的XSLT编辑、调试工具,还提供了所见即所得的XML-to-HTML设计工具。

Stylus Studio还提供了先进的XQuery编辑器和调试工具,以及独特的XML-to-XML mapper。除此之外,Stylus Studio对Web Service也有很好的支持,提供了XML制图器、XML差异分析、XML转换数据库,以及带有双向同步编辑功能的直观编辑浏览支持等,还包括Java代码生成、EDI/EDIFACT/X12到XML映射、XML Schema编辑器和XML表格浏览等,还提供了将纯文本文件、二进制文件以及其他数据格式的数据源转换为XML的功能。

1.4.5 使用Stylus Studio编辑XML文档

使用Stylus Studio编辑XML文件非常简单,不过首先应该下载和安装Stylus Studio。读者可以登录http://www. stylusstudio.com/xml_download.html下载Stylus Studio试用版,安装Stylus Studio和安装普通程序没有任何区别,此处不再赘述。

安装了Stylus Studio之后,就可以利用该工具来编辑XML文档。单击“文件”菜单下的“建新”菜单项,将出现图1.11所示二级菜单。

alt

图1.11 新建XML文档


alt提示

从图1.11中可以看出,Stylus Studio的中文翻译很拗口,例如“New”菜单项,习惯上翻译为“新建”,但它却翻译为“建新”,这可能是因为Stylus Studio的国际化做得不够好:虽然Stylus Studio软件自动支持多国语言,但是翻译出来的汉语说法实在不敢恭维。


单击“XML文档”菜单项,将进入XML编辑界面,如图1.12所示。

alt

图1.12 使用Stylus Studio编辑XML文档

与XMLSpy类似,Stylus Studio也是一款专业的XML编辑器,也提供了“代码补齐”、“代码对齐”等功能:开发者手动输入开始标签后按回车键,Stylus Studio将会“自动补齐”结束标签,开始标签和结束标签将在同一列对齐。当开发者为指定元素输入子元素时,子元素将自动缩进4个空格,以保证良好的代码风格。

由于并未指定DTD或Schema作为语义约束,因此上面的XML文档只可能是Well-formed文档。单击工具条上的alt按钮(Stylus Studio称该按钮为“检查良构”),即可验证该XML文档是否为Well-formed文档。如果该文档是格式良好的XML文档,将可在Stylus Studio窗口下方看到图1.13所示提示信息。

alt

图1.13 提示格式良好(良构)