如何用Butterfly XML IDE实现XML开发

发表于:2007-05-26来源:作者:点击数: 标签:
使用XSLT进行XML应用程序 开发 和转换是一个复杂的过程,尤其是在您没有使用正确的工具时。Butterfly XML IDE是一个开放源代码工具,它所具有的多种特性,比如利用选项卡打开多个文档、元素完成,以及 测试 XSL转换等,都能够极大地提高进行XML开发的效率。

使用XSLT进行XML应用程序开发和转换是一个复杂的过程,尤其是在您没有使用正确的工具时。Butterfly XML IDE是一个开放源代码工具,它所具有的多种特性,比如利用选项卡打开多个文档、元素完成,以及测试XSL转换等,都能够极大地提高进行XML开发的效率。

Arthur C. Clarke的第三定律是:“任何重要的高深技术都和魔术是一样的(any significantly advanced technology is indistinguishable from magic)”,退一步说,这是一个非常有趣的说法。这种说法确实解释了我们能够接触到的一些有趣的技术,但是它没有能够揭示为什么人们会对任何新鲜事物产生恐惧感。

Terry Pratchett,《Discworld》系列丛书的作者,则总结这样一条定律:“任何重要的高深魔术都和技术是一样的(any significantly advanced magic is indistinguishable from technology)”,这种说法倒是一个比较接近的答案。

所有这些都让我不得不提出一个疑问,一旦您完全弄懂了这些形而上学的东西,那什么是魔术呢?

我支持的观点是,魔术只不过是能够做一些别人无法做到的事情。想想有一个人,比如小丑;我认为小丑能够把动物气球吹起来就是一种魔术。为什么呢?因为即使是在心情不错的日子里,我都无法把这些薄薄的气球吹起来。当然,也许小丑对于我能够做到的一些事情报以同样的想法,但是我从来没有问过他们。事实上,我很害怕问他们,因为如果知道一个小丑能够和我一样很好地完成我所做的工作,这将是一件很难堪的事情。

有些事情有的人可以做到而别的人无法做到,这其中的原因可能有两个。第一个是技能。小丑去读小丑学院,他们在那里花时间学习如何吹动物气球。而我就跟小丑一样在大学里花时间学习如何弄到根密码。第二个是工具。小丑可以使用小巧的打气筒吹气球而不用把肺吹炸,而我就需要问一问小丑在哪里可以弄到打气筒。

吹动物气球的方法同样可以用在其他方面。拿XSLT举个例子吧,唯一的方法的就是不断练习。通过尝试进行各种转换,您可以熟练地掌握这门语言。但是,和吹动物气球不同的是,吹气球的工具大多数人都负担得起,而使用XSLT所需要的工具则相当昂贵。有的XML开发套件的标价可以接近1,000.00美元,这可能影响到您的开发预算。

但是,有一个叫做Butterfly XML的开放源代码替代产品。我不知道您对它的评价是什么样的,但是我认为开放源代码的XML IDE非常好用。

虽然Butterfly XML还远不是一个非常精致的产品,但是它毕竟是一个beta版的产品;它肯定能够完全取代我以前学习XML和XSLT时用到的工具。回头看一看,我只是用记事本和MSXML就学习了所有的东西,这真是一个奇迹!我的意思是说,除了学到的知识,其他的东西简直太糟糕了。Butterfly XML(beta版)还存在一些小的错误,但不影响使用,我都列出来的了:

  • 在编辑的时候没有剪切和粘贴的功能。
  • 不能把转换的结果写到文件里。
  • 还不能够完全支持xsl:output元素。
  • 没有单独的XPath计算器。

虽然上面列出来的问题在某些人看来是不能接受的,尤其是那些荷包暖和,喜欢使用商业软件的人。我却不这么认为。我觉得Butterfly XML是一个很年轻的产品,虽然还不够成熟,但是它的长处超过了它的短处。那么,就让我们来看看它的一些长处吧。

A是初始页面,其中有最近打开的文档列表。

A

初始

对于熟悉其他XML开发工具包的人来说,这个用户界面相当标准。其中有喜欢一次打开多个文档的人非常熟悉的选项卡。这意味着当我不记得需要源代码文档里的哪个节点时,我需要做的只不过是点击选项卡进行查看就行了,如B所示。

B

Butterfly XML里的多个文档

一直在使用文本编辑器而不是其他XML IDE的开发人员会发现Butterfly XML的元素完成既让人爱又让人恨。但是让人恨的东西会很快被解决和替换,因为人们已经通过切身的开发体会到了其中的痛苦,现在Source Forge上已经提供了解决方案

但是,这些问题已经成了过去,因为Butterfly XML的很多新特性能够解决过去的很多问题。我们就以能够以DOM文档和文本文件的形式查看XML文档为例。见CD

C

DOM型式的XML文档

D

文本形式的XML文档

这个和XSLT!

可能是因为我偏爱XSLT的缘故,能够测试XSL的转换能力是给我印象最深刻的特性。当然,结果是无法保存的,但是在实际使用中,像Butterfly XML这样的产品只希望自己是一种开发平台。作为一个开发平台,Butterfly XML因其能够设置断点而备受好评,如E所示。

E

XSL转换中的断点

最后我还想提一个隐藏的特性;因为Butterfly XML是用Java写成的,所以它可以运行在多个操作系统平台上。因此,不论您周末是在使用Linux还是Windows,学习使用一个XML IDE难道不是一件很惬意的事情吗?

希望

虽然不像XMLSpy或者Sytlus Studio这样的产品那么精致,但是Butterfly XML体现出了一些难以置信的发展潜力。是的,它绝对谈不上完美,还有一些瑕疵,但是有哪一款软件是完美的呢?事实上,最近五个月以来我一直都在使用 Butterfly XML。我都等不及它出正式版了。

原文转自:http://www.ltesting.net