作为互联网的新技术,XML的应用非常广泛,可以说XML已经渗透到了互联网的各个角落。随着XML技术本身的成熟和应用领域的不断扩大,相关的工具也如雨后春笋不断地被开发出来。下边笔者就为各位介绍现有的、较有代表性的XML的实用工具。
一. XML浏览工具
1. Internet Explorer
相信大家对IE都十分熟悉,它是Micorsoft公司开发的Web浏览器,是当今两大主流浏览器之一。IE最先支持XML,支持命名空间,并在IE 5.0开创了XML+CSS、XML+XSL的Web浏览方式,使得浏览XML网页终于梦想成真。
不过IE对CSS的支持已经落后于后面将要介绍的Mozilla Firefox浏览器了。
IE版本升级到 6.0后,其对XSLT 1.0标准提供完全的支持。
IE可以直接加载不包含样式信息的XML文档。这时,浏览器将显示外观良好的树形结构,并带有小小的+- 图标,点击图标,可以将子树隐藏或展开。实际上,这就是IE的缺省样式单。通过缺省样式单,可以快速查看别人的XML文档,并能获得对XML文件的内容和结构的感性认识。
IE本身是不支持XML文档的有效性检查的。为此,微软还提供了一个称为IE Tools插件,安装了这个插件后,在IE的右键菜单中就增加了Validate XML和View XSL Output两个功能菜单。
IE自身不支持SVG格式文件的显示,如果需要使用IE显示SVG格式文件,必须用户自行安装Adobe 公司提供的一个SVG浏览器插件 SVG Viewer。
2. Mozilla Firefox
Firefox是由Mozilla基金会(Mozilla Foundation)旗下主推的一款Web浏览器。Mozilla基金会起源原来的网景公司内部的一个称为Mozilla组织。网景公司的著名Web浏览器NetScape Navigator在其公司内部一直都被称为Mozilla,后来由于和微软公司的IE浏览器的竞争中失败,网景公司关闭,将所有业务转给非盈利的Mozilla组织,并最终建立Mozilla基金会。
Firefox 是一种相对较新的 Web 浏览器,目前是基于 Mozilla 平台的最流行的浏览器。它的成长速度异常快速,并且它是开放源码软件取得成功的代表。Firefox承诺为 XML 开发人员提供完善的Web浏览器,帮助推动在Web上发展缓慢的客户端XML特性的采用。必须要记住,目前很多Web技术的发展,包括Firefox浏览器特性的发展,都使得Web浏览器逐渐发展为完整的专用应用程序开发平台,而不再是简单的Internet浏览工具。
Firefox 不支持DTD验证或其他任何验证技术,如 W3C XML Schema (WXS) 或 RELAX NG。
Mozilla系列的浏览器一向都对CSS技术具有良好支持。Firefox支持CSS2的大部分内容,并对CSS3的提供了更多支持。虽然CSS3 目前仍处在 W3c 工作草案阶段,但是因为CSS3采纳了 Web 开发人员迫切需要解决的很多问题,包括对 XML 结构更好的支持。所以Firefox对CSS3的支持是很有价值的。
Firefox提供可缩放向量图形(SVG)的自身支持,不过只对SVG 1.1 Full 的一个子集的支持。相对于其他的浏览器而言,Mozilla Firefox是对SVG支持力度最大的一款浏览器了,无需安装SVGViewer插件就能显示SVG格式文件。
Mozilla Firefox全方面的支持XML相关标准,包括支持CSS、XSLT、命名空间、Xlink、Xpoint、MathML、Xform以及部分SVG等标准及规范,并因为其对DOM有很好的底层支持,而使得XML变得真正可用。
3. W3C的试验基地——Amaya
值得一提的是W3C的试验系统Amaya,可能很多读者对它都不熟悉。Amaya是W3C自行开发的网页工具,既可以作为XML浏览器,也可以作为XML编辑器,且具有所见即所得的界面风格。
开发Amaya的目的是要建造一个W3C提出的草案或标准的“试验基地”,因此,它对XML及各项草案和标准的支持最新,也较为全面。目前Amaya已经发展到10.0版本,支持HTML、XHTML、MathML、部分SVG和CSS,可能是支持网页标准最多的一个浏览器。
#p#
二. XML编辑工具
1.XML Spy
Icon Information-Systems公司的产品,提供集成开发环境IDE,但不支持所见即所得。支持Unicode、多字符集,支持格式良好的和有效的XML文档。可编辑XML文档、DTD、schema,以及XSLT。
XML Spy提供了四种视窗:结构视窗以树形结构编辑XML文档(包括XML、XSL、DTD文档);增强表格视窗以表格的方式显示出文档中元素的数据库项;源代码视窗可以查看和修改文档源码;预览视窗采用内嵌IE5的方式在软件内对XML文档进行浏览,支持CSS和XSL。
XML Spy可运行在Windows95982000和WindowsNT环境。
2.VisualXML
由Pierre Morel开发,以树形结构显示XML、DTD、DOM文档;实现同数据库的集成,并可通过Wizard方式进行数据库的浏览、SQL语句和存储过程的创建和执行;以图形界面实现XML元素同数据库对象的绑定,同时创建XML文档和DTD文档;支持多种数据库,如Oracle、Access、SQL Server、Informix、Sybase、DB2。
该软件的运行环境是Java (JDK 1.1)。
3.EditML
EditML Technologies开发的产品,是Windows平台上的XML编辑器,可以用于创建有效的及格式良好的XML数据文档,Schema文档或者XSL样式单。它使用Microsoft的MSXML分析器,遵守W3C的XML1.0标准。
#p#
三. XSL编辑工具
1. Excelon Stylus
是eXcelon公司开发的第一个可视化XSL编辑软件。
eXcelon Stylus是一个面向XSL编辑,集创建、管理、保存于一体的集成环境,使用它用户可以快速、简便地创建XSL样式单,并可以很方便地进行调试。使用Stylue可以进行XML商务开发。
2.IBM XSLEditor
IBM公司的alphaworks开发,是交互式XSL编辑软件,支持XSLT与XPath。有四个主要的窗口完成XML编辑、XSL编辑、结果树显示和XPath匹配。
该软件要在JAVA环境中运行,要求安装有JDK1.1版本。
#p#
四. XML分析工具
XML分析器承担着对XML文档处理的第一道处理工序,它将XML文档中的数据提取出来,组织成树状结构,再送到应用处理程序、浏览器等后期工序中去。
使用标记的关键因素
首先,必须有一个标准,用它来描述什么是有效的标记。在上面例子中,标记行为使用被定义为在文字上的黄色荧光墨水印迹。而在HTML中,标记行为使用就是所谓的“标签”(tag)。
其次,还要有一个标准描述每个标记行为的具体含义。上面例子中的黄色荧光加亮标记意味着被加亮的句子很重要。而在HTML中,每一个标签都表明了一种显示的格式。
XML分析器可以分为两类
支持有效性检查的分析器:此类分析器在检查文档是否符合"格式良好的"基本要求的基础上,进一步结合DTD检查文档是否符合DTD中对文档结构的规定,判定这个文档是否是"有效的"。分析器必须读入并分析出整个DTD,外加XML文档中所有的外部已分析的实体引用。并报告出文档与DTD声明相冲突的地方,以及不满足DTD有效性约束的地方。
不支持有效性检查的分析器:这一类分析器只负责检查XML文档是否满足格式良好的语法规定,包括XML文档中内含的内部DTD文档是否满足格式良好的规定。此类分析器不会对XML文档所引用的外部DTD文档进行分析、进而检查XML文档的有效性,但对于出现在XML文档内部的DTD子集,却仍旧需要进行部分分析,因为在对格式良好的文档进行分析时需要使用内部DTD声明中的信息,包括使用内部实体替换正文、提供缺省属性值等。
无论是哪一类分析器,都要求检测文档或已分析实体是否有与格式良好的XML文档定义相互冲突的地方。
1. IBM XML4J
目前,大多数XML分析器都是免费的,一些大的公司,如Microsoft、IBM、DataChannel、Textuality等,都根据当前的官方推荐标准(DOM)以及一些民间事实标准(SAX)开发了自己的XML分析器,并提供免费下载。其中首推的当属IBM XML4J。
IBM公司的XML4J完全是用JAVA开发的,它曾经是功能比较全面且支持有效性检查的XML分析器之一。它遵守XML1.0标准、最新的DOM、SAX、命名空间的标准,提供多语种支持,支持XML的有效性检查,支持元素识别、DOM创建、错误处理等。
除此以外,IBM还用C 编写了XML分析器,称为XML4C。
2. Xerces
Xerces是Apache 软件基金会(Apache Software Foundation)的XML项目的一部分,它分别使用Java、C++和Perl编写了XML的分析器,也支持有效性检查。使用Java编写的XML分析器被称为Xerces-J。使用C++编写的XML分析器被称为Xerces-C或Xerces-C++。
Xerces的前身是 IBM 的XML项目,其中XML4C 和 XML4J 是两个并列的项目,而 XML4J 是Xerces-J的前身。IBM 将这两个项目的源代码让与 Apache 软件基金会,Apache 软件基金会将其分别改名为 Xerces-C++ 和 Xerces-J。这两个项目是 Apache XML 项目组的核心项目。
Xerces-J 2.0以后的版本也被称为Xerces2-J。
3. Oracle的XML Parser
Oracle的XML分析器同样是使用Java编写,它支持通过SAX或DOM进行XML文档的语法分析,可以选择是否对文档的有效性进行检查。Oracle 在用于 Java、C、C++ 和 PL/SQL 的XML开发者工具箱(XML Developer's Kits,XDK),中提供了 XML 分析器。每个分析器都是独立的 XML 组件,这些组件分析 XML 文档(或独立的 DTD),以便应用程序能够对其进行处理。分析器支持 DOM(文档对象模型)和 SAX(XML 的简单 API)接口、XML 命名空间、验证和非验证模式以及 XSL 转换。在所有 Oracle 平台上都可以获得这些分析器。
4. Microsoft的MSXML
微软XML分析器已经内嵌入IE4和IE5及以上版本,它的发布实际上早于XML1.0版本的最终颁布。MSXML支持一般的语法检查,但同时也提供有效性检查供选择,它利用JAVA将一个XML文档中的数据组织为树型结构。MSXML的最新版本为MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)。 3.expat
expat是James Clark实验室的开发项目,用C写成,目前正尝试用于Netscape Nevigator 5和Perl中,以便在Netscape的下一个版本中对XML提供支持。
5. JDOM
JDOM是一个开源项目,它基于树型结构,利用纯Java的技术对XML文档实现解析、生成、序列化以及多种操作。
JDOM 直接为Java编程服务。它利用更为强有力的Java语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来。在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处理XML文档将是一件轻松、简单的事。
JDOM 在2000年由Brett McLaughlin和Jason Hunter发布,以弥补DOM及SAX在实际应用当中的不足之处。这些不足之处主要在于SAX没有文档修改、随机访问以及输出的功能,而对于DOM来说,Java程序员在使用时来用起来总觉得不太方便。DOM的缺点主要是来自于DOM是一个接口定义语言(IDL),它的任务是在不同语言实现中的一个最低的通用标准,并不是为Java特别设计的。
6. DOM4J
DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义:Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
虽然DOM4J代表了完全独立的开发结果,但最初,它是JDOM的一种智能分支。它合并了许多超出基本XML文档表示的功能,包括集成对XPath支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项,它通过DOM4J API和标准DOM接口具有并行访问功能。
为支持所有这些功能,DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的collections 类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。
7. 其他XML分析器
除了前面讲到的种种支持有效性检查的分析器外,不少公司还开发了“中级版本”。这些分析器虽然并不支持有效性分析,但因对“格式良好的”种种规则的检查充分而富有特色,也是不错的分析器。
#p#
五. 图形应用工具
1.IBM SVGViewer
IBM公司alphaworks开发,该软件的主要功能有:基本图形、路径(Path)、图形勾边(Stroke)、图形填充(fill)、文字字体字号、字的轮廓填充、图象、Path裁剪、链接、对象成组。
该软件在运行时要安装JAVA2.0以上的运行环境和IBM的XML4J XML分析器。
2.CSIRO SVG Viewer
由CSIRO开发,对图形的支持较好,对SVG的支持功能有基本图形、路径(Path)、图形勾边(Stroke)、图形填充(fill)、文字的字体字号、图象、Path裁剪、链接、对象成组、嵌入JavaScript。
3.支持SVG的其他工具
Corel公司的CorelDraw9.0配备了SVG的过滤器,可生成含有SVG的网页。
Adobe Illustrator9.0也支持SVG。
Adobe公司开发出两大主流浏览器IE和Netscape的SVG插件。
#p#
六. WAP应用工具
1. UP.SDK for WML
由Phone.com提供的,支持WML1.1。UP.SDK包含有文档说明、工具和编码样例,帮助开发者在Phone.com 的UP.Link 平台上开发WAP应用程序。
在该开发包中还有一个UP模拟器,可以模拟手持设备上网。
该开发包的运行平台是 Windows 9598及Windows NT 4.0。
2.Nokia WAP开发包
由Nokia提供的WML开发包,由两部分组成, WML编辑器和Nokia手机的模拟器,可以边调试边显示。
软件的运行环境是JAVA,对中文有所支持。
3.Wappage
由Wapmine.com公司开发,是一个交互式的所见即所得WML编辑软件。支持项目管理,并有多个视窗方便用户编辑。用户不需要知道详细的WML标记就可以进行操作,也允许直接修改WML代码。对于Card的管理也用树形结构表示。
该软件的运行平台是Windows9598NT。
#p#
七. 电子出版工具
1. Microsoft Reader
Microsoft开发出的一种专门的eBook阅读软件Microsoft Reader,支持OEB1.0。
Reader的最大特色就是首次使用了Microsoft对于字符显示的研究新成果ClearType,它是一种能使文字在显示器上的显示效果象印在纸上一样平滑清晰的字符技术。
2.ReaderWorks standard
ReaderWorks.com推出的支持Microsoft Reader的软件,它可以生成Reader可读的文件格式,可将HTML、TXT等格式文件转换为Reader格式,让用户生成自己的eBook。
附言:以上就是笔者为你汇总的现有的各种XML实用工具,如有遗漏或者最新版本,还望补充!
【编辑推荐】