在 IBM Bluemix 云平台上开发并部署您的下一个应用。
开始您的试用
如果您是有经验的 XSLT 程序员,但是不熟悉 Eclipse,那么本文可以帮助您体会使用 Eclipse 是多么容易。如果您是有经验的 Eclipse 用户,希望了解 XSLT 的知识,本文也会满足您的需要。
首先简要概述 XSLT。然后讨论这个 Eclipse 插件,包括安装和大多数功能的使用方法。
XSLT 是什么?
首先谈谈 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 EclipseXSLT 插件概述
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。
图 18. XML 文件视图
展开 Design 视图下面的所有元素。应该会看到一个树结构视图,其中包含所有 XML 元素及其值。
图 19. XML Design 视图
选择 Source 视图。注意,XML 中的语法元素是彩色显示的。
图 20. XML Source 视图
回页首
编辑器扩展
XML 编辑器是在现有的 Eclipse WTP 编辑器上构建的并添加了新特性。为了查看这些额外特性,导航到 data.xml 文件的 Source 视图。右键单击任何空白处,就会出现一个上下文菜单。在下图中,新特性以红色突出显示。
图 21. XML Source 视图的上下文菜单
下面解释各个特性。
- Insert date
- 在所需的位置插入当前日期。格式为 YYYY-MM-DD
- Chars to HTML entities
- 将突出显示的文本转换为 HTML 实体。例如,对以下内容进行转换:
图 22. Chars to HTML entities
将产生:
图 23. Chars to HTML entities
- HTML Entities to Chars
- 作用与 “Chars to HTML Entities” 相反
- CDATA section
- 将选择的值封装为 CDATA。例如,以下内容:
图 24. CDATA section
将产生:
图 25. CDATA section
- Insert element
- 用添加的元素封装突出显示的文本。例如,选择 data.xml 中的所有文本,右键单击它并选择 insert element。输入
root
。
图 26. Insert element
应该会看到以下结果:
图 27. Insert element
- Show in navigation
- 右键单击文件中的任何区域并选择 Show in Navigation。Package Explorer 视图将突出显示引用的文件。
回页首
启动 XSLT 转换
可以通过创建 Eclipse 启动配置来调用 XSLT 转换。这仅仅是一种可配置的机制,允许指定名称、项目、XML 源文件、样式表、XSLT 样式表参数、XSLT 后处理首选项和 VM 参数。
为了创建与这个插件相关的 Eclipse 启动配置,选择 Run > Run... or Run > Open Run Dialog...。
图 28. 启动 XSLT 转换
或:
图 29. 另一种启动 XSLT 转换的方法
双击配置类型 Orangevolt XSLT 创建一个新的启动配置。
图 30. 启动 XSLT 转换
图 31 显示 XSLT 转换配置屏幕。
图 31. 启动 XSLT 转换
按照下图填写以下字段:Name(TransformerLaunch
)、Project、Source(data.xml)、Stylesheet(transformer.xsl)并单击 Apply。
图 32. 启动 XSLT 转换
单击 Run。控制台窗口应该显示以下内容。
图 33. 启动 XSLT 转换
如果滚动到控制台窗口的最右边,就会注意到创建了一个文本文件。
图 34. 启动 XSLT 转换
刷新项目视图,就会看到其中添加了这个新的文本文件。
图 35. 启动 XSLT 转换
打开这个文件,查看转换的结果。
图 36. 启动 XSLT 转换
注意,数据库查询现在包含 Comedy 值。运行这个转换的另一种方法是单击 Run 图标并选择 TransformerLaunch。
图 37. 启动 XSLT 转换 —— 选择 TransformerLaunch
还可以配置其他属性,比如样式表参数和后处理选项。
XSLT 样式表参数
可以添加转换期间所需的样式表参数。
图 38. 启动 XSLT 转换
参考资料 一节中给出了 DocBook XSL HTML 样式表中用户可配置的所有参数的文档。
后处理
一种常见做法是在转换完成时执行一个 Apache Ant 构建文件。在许多情况下,这种做法都会有帮助,比如将结果转换为 PDF(代码示例如下)。
图 39. 将 XML-FO 文件转换为 PDF 的 Apache Ant 构建文件示例
为了调用 Apache Ant 构建文件,打开 TransformerLaunch 配置窗口。单击 XSLT Post Processing,从下拉框中选择您的 Ant 文件。
图 40. 选择 Ant 文件
回页首
插件控制台窗口
Orangevolt EclipseXSLT 控制台窗口扩展了 Eclipse 附带的默认控制台视图,增加了处理输出的彩色显示方案。例如,错误和警告显示为红色。
图 41. 启动 XSLT 转换:错误显示为红色
另外,这个插件还在输出中提供超链接,所以只需单击错误,就能够跳到发生错误的代码行。
回页首
XSLT 处理程序
XSLT 处理程序仅仅是一个软件组件,它在 XML 文档上调用一个 XSLT 样式表并产生输出(XML、HTML 或文本)。
有许多种 XSLT 处理程序。当前有三种主要的处理程序:
- Microsoft 开发的 MSXML®
- Michael Kay 开发的 Saxon
- Apache Project 开发的 Xalan
Orangevolt EclipseXSLT 允许选择要用的处理程序和添加自己的处理程序。
选择新的 XSLT 处理程序
选择 Window > Preferences。
图 42. Preferences 窗口
在这里可以定制插件的首选项。展开 Orangevolt XSLT。
图 43. Preferences 窗口
单击 Transformer。默认情况下,选择的处理程序是 Saxon。
图 44. Preferences 窗口:选择 Saxon
可以通过 XSLT Processor Configuration 下拉框修改这个选项。
图 45. Preferences 窗口:选择一个处理程序
这个插件附带三个 XSLT 处理程序:
- Default Transformer — 这是 Eclipse 附带的
- Saxon
- Xalan
添加新的 XSLT 处理程序
这个插件提供了一个用于添加 XSLT 处理程序的 Eclipse 扩展点。SourceForge 提供了一个相关的快速教程。
回页首
使用 XPath Navigator
XPath Navigator 视图是一个出色的特性。可以使用它从 XML 源文件创建 XPath 表达式。插件将针对 XML 文件的 DOM 表示执行这个 XPath 表达式。
选择 Window > Show View > Other...。
图 46. 选择视图
展开 Orangevolt 来显示 XPath Navigator 并单击 OK。
图 47. 选择 XPath Navigator 视图
现在应该会看到 XPath Navigator 视图。
图 48. XPath Navigator 视图
从 XML Source Document 下拉框中选择 data.xml。在 XPath Expression 文本框中输入 //customer
。单击 Navigator 中的 Run 图标。
图 49. XPath Navigator 视图
可以修改 XPath 表达式来生成不同的结果。
图 50. XPath Navigator 视图
回页首
结束语
Eclipse 的可定制性非常强。您所用的技术很可能有相应的 Eclipse 插件。Orangevolt EclipseXSLT 能够帮助开发人员在 Eclipse 中使用 XSLT 技术。在 参考资料 中可以找到更多的学习资料。
回页首
下载
描述 | 名字 | 大小 | 示例 XML 文件 | os-eclipse-orangevolt.code-samples.zip754B