Orangevolt Eclipse XSLT 插件简介

来源:互联网 发布:陈一发唱歌软件 编辑:程序博客网 时间:2024/05/16 23:48

原文:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-orangevolt/index.html#resources

两种热门技术的结合:Eclipse 和 XSLT

Orangevolt XSLT 插件延续了基于 Swing 的 ROXES XmlWrite 的功能,为 Eclipse 提供一个增强的 XSLT 编辑环境。这个插件是在现有的 Eclipse Web Tools Platform(WTP)上构建的,并引入新的 XSL 和 XML 特性。通过本文了解 XSLT 的作用以及如何通过 Orangevolt XSLT 插件使用 XSLT。

Yasmary Hernandez (yasmary@us.ibm.com), IT 咨询专家, IBM Japan

2008 年 2 月 14 日

  • +内容

如果您是有经验的 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 站点的用户偏好
示例 XML 文件(data.xml),其中包含虚构的电影出租 Web 站点的用户偏好
图 2. 将 XML 文件转换为数据库查询的示例 XSLT 样式表(transformer.xsl)
将 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 目录中。按照以下步骤通过更新站点安装这个插件:

  1. 启动 Eclipse 环境并选择任何工作空间。
    图 3. Eclipse 闪屏
    Eclipse 闪屏
  2. 选择 Help > Software Updates > Find and Install ...
    图 4. Help > Software Updates > Find and Install
    Help > Software Updates > Find and Install
  3. 这时出现以下屏幕:
    图 5. Find and Install 弹出屏幕
    Find and Install 弹出屏幕
  4. 选择单选按钮 Search for new features to install 并单击 Next
    图 6. 选择 “Search for new features to install”
    选择 Search for new features to install
  5. 单击 New Remote Site... 按钮。
    图 7. New Remote Site 按钮
    New Remote Site 按钮
  6. 输入名称:Orangevolt EclipseXSLT 并在 URL 框中输入 http://eclipsexslt.sourceforge.net/update-site
    图 8. New Remote Site 细节
    New Remote Site 细节
  7. 单击 OK
  8. 选择 Orangevolt EclipseXSLT 并单击 Finish
    图 9. 选择 Orangevolt EclipseXSLT
    选择 Orangevolt EclipseXSLT
  9. 选择 Orangevolt EclipseXSLT 并单击 Next
    图 10. 选择 Orangevolt EclipseXSLT
    选择 Orangevolt EclipseXSLT
  10. 接受许可条款并单击 Next
    图 11. 许可协议
    许可协议
  11. 单击 Finish
    图 12. 安装 EclipseXSLT
    安装 EclipseXSLT
  12. 安装开始。
    图 13. 安装 EclipseXSLT
    安装 EclipseXSLT
  13. 如果出现以下屏幕,那么单击 Install All
    图 14. 安装 EclipseXSLT
    安装 EclipseXSLT
  14. 安装完成之后,出现以下屏幕。选择重新启动 Eclipse。
    图 15. 重新启动 Eclipse
    重新启动 Eclipse
  15. 为了检查安装是否成功完成,选择 Help > Software Updates > Manage Configuration
    图 16. 检验安装
    检验安装
  16. 如果在列表中看到 Orangevolt EclipseXSLT,就说明安装成功了。
    图 17. 检验安装
    检验安装

插件的基本功能

既然已经安装了这个插件,就来看看它的所有特性。

创建一个新项目并添加 data.xml(见 下载 一节)。在打开这个文件时,会注意到这个插件有两个视图:Design 和 Source。

图 18. XML 文件视图
XML 文件视图

展开 Design 视图下面的所有元素。应该会看到一个树结构视图,其中包含所有 XML 元素及其值。

图 19. XML Design 视图
XML Design 视图

选择 Source 视图。注意,XML 中的语法元素是彩色显示的。

图 20. XML Source 视图
XML Source 视图

编辑器扩展

XML 编辑器是在现有的 Eclipse WTP 编辑器上构建的并添加了新特性。为了查看这些额外特性,导航到 data.xml 文件的 Source 视图。右键单击任何空白处,就会出现一个上下文菜单。在下图中,新特性以红色突出显示。

图 21. XML Source 视图的上下文菜单
XML Source 视图的上下文菜单

下面解释各个特性。

Insert date
在所需的位置插入当前日期。格式为 YYYY-MM-DD
Chars to HTML entities
将突出显示的文本转换为 HTML 实体。例如,对以下内容进行转换:
图 22. Chars to HTML entities
Chars to HTML entities

将产生:

图 23. Chars to HTML entities
Chars to HTML entities
HTML Entities to Chars
作用与 “Chars to HTML Entities” 相反
CDATA section
将选择的值封装为 CDATA。例如,以下内容:
图 24. CDATA section
CDATA section

将产生:

图 25. CDATA section
CDATA section
Insert element
用添加的元素封装突出显示的文本。例如,选择 data.xml 中的所有文本,右键单击它并选择 insert element。输入 root
图 26. Insert element
Insert element

应该会看到以下结果:

图 27. Insert element
Insert element
Show in navigation
右键单击文件中的任何区域并选择 Show in NavigationPackage Explorer 视图将突出显示引用的文件。

启动 XSLT 转换

可以通过创建 Eclipse 启动配置来调用 XSLT 转换。这仅仅是一种可配置的机制,允许指定名称、项目、XML 源文件、样式表、XSLT 样式表参数、XSLT 后处理首选项和 VM 参数。

为了创建与这个插件相关的 Eclipse 启动配置,选择 Run > Run... or Run > Open Run Dialog...

图 28. 启动 XSLT 转换
启动 XSLT 转换

或:

图 29. 另一种启动 XSLT 转换的方法
另一种启动 XSLT 转换的方法

双击配置类型 Orangevolt XSLT 创建一个新的启动配置。

图 30. 启动 XSLT 转换
启动 XSLT 转换

图 31 显示 XSLT 转换配置屏幕。

图 31. 启动 XSLT 转换
启动 XSLT 转换

按照下图填写以下字段:Name(TransformerLaunch)、Project、Source(data.xml)、Stylesheet(transformer.xsl)并单击 Apply

图 32. 启动 XSLT 转换
启动 XSLT 转换

单击 Run。控制台窗口应该显示以下内容。

图 33. 启动 XSLT 转换
启动 XSLT 转换

如果滚动到控制台窗口的最右边,就会注意到创建了一个文本文件。

图 34. 启动 XSLT 转换
启动 XSLT 转换

刷新项目视图,就会看到其中添加了这个新的文本文件。

图 35. 启动 XSLT 转换
启动 XSLT 转换

打开这个文件,查看转换的结果。

图 36. 启动 XSLT 转换
启动 XSLT 转换

注意,数据库查询现在包含 Comedy 值。运行这个转换的另一种方法是单击 Run 图标并选择 TransformerLaunch

图 37. 启动 XSLT 转换 —— 选择 TransformerLaunch
启动 XSLT 转换 —— 选择 TransformerLaunch

还可以配置其他属性,比如样式表参数和后处理选项。

XSLT 样式表参数

可以添加转换期间所需的样式表参数。

图 38. 启动 XSLT 转换
启动 XSLT 转换

参考资料 一节中给出了 DocBook XSL HTML 样式表中用户可配置的所有参数的文档。

后处理

一种常见做法是在转换完成时执行一个 Apache Ant 构建文件。在许多情况下,这种做法都会有帮助,比如将结果转换为 PDF(代码示例如下)。

图 39. 将 XML-FO 文件转换为 PDF 的 Apache Ant 构建文件示例
将 XML-FO 文件转换为 PDF 的 Apache Ant 构建文件示例

为了调用 Apache Ant 构建文件,打开 TransformerLaunch 配置窗口。单击 XSLT Post Processing,从下拉框中选择您的 Ant 文件。

图 40. 选择 Ant 文件
选择 Ant 文件

插件控制台窗口

Orangevolt EclipseXSLT 控制台窗口扩展了 Eclipse 附带的默认控制台视图,增加了处理输出的彩色显示方案。例如,错误和警告显示为红色。

图 41. 启动 XSLT 转换:错误显示为红色
启动 XSLT 转换:错误显示为红色

另外,这个插件还在输出中提供超链接,所以只需单击错误,就能够跳到发生错误的代码行。

XSLT 处理程序

XSLT 处理程序仅仅是一个软件组件,它在 XML 文档上调用一个 XSLT 样式表并产生输出(XML、HTML 或文本)。

有许多种 XSLT 处理程序。当前有三种主要的处理程序:

  • Microsoft 开发的 MSXML®
  • Michael Kay 开发的 Saxon
  • Apache Project 开发的 Xalan

Orangevolt EclipseXSLT 允许选择要用的处理程序和添加自己的处理程序。

选择新的 XSLT 处理程序

选择 Window > Preferences

图 42. Preferences 窗口
Preferences 窗口

在这里可以定制插件的首选项。展开 Orangevolt XSLT

图 43. Preferences 窗口
Preferences 窗口

单击 Transformer。默认情况下,选择的处理程序是 Saxon

图 44. Preferences 窗口:选择 Saxon
Preferences 窗口:选择 Saxon

可以通过 XSLT Processor Configuration 下拉框修改这个选项。

图 45. Preferences 窗口:选择一个处理程序
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 视图

现在应该会看到 XPath Navigator 视图。

图 48. XPath Navigator 视图
XPath Navigator 视图

从 XML Source Document 下拉框中选择 data.xml。在 XPath Expression 文本框中输入 //customer。单击 Navigator 中的 Run 图标。

图 49. XPath Navigator 视图
XPath Navigator 视图

可以修改 XPath 表达式来生成不同的结果。

图 50. XPath Navigator 视图
XPath Navigator 视图

结束语

Eclipse 的可定制性非常强。您所用的技术很可能有相应的 Eclipse 插件。Orangevolt EclipseXSLT 能够帮助开发人员在 Eclipse 中使用 XSLT 技术。在 参考资料 中可以找到更多的学习资料。

下载

描述名字大小示例 XML 文件os-eclipse-orangevolt.code-samples.zip754B

0 0
原创粉丝点击