通过 Eclipse 发挥 XML 的威力 (1/2)

转载 2004年09月16日 12:36:00
本文概述了 Eclipse 平台如何支持 XML(可扩展标记语言,Extensible Markup Language)开发。Eclipse 并不直接支持 XML 代码编辑。然而,因为 Eclipse 是一个用于构建开发人员工具的与平台无关的框架,因此可以相对容易地添加对新语言的支持。

已经开发出了许多 XML 插件,新的插件也不断得以创建。本文主要讨论名为 XMLBuddy 的插件,因为它丰富的功能集合包含 XML 文档开发所需的大多数功能。我们也会提到其它插件,这些插件能为特定任务提供更丰富的用户选项集。本文将使您熟悉基本的 XML 编辑功能,但要记住:Eclipse 是一个可以让无数工具和功能为您所用的动态框架集。

Eclipse XML 编辑器
Eclipse 已经包括一个非常简单的 XML 编辑器的源代码,这个编辑器只提供 XML 语法的突出显示。它继承 org.eclipse.ui.editors 包中包括的类,这个包为 Eclipse 平台提供一个标准文本编辑器和基于文件的文档提供程序。这个简单的 XML 编辑器起着代码示例的作用,您可以把它作为自己的 Eclipse XML 插件的基础。它的源代码只能通过 Eclipse 项目向导生成,您需要按下面所描述的自己编译它。

要构建这个基本 XML 编辑器,转至菜单 File => New,然后选择 Project。在项目向导中,选择 Plug-in Development => Plug-in Project

如果看不到 Plug-in Development 选项,则表示 Eclipse 平台 Runtime Binary 没有 Plug-in 开发环境。请到 eclipse.org 下载页面(请参阅本文后面的参考资料以获得链接)下载 Eclipse 平台 Plug-in SDK。

单击 Next。给项目命名(如 org.my.eclipse.xmleditor),单击 Next,然后接受屏幕 Plug-in Project Structure 上的缺省值。接下来选择 Create a plug-in project using a code generation 向导,然后选择 Plug-in with an editor 选项。向导会自动生成该 XML 编辑器的源代码。

但仍需编译它。单击 Next,然后在下一屏幕 Simple Plug-in Content 上单击 Finish 选项;转至 Project 菜单并选择 Rebuild All 来构建该项目。

接下来需要使用 File => Export 菜单创建 editor.jar 文件。请退出 Eclipse,然后复制整个 org.my.eclipse.xmleditor plugin 目录。当您再次运行 Eclipse 时,可将一个 XML 文件添加到您的项目中,了解 XML 语法突出显示是如何工作的(请参阅图 1)。请记住这个样本 XML 编辑器未提供任何一种验证或语法检查。

图 1. 由 Eclipse XML 编辑器提供的简单的语法突出显示
由 Eclipse XML 编辑器提供的简单的语法突出显示

用 XMLBuddy 编写 XML
最受欢迎且最高级的 Eclipse XML 编辑器插件是由 Bocaloco Software 开发的 XMLBuddy(请参阅参考资料以获得链接)。XMLBuddy 是免费插件,它为 Eclipse 增添了 XML 编辑能力,其中包括对用户可配置的语法着色、DTD 驱动的代码辅助、验证以及同步的提纲视图。XML Buddy 还为 Workspace 添加 XML 透视图,为 XML 文档和 DTD 添加新的项目模板。您可以象安装任何其它 Eclipse 插件那样安装 XMLBuddy:只需将插件压缩文件解压缩至主 Eclipse 安装目录下的 /eclipse/plugins 子目录即可。记住要重新启动 Eclipse。图 2 显示操作中的 XMLBuddy。

图 2. 操作中的 XMLBuddy:带 XML Outline 视图的主编辑器窗口
操作中的 XMLBuddy:带 XML Outline 视图的主编辑器窗口

XML 是元标记语言。XML 元素由起始标记、结束标记和二者之间的数据组成,因此有了语法突出显示还需要好的编辑功能。XMLBuddy(目前是版本 0.2)用以下 XML 编辑功能扩展 Eclipse:

  • 格式化。可以通过选择全部或部分代码对整个 XML 文档或部分文档自动进行格式化。
  • 高级语法着色。可通过 Window => Preferences => XML => Colors 菜单配置 XML 代码着色。着色可用于普通 XML 文档、DTD(内部或外部子集)和 JSP 文件。图 3 演示如何更改语法突出显示的缺省设置。

图 3. 更改 XML 语法突出显示的缺省设置
更改 XML 语法突出显示的缺省设置

  • XML 代码辅助。根据文档的 DTD,可为元素或其它标记名称、属性名称及属性值提供辅助。
  • 扩展字符编码支持。XMLBuddy 根据 XML 1.0 规范自动检测文档编码,它接受 <?xml 编码声明(如果提供了的话)。也可以为所有的 XML 文档或只为特定的某个文件指定缺省编码(请参阅下面的验证 XML 代码并对其字符进行编码)。
  • 提纲(Outline)视图。提纲视图窗口显示文档中元素的结构。缺省情况下,提纲与编辑动态同步。这能使您快速浏览文档的逻辑。
  • DTD 生成。可以动态地从文档的内容生成 DTD。XMLBuddy 在本地高速缓存基于因特网的 DTD,因此不管要使用 DTD 和相关的文档多少次,只需下载它们一次。

posted on 2003年09月02日 11:25 PM

对《Netty权威指南》中的Http+xml协议栈开发的个人再整理

作为一个Netty的菜鸟,最近在学习李林峰先生的《Netty权威指南》,学习了Http+xml协议栈的开发,获益匪浅。本文代码大部分来自李林峰先生的《Netty权威指南》,有些代码经过读者修改。此处仅...
  • kingsonyoung
  • kingsonyoung
  • 2016年01月17日 15:03
  • 2002

理论经典:TCP协议的3次握手与4次挥手过程详解

摘要: 本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。 1、前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与...
  • omnispace
  • omnispace
  • 2016年09月29日 14:42
  • 7619

wireshark抓包图解 TCP三次握手/四次挥手详解

一. TCP/IP协议族       TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能。包含以下四个层次: 1. 链路层,也称作数据链路层或...
  • wishfly
  • wishfly
  • 2015年03月22日 04:54
  • 17038

正则表达式的威力1_匹配matches()与切割split()

第一次学正则表达式,感觉用途很广啊! /* 正则表达式:符合一定规则的表达式 用于专门操作字符串,便捷简单 */ class RegexDemo /* 对QQ号码进行校验,要求: 5~...
  • qq_26811393
  • qq_26811393
  • 2015年11月23日 18:53
  • 283

领域驱动设计系列文章(1)——通过现实例子显示领域驱动设计的威力

在本文中,将会拿出一个显示的例子,先用传统的面向过程方式,使用贫血模型进行设计,然后再逐步加入需求变更,让读者发现,随着系统的不断变更,基于贫血模型的设计将会让系统慢慢陷入泥潭,越来越难于维护,然后再...
  • justloveyou_
  • justloveyou_
  • 2016年10月30日 13:07
  • 653

eclipse 集成 JSON2XML Tree Viewer

  • 2013年08月13日 14:02
  • 74KB
  • 下载

浅谈代码的执行效率(2):编译器的威力

在上一篇文章中,我主要表达了这样一个观点:影响程序效率的关键之一是算法,而算法的选择与优化,和是否多一个赋值少一个判断的关系不大。关于算法的选择,我谈到其理论上的复杂度,并不直接反映出效率。因为在实际...
  • GarfieldEr007
  • GarfieldEr007
  • 2015年12月20日 13:05
  • 492

领域驱动设计系列文章(1)——通过现实例子显示领域驱动设计的威力

领域驱动设计系列文章(1)——通过现实例子显示领域驱动设计的威力          曾经参与过系统维护或是在现有系统中进行迭代开发的软件工程师们,你们是否有过这样的痛苦经历:当需要修改一个Bug的...
  • tiger0709
  • tiger0709
  • 2017年06月13日 10:01
  • 824

正则表达式的威力2_替换replaceAll()

/* 正则表达式:符合一定规则的表达式 作用:用于专门操作字符串 特点:用一些特定的符号来表示一些代码操作,简化书写, 所以学习正则表达式就是在学习一些特殊符号的使用 好处:简...
  • qq_26811393
  • qq_26811393
  • 2015年11月25日 22:39
  • 261

了解了这些才能开始发挥jQuery的威力

由于当前jQuery如此的如雷贯耳,相信不用介绍什么是jQuery了,公司代码中广泛应用了jQuery,但我在看一些小朋友的代码时发现一个问题,小朋友们使用的仅仅是jQuery的皮毛,只是使用id选择...
  • gufachongyang02
  • gufachongyang02
  • 2014年12月05日 17:56
  • 789
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过 Eclipse 发挥 XML 的威力 (1/2)
举报原因:
原因补充:

(最多只允许输入30个字)