新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> XML编辑器,XML解析器,XML开发环境
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML工具及XML开发环境 』 → XML 编辑器综述,第 2 部分 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 17209 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML 编辑器综述,第 2 部分 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     admin 帅哥哟,离线,有人找我吗?
      
      
      
      威望:9
      头衔:W3China站长
      等级:计算机硕士学位(管理员)
      文章:5255
      积分:18406
      门派:W3CHINA.ORG
      注册:2003/10/5

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给admin发送一个短消息 把admin加入好友 查看admin的个人资料 搜索admin在『 XML工具及XML开发环境 』的所有贴子 点击这里发送电邮给admin  访问admin的主页 引用回复这个贴子 回复这个贴子 查看admin的博客楼主
    发贴心情 XML 编辑器综述,第 2 部分

    转载自:
    http://www-900.ibm.com/developerWorks/cn/xml/x-matters/part22/index.shtml

    XML 问题:XML 编辑器综述,第 2 部分   

    重访用于 Windows 的编辑器

    David Mertz,博士(mertz@gnosis.cx)
    Transformer,Gnosis Software, Inc.
    2002 年 12 月

    本文是 David 讨论 XML 编辑器专栏文章的第二部分,它研究了基于 Windows 的产品 — 具体来说,这些产品有:Altova 的 XMLSpy、Wattle Software 的 XMLwriter、NetBryx Technologies 的 EditML Pro 和 Corel 的 XMetal。一年半以前 David 研究过这类工具,那时,这些工具很大程度上只是对文本编辑器进行了“化妆”的封装器,而现在,已经发展成崭新的开发环境,极大地简化了对面向 XML 技术的使用。
    本文继本系列第一篇文章之后又讨论了四种 XML 编辑器。这里所讨论的所有编辑器都是特定于 Win32 的产品。不难想象,这些编辑器将在 WINE、SoftWindows 或类似平台下运行,但我既不在这些平台上测试,也没有重点研究过。

    我在前一篇专栏文章中讨论的 XML 编辑器是 Java 和 MacOS 应用程序。取决于您使用哪种平台,您会发现这一篇文章或上一篇更适合于您。

    更具体地说,上一篇专栏文章讨论了用于 Java 的 Morphon 和 <oXygen/>,以及用于 MacOS 的 ElfData 的 XML Editor。本文继续评估以下产品:

    Altova 的 XML Spy
    Wattle Software 的 XMLwriter
    NetBryx Technologies 的 EditML Pro
    Corel 的 XMetal
    我在上一篇专栏文章中所做的讨论中有一个普遍问题,就是编辑器用户界面的响应能力。Java 可能比较慢,REALBasic(由 ElfData 使用)在这方面与 Java 差不多。我要愉快地报告,我所测试的所有本机 Win32 产品响应都很快,即使在配置很一般的 Win98 膝上型电脑(Pentium II 366 MHz 处理器和 64 MB RAM)上也是如此。有时稳定性成问题,并且转换和验证也不是很迅速,但这些产品的普通界面没有明显停顿。

    正如我在第一部分中提到的,我故意地不讨论通用文本编辑器。这些产品中的一部分非常好,并可以包括从 XML 语法突出显示到模板完成和菜单定制的所有功能。此外,对于文本编辑器所能做的一切,它们通常都能够以比全新的专门 XML 编辑器更成熟和精确的方式做到。如果您乐意在您当前使用的文本编辑器中编辑 XML,这未必是一件坏事。但是一些 XML 编辑器实际上确实使一些常见任务更为轻松(如果要执行很多这样的任务,那么值得花些钱购买定制工具)。

    好编辑器是由什么组成的?

    我在所有这些 XML 编辑器讨论中总结出一个差异。XML 文档有两种主要类型:面向散文的和面向数据的。编辑每种文档的需求都多少有些不同。

    面向散文的文档借用了 XML 的 SGML 根。散文格式通常有许多规则,按照这些规则,节、子节、段、章、图以及其它项目可以彼此嵌套。典型情况下,它将内联的、面向字符的标记用于单个字和短语(粗体、强调、引用和链接等)。DocBook 就是一个著名的并且广泛使用的示例;另一个示例是 IBM 的 developerWorks 内部文章格式(我将两者都用于测试)。

    相反,面向数据的文档很少拥有这样的文本,但包含了数值和简单名称的嵌套类表结构(nested table-like structures)。面向数据的 XML 通常类似于 RDBMS 表,有时就是从此类数据库中生成的。通常,将 XML 看作列和行的能力对于面向数据的 XML 而言很重要。

    一些 XML 编辑器拥有适合于不同文档类型的方式和视图。一些编辑器还有特殊的能力,用以处理广泛使用的 XML“方言”或 XML 文档常用的其它技术。如果您有专门的需求,请考虑给定产品是否有适合于该需求的定制。至少,大多数 XML 编辑器可以自动将自己定制成不同的 DTD;当然,这种定制因产品而异。

    Wattle Software 的 XMLwriter 1.21

    我在 2001 年的综述中讨论过 XMLwriter,现在又再次研究(版本 1.21),发现它从 2001 年以来只作了很少更改。即将发行的版本 2.0 看起来可能会添加某些重要的更新;当撰写本文时,它的估计发行时间已经超过了 Wattle 代表所告诉我的时间。我将关注其发展。

    基本上,XMLwriter 与文本编辑器非常类似,并带有一些特定于 XML 的额外特性。文档仅有的可编辑视图是原文视图(textual view),其中语法是突出显示的(请参阅图 1)。有几种利用 MSXML 和 Internet Explorer DLL 的预览方式 —“可折叠的”树、CSS 显示和 XSLT 转换视图。所有这些预览视图都只是原原本本地嵌入了 Internet Explorer 窗格。特别要注意的是,Internet Explorer 仍不能正确地呈现内联 CSS 元素(Mozilla 和 Opera 完美地实现了这一点),这使得该视图对于面向散文的文档的可用性大大削弱了。当然,如果您碰巧开发了针对 (X)HTML 的 XSLT 表,则可以得到良好显示。XMLwriter 根本不对面向数据的编辑提供任何支持。

    图 1. XMLwriter 编辑器


    此主题相关图片如下:
    按此在新窗口浏览图片

    除了文本编辑器特性以外,XMLwriter 还拥有以下选项:验证和良好格式检查、XSLT 转换、浏览器预览以及项目(相关文件的集合,包括:XML、XSL、CSS 和模式等)的概念。与我研究的大多数其它产品相比,该产品的额外特性比较薄弱。TagBar 是插入元素的工具,它多少有些笨拙;输入属性时没有帮助;验证是严格地事后进行;搜索对话框极其粗糙(没有正则表达式、XPath 或即使是特定于元素/属性/值的搜索)。XMLwriter 所能做的所有事情,象 jEdit 这样通用的、免费的用于程序员的编辑器几乎都能做得更好。

    XMLwriter 版本 1.21 的价格大约是 40 美元。我不知道版本 2.0 将如何定价。

    NetBryx Technologies EditML Pro 2.6

    EditML Pro 是另一个相当简单的 Win32 XML 编辑器,但比 XMLwriter 更成熟一点。类似于 XMLwriter,它是一个包含 MSXML 和 Internet Explorer DLL 的相对较“瘦”的封装器,并包含了它们所带有的各种错误。遗憾的是,EditML Pro 自身也引入了几个错误,譬如,尽管我努力地禁用 DTD Element View 窗格,但它仍然照常自行打开(也许这种行为是从臭名昭著的 Microsoft Office paperclip 借用的)。

    在 EditML Pro 中,您可以获得几种视图,它们都在与 XML 文档相关联窗口的选项卡形式的窗格中排列。该产品使用 MDI 样式的界面来管理多个文档,每个窗口都有其自己的选项卡。类似于大多数工具,这里有一个基本的突出显示语法的 SourceView 窗格。该产品还有 PreView(嵌入 Internet Explorer 中)和 DTDView 窗格。但主视图是带表的树视图。文档的结构在一个窗格中以可折叠的树层次结构显示,而任何属性或元素主体在另一个窗格的表中显示。第三个带表的树窗格用来编辑较长的属性值或主体文本。

    图 2. EditML Pro 编辑器

    此主题相关图片如下:
    按此在新窗口浏览图片

    EditML Pro 的带表的树视图对于编辑面向数据的文档很有用,但对于编辑面向散文的文档实际上是毫无用处。问题在于将内联标记作为子元素处理,技术上讲这样是对的,但这样却使您不能决定 PCDATA 节点和子元素节点之间的关系了。例如,在图 2 中,<author> 元素包含一些文本,而文本中有 <img> 和 <a> 子元素。在这个视图中,您根本无法确定与文本相关的图像和链接出现在哪里。

    EditML Pro 包括一些有用的工具。您可以:

    从 XML 文档(遵从那些可能自动生效的限制)自动生成 DTD 或 W3C XML Schema。
    将 DTD 转换成 W3C 或 Microsoft 模式。
    验证和执行 XSLT 转换。
    使用非常好的 XPath 搜索工具。如果您希望通过对话框组成搜索(尽管我没有发现这样做有任何好处),它甚至还为您添加了“XPath Query Builder”。
    在 SourceView 中进行简单的文本搜索。
    EditML Pro 单用户版的价格为 75 美元。

    Altova XML Spy(Suite)4.4

    XML Spy 是很容易给人留下深刻印象的产品 — 或者不如说是相关产品的集合。当我 2001 年讨论 XML Spy 的较早版本时,就已经非常喜欢这个产品了,但从那时以来,Altova 添加了大量特性,几乎令人激动得手足无措。当然,因为有这许多特性,您购买该产品是物有所值的。我在这里讨论的产品中,XML Spy 的价格比其它工具都贵得多(除了 XMetal 以外,其价格与 XML Spy 差不多,并有一些类似的特性)。对于偶尔涉足 XML 的开发人员,XML Spy 或许过于强大了;但对以处理各种 XML 技术为日常基本工作(在 Windows 平台上)的开发人员而言,有必要安装这个极好的工具。它甚至就连介绍 XML 技术的各种可打印的简介也做得很漂亮。(这些文档是作为评论用途送给我的,也可以在 Altova 的网站上免费获得。)

    缺省情况下,XML Spy IDE 打开大量窗格,包括关于项目的信息、当前属性、可插入元素、其它信息,以及压缩在 IDE 当中的实际工作区域。在 1024x768 的显示上没有足够的空间来容纳所有这些窗格,但仍然显示了足够大的工作区域及其各种选项卡视图 — 21 英寸监视器可能足够容纳这一切,但我对试图在 VGA 屏幕上使用这种产品的想法感到“不寒而栗”。幸运的是,可以有选择地或全部地关闭所有这些窗格。

    图 3. XML Spy 编辑器

    此主题相关图片如下:
    按此在新窗口浏览图片

    在主工作区域内,XML Spy IDE 为您提供了丰富的视图集合 — 几乎可以说是我所研究的其它所有 XML 编辑器的超集。您可以获得以下视图:

    标准文本视图
    文档编辑器视图
    浏览器视图(它是人们熟悉的、有缺陷的嵌入式 Internet Explorer CSS/仅树型预览显示)
    模式设计视图
    缺省视图,增强的网格视图
    图 3 中显示了缺省视图;它向您提供了折叠子元素、编辑主体和属性以及区分节点类型的能力。

    增强网格视图智能地决定何时将子节点作为表而不是树显示更好(您可以重设该选项)。对于面向散文的编辑,增强网格可能并不理想,但与 EditML Pro 不同,该产品仍然让您轻松地标识和编辑内联的、字符级标记。对于面向散文的 XML 文档,您可能希望使用这样的文档编辑器视图:它使用 XSLT 样式表以类似字处理器的方式格式化显示。您也可以选择在文档编辑器视图中嵌入图形图标来表明标记开始和停止的位置(源于 XMetal 的概念)。对于这种文档编辑器视图,我更愿意使用 CSS 而不是 XSLT,但如果您拥有整个 XML Spy Suite,则您可以使用 XSLT Designer 来创建排版视图,而不必手工调整 XSLT。

    XML Spy 中的实用程序既丰富又组织良好。您可以:

    进行 XSLT 转换
    从 XML 生成 DTD 和模式,或在两者之间进行转换
    基于 XPath 进行搜索,并显示多个匹配,类似于 <oXygen/>
    抽取光标位置的 XPath
    搜索主体、属性、值或注释中的文本,但没有正则表达式
    在文本视图中,在适当的位置弹出允许的元素(这点也象 <oXygen/>)。
    轻松地检查格式的良好性和有效性
    在编辑时一直关注插入对话框来保持文档有效
    尽管 XML Spy 的特性和用户界面都很棒,但值得注意的是该产品有一点稳定性问题。每隔一会(在我的装有最新 OS 和 Internet Explorer 补丁的 Win98r2 测试机器上),IDE 和 XSLT Designer 都会冻结,并必须手工杀死(不作保存)。我试图安装额外的 Apache FOP 支持以便能够产生 PDF/PS 输出,但没有成功。实际上,这是一种经常冻结 XML Spy IDE 的操作(我有直觉:问题和我的 Java 安装有关,该安装可能使它不能工作,但应该不会锁住应用程序)。

    XML Spy Suite 单用户版的价格是 399 美元。也可以仅购买 XML Spy IDE 本身,而不带其它组件,价格是 199 美元。其它组件也可单独购买。

    Corel XMetal 3

    我只是在研究了这里讨论的所有其它产品之后,才设法获取 XMetal 3 的副本;因此我没有将 XMetal 和其它工具进行直接的逐个特性的比较。我在 2001 年的综述中讨论了 Softquad 的 XMetal,这是在 Corel 并购 Softquad 之前的事了。该产品最让我喜欢的地方是它成熟的和有用的类似字处理器的视图(无论有没有嵌入式图形标记显示)。XMetal 的版本 2 和 3 之间没有太多更改。

    在我讨论的所有产品中,XMetal 的价格是最贵的,并且它所针对的用户群体和其它产品多少有些不同。XMetal 实际上并不打算成为通用的 XML 编辑工具,而是要成为可编制脚本的编辑环境。据我判断,Corel 预料开发人员将用 XMetal 创建复杂的定制编辑应用程序,然后这些应用程序又被提供给技术水平较低的用户,对于他们隐藏了底层 XML — 但为他们配置了定制宏、按钮、菜单以及其它界面。也可以用类似方式使用 XML Spy,但这并不是 Altova 的侧重点。我没有评估 XMetal 在应用程序开发框架方面的价值,而只是将它作为 XML 编辑环境。

    XMetal 的基本界面类似于 XML Spy。各种窗格可用来表示项目、资源、可插入元素以及属性值。在主文档窗口中,有四种视图可用:

    文本视图
    字处理器视图
    带标记的字处理器视图,如图 4 所示
    基于 Internet Explorer 的预览
    我特别喜欢同时看到可视的字体选择和结构化标记 — Morphon 和 XML Spy 也有传递类似信息的选项

    图 4. Corel XMetal 编辑器

    此主题相关图片如下:
    按此在新窗口浏览图片

    除了主文档窗口,您可以打开显示文档层次结构的可导航树窗口。XMetal(类似于 Morphon 而不象 XML Spy)用 CSS 来配置其图形显示,并具有导航和选择 CSS 样式的工具。我更喜欢 CSS 的这种用法而不是 XSLT 方法。此外,不象所有嵌入 Internet Explorer 用于 CSS 视图的工具,XMetal 可以正确地(在可编辑视图中)显示内联的 CSS 元素。

    除了一些有用的编辑视图,XMetal 显得有些“单薄”,除非您希望定制编程应用程序。XMetal 带有关于用多种语言对其环境进行脚本编制的很厚的参考书籍,但对于 XSLT 操作、复杂搜索、POF 输出到 PS/PDF 或特殊 XML“方言”则缺乏内置的便利菜单。基本验证和良好格式检查没什么特别的地方。提醒一下,它的 API 足以编制所有这些和更多功能的脚本 — 但那是开发项目而不是唾手可得的工具。甚至 XMetal 定制侧重点,我也不介意花 495 美元来看到一些更出色的内置便利工具。

    结束语

    目前,开发人员可以使用的 XML 编辑器的范围很广。在高端,象 XML Spy 和 XMetal 这样的工具为使用 XML 技术的程序员提供了完整的开发环境。您可以利用菜单完成您的每项 XML 工作 — 在 XML Spy 中尤其是如此。象 Morphon、XMetal 和 XML Spy 这样的工具也允许您象使用字处理器一样使用 XML。甚至低端工具也能有效地辅助 XML 文档的定制创建和修改。在这些低端工具中,我最喜欢的可能是基于 Java 的工具 <oXygen/>,它可以跨 OS 平台运行,并且购买起来也很便宜。

    参考资料

    请通过单击文章顶部或底部的讨论参与本文的论坛。


    请阅读本系列文章XML 编辑器,第一部分,它讨论了 Java 和 MacOS 应用程序,具体来说是 Morphon Technologies 的 Morphon 2.0.5、SyncRO 的 <oXygen/> 1.2.1 和 ElfData 的 XML Editor 1.14(developerWorks,2002 年 8 月)。


    请阅读 David 先前关于 XML 编辑器的比较性综述“XML 编辑器综述”(developerWorks,2001 年 1 月)。


    http://xmlwriter.net/ 找出更多关于 Wattle Software 的 XMLwriter 的内容。


    请在 http://www.editml.com/ 阅读关于 NetBryx Technologies 的 EditML Pro 的内容。


    http://www.xmlspy.com/ 更详细地研究 Altova 的 XML Spy。


    http://www.xmetal.com/ 了解 Corel 的(以前是 Softquad 的)XMetal。


    可在 http://www.jedit.org/ 获得 jEdit(开放源码的程序员文本编辑器)。


    阅读 XSL 的 W3C 规范中的格式化对象。


    在 Vervet Logic 网站上查找关于 XML Pro 的信息。


    在 developerWorks XML 技术专区获取更多 XML 参考资料。


    请查看 IBM WebSphere Studio Application Developer,这是一种易于使用的集成开发环境,用于构建、测试和部署 J2EE 应用程序,包括从 DTD 和模式生成 XML 文档。


    成为 IBM 认证的 XML 及相关技术的开发人员。


    在 David Mertz 的 XML 问题专栏中查找其它文章。

    关于作者
    David Mertz 肯定是将他的 MacGuffin 错放到另一篇文章中了。不久它一定会再次露面。可通过 mertz@gnosis.cx 与 David 联系;在 http://gnosis.cx/publish/ 上了解他的生活。欢迎提出关于过去、现在和将来专栏的意见和建议。


       收藏   分享  
    顶(0)
      




    ----------------------------------------------

    -----------------------------------------------

    第十二章第一节《用ROR创建面向资源的服务》
    第十二章第二节《用Restlet创建面向资源的服务》
    第三章《REST式服务有什么不同》
    InfoQ SOA首席编辑胡键评《RESTful Web Services中文版》
    [InfoQ文章]解答有关REST的十点疑惑

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2003/12/30 20:23:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML工具及XML开发环境 』的所有贴子 点击这里发送电邮给Google AdSense  访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/4/27 17:25:35

    本主题贴数1,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms