Orangevolt Eclipse XSLT 插件简介,两种热门技术的结合:Eclipse 和 XSLT
如果您是有经验的 XSLT 程序员,但是不熟悉 Eclipse,那么本文可以帮助您体会使用 Eclipse 是多么容易。如果您是有经验的 Eclipse 用户,希望了解 XSLT 的知识,本文也会满足您的需要。
首先简要概述 XSLT。然后讨论这个 Eclipse 插件,包括安装和大多数功能的使用方法。
首先谈谈 XSLT 的基础:XML。如今在网上到处都能够找到 XML。XML 的一项重要作用是在大量系统之间传递数据。XML 具有极强的灵活性,支持创建定制的词汇表,因此需要能够在词汇表之间执行转换。
因此就出现了 XSLT。Extensible Stylesheet Language Transformations(XSLT)提供互操作性。换句话说,它的主要目标是以一种基于 XML 的标记语言作为输入,并将输入转换为另一种标记语言或纯文本。
假设您希望创建一个简单的电影出租 Web 站点。所有用户偏好(比如喜欢的电影类型)都存储在一个 XML 文件中(见图 1)。如何使用这些信息执行查询等功能呢?可以使用一个 XSLT 样式表将用户偏好转换为一组数据库指令(见图 2)。这些数据库指令可以获取各种信息,比如在库存中有多少部电影与特定用户喜欢的电影类型相关。甚至可以使用另一个 XSLT 样式表处理从数据库查询获得的信息,并将信息转换为 HTML 页面。
本文使用下面的代码示例演示这个插件的功能。可以从 下载 一节下载这些示例。
图 1. 示例 XML 文件(data.xml),其中包含虚构的电影出租 Web 站点的用户偏好
图 2. 将 XML 文件转换为数据库查询的示例 XSLT 样式表(transformer.xsl)
Orangevolt XSLT 插件延续了基于 Java™ Swing 的 ROXES XmlWrite 的功能,为 Eclipse 提供一个增强的 XSLT 编辑环境。这个插件是在现有的 Eclipse Web Tools Platform(WTP)上构建的,并引入新的 XSL 和 XML 特性(稍后讨论)。这些特性包括容易使用的编辑器扩展、与 XSLT 相关的启动配置、语法彩色显示的 XSLT 处理输出、XPath 导航器视图等等。另外,这个插件最有意思的特性之一是它能够添加和配置 XSLT 处理程序。这个插件包含 Xalan 和 Saxon 等 XSLT 处理程序。这个插件另一个令人兴奋的方面是,它将会集成到下一个 WTP 主要版本中。
这个插件要求安装以下软件(参见 参考资料):
- Eclipse IDE V3.3 或更高版本
- Java 2 Platform Standard Edition V1.5 或更高版本
- Eclipse Web Tools Platform(WTP)V2.0.1 或更高版本;可以下载包含所有特性的包,也可以单独下载以下软件:
- Eclipse Modeling Framework SDK V2.3.1 或更高版本
- Java EMF Model SDK V1.2.4 或更高版本
- Graphical Editing Framework V3.3.1 或更高版本
可以使用 Eclipse Europa 更新站点(http://download.eclipse.org/releases/europa/site.xml)更新软件版本。如果不知道如何使用更新站点,那么请执行以下步骤。
要想手工安装这个插件,首先要 下载 它。下载之后,将下载文件解压到 Eclipse 目录中。按照以下步骤通过更新站点安装这个插件:
- 启动 Eclipse 环境并选择任何工作空间。
图 3. Eclipse 闪屏
- 选择 Help > Software Updates > Find and Install ...。
图 4. Help > Software Updates > Find and Install
- 这时出现以下屏幕:
图 5. Find and Install 弹出屏幕
- 选择单选按钮 Search for new features to install 并单击 Next。
图 6. 选择 “Search for new features to install”
- 单击 New Remote Site... 按钮。
图 7. New Remote Site 按钮
- 输入名称:Orangevolt EclipseXSLT 并在 URL 框中输入 http://eclipsexslt.sourceforge.net/update-site。
图 8. New Remote Site 细节
- 单击 OK。
- 选择 Orangevolt EclipseXSLT 并单击 Finish。
图 9. 选择 Orangevolt EclipseXSLT
- 选择 Orangevolt EclipseXSLT 并单击 Next。
图 10. 选择 Orangevolt EclipseXSLT
- 接受许可条款并单击 Next。
图 11. 许可协议
- 单击 Finish。
图 12. 安装 EclipseXSLT
- 安装开始。
图 13. 安装 EclipseXSLT
- 如果出现以下屏幕,那么单击 Install All。
图 14. 安装 EclipseXSLT
- 安装完成之后,出现以下屏幕。选择重新启动 Eclipse。
图 15. 重新启动 Eclipse
- 为了检查安装是否成功完成,选择 Help > Software Updates > Manage Configuration。
图 16. 检验安装
- 如果在列表中看到 Orangevolt EclipseXSLT,就说明安装成功了。
图 17. 检验安装
既然已经安装了这个插件,就来看看它的所有特性。
创建一个新项目并添加 data.xml(见 下载 一节)。在打开这个文件时,会注意到这个插件有两个视图:Design 和 Source。
展开 Design 视图下面的所有元素。应该会看到一个树结构视图,其中包含所有 XML 元素及其值。
选择 Source 视图。注意,XML 中的语法元素是彩色显示的。
XML 编辑器是在现有的 Eclipse WTP 编辑器上构建的并添加了新特性。为了查看这些额外特性,导航到 data.xml 文件的 Source 视图。右键单击任何空白处,就会出现一个上下文菜单。在下图中,新特性以红色突出显示。
下面解释各个特性。
- Insert date
- 在所需的位置插入当前日期。格式为 YYYY-MM-DD
- Chars to HTML entities
- 将突出显示的文本转换为 HTML 实体。例如,对以下内容进行转换:
将产生:
- HTML Entities to Chars
- 作用与 “Chars to HTML Entities” 相反
- CDATA section
- 将选择的值封装为 CDATA。例如,以下内容:
将产生:
- Insert element
- 用添加的元素封装突出显示的文本。例如,选择 data.xml 中的所有文本,右键单击它并选择 insert element。输入
root
。
应该会看到以下结果:
- Show in navigation
- 右键单击文件中的任何区域并选择 Show in Navigation。Package Explorer 视图将突出显示引用的文件。
可以通过创建 Eclipse 启动配置来调用 XSLT 转换。这仅仅是一种可配置的机制,允许指定名称、项目、XML 源文件、样式表、XSLT 样式表参数、XSLT 后处理首选项和 VM 参数。
为了创建与这个插件相关的 Eclipse 启动配置,选择 Run > Run... or Run > Open Run Dialog...。
或:
双击配置类型 Orangevolt XSLT 创建一个新的启动配置。
图 31 显示 XSLT 转换配置屏幕。
按照下图填写以下字段:Name(TransformerLaunch
)、Project、Source(data.xml)、Stylesheet(transformer.xsl)并单击 Apply。
单击 Run。控制台窗口应该显示以下内容。
如果滚动到控制台窗口的最右边,就会注意到创建了一个文本文件。
刷新项目视图,就会看到其中添加了这个新的文本文件。
打开这个文件,查看转换的结果。
注意,数据库查询现在包含 Comedy 值。运行这个转换的另一种方法是单击 Run 图标并选择 TransformerLaunch。
图 37. 启动 XSLT 转换 —— 选择 TransformerLaunch
还可以配置其他属性,比如样式表参数和后处理选项。
可以添加转换期间所需的样式表参数。
参考资料 一节中给出了 DocBook XSL HTML 样式表中用户可配置的所有参数的文档。
一种常见做法是在转换完成时执行一个 Apache Ant 构建文件。在许多情况下,这种做法都会有帮助,比如将结果转换为 PDF(代码示例如下)。
图 39. 将 XML-FO 文件转换为 PDF 的 Apache Ant 构建文件示例
为了调用 Apache Ant 构建文件,打开 TransformerLaunch 配置窗口。单击 XSLT Post Processing,从下拉框中选择您的 Ant 文件。
Orangevolt EclipseXSLT 控制台窗口扩展了 Eclipse 附带的默认控制台视图,增加了处理输出的彩色显示方案。例如,错误和警告显示为红色。
另外,这个插件还在输出中提供超链接,所以只需单击错误,就能够跳到发生错误的代码行。
XSLT 处理程序仅仅是一个软件组件,它在 XML 文档上调用一个 XSLT 样式表并产生输出(XML、HTML 或文本)。
有许多种 XSLT 处理程序。当前有三种主要的处理程序:
- Microsoft 开发的 MSXML®
- Michael Kay 开发的 Saxon
- Apache Project 开发的 Xalan
Orangevolt EclipseXSLT 允许选择要用的处理程序和添加自己的处理程序。
选择 Window > Preferences。
在这里可以定制插件的首选项。展开 Orangevolt XSLT。
单击 Transformer。默认情况下,选择的处理程序是 Saxon。
可以通过 XSLT Processor Configuration 下拉框修改这个选项。
这个插件附带三个 XSLT 处理程序:
- Default Transformer — 这是 Eclipse 附带的
- Saxon
- Xalan
这个插件提供了一个用于添加 XSLT 处理程序的 Eclipse 扩展点。SourceForge 提供了一个相关的快速教程。
XPath Navigator 视图是一个出色的特性。可以使用它从 XML 源文件创建 XPath 表达式。插件将针对 XML 文件的 DOM 表示执行这个 XPath 表达式。
选择 Window > Show View > Other...。
展开 Orangevolt 来显示 XPath Navigator 并单击 OK。
现在应该会看到 XPath Navigator 视图。
从 XML Source Document 下拉框中选择 data.xml。在 XPath Expression 文本框中输入 //customer
。单击 Navigator 中的 Run 图标。
可以修改 XPath 表达式来生成不同的结果。
Eclipse 的可定制性非常强。您所用的技术很可能有相应的 Eclipse 插件。Orangevolt EclipseXSLT 能够帮助开发人员在 Eclipse 中使用 XSLT 技术。在 参考资料 中可以找到更多的学习资料。
描述 | 名字 | 大小 | 下载方法 |
---|---|---|---|
示例 XML 文件 | os-eclipse-orangevolt.code-samples.zip | 754B | HTTP |
关于下载方法的信息 |
学习
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
- “XSLT 是什么类型的语言?” 介绍了 XSLT 的基本知识。
- “我为什么要教 Eclipse” 讨论了 Eclipse 技术。
- 查阅 W3C 为 XSLT 语言语法制定的 XSL Transformations (XSLT) Version 1.0 推荐标准以及为 XPath 表达式语法制定的 XML Path Language (XPath) Version 1.0 推荐标准。
- 参考 DocBook XSL HTML stylesheets 中用户可配置的所有参数的文档。
- 了解 Saxon、Xalan 和 Apache Ant。
- 查阅 “Eclipse 推荐读物清单”。
- 浏览 developerWorks 上的全部 Eclipse 文章和Eclipse 教程。
- 您是 Eclipse 的新用户吗?请阅读 developerWorks 文章 “Eclipse 平台入门”,了解 Eclipse 的起源和体系结构,以及如何用插件扩展 Eclipse。
- 通过查阅 IBM developerWorks 的 Eclipse 项目参考资料,提高 Eclipse 技能。
- 要想听听软件开发人员之间有意思的访谈和讨论,请查阅 developerWorks podcasts。
- 关于 Eclipse 平台的介绍,参见 “Eclipse 平台入门”。
- 随时关注 developerWorks 的 技术活动和网络广播。
- 通过免费的 developerWorks On demand 演示程序 了解 IBM 和开放源码技术和产品功能。
- 了解世界各地面向 IBM 开放源码开发人员的即将召开的会议、内部预览、网络广播和其他 活动。
- 访问 developerWorks Open source 专区,这里有丰富的 how-to 信息、工具和项目更新,可以帮助您利用开放源码技术进行开发并将其用于 IBM 产品。