引入 XSL,XSLT 和 XPath
可扩展样式表语言(XSL)具有三个主要子组件:
-
XSL-FO
- 格式化对象标准。迄今为止最大的子组件,该标准提供了用于描述字体大小,页面布局以及对象呈现的其他方面的机制。 JAXP 并未涵盖此子组件,本教程也未包含此子组件。
-
XSLT
- 这是转换语言,它使您可以定义从 XML 到其他格式的转换。例如,您可以使用 XSLT 生成 HTML 或其他 XML 结构。您甚至可以使用它来生成纯文本或将信息放入其他文档格式中。 (正如您将在从任意数据结构生成 XML中看到的那样,一个聪明的应用程序也可以将其按入服务以处理非 XML 数据)。
-
XPath
- 从根本上讲,XSLT 是一种语言,它使您可以指定遇到特定元素时要执行的操作。但是要为 XML 数据结构的不同部分编写程序,您需要在任何给定时间指定要谈论的结构部分。 XPath 是该规范语言。它是一种寻址机制,可让您指定元素的路径,例如,可以将
\<article\>\<title\>
与\<person\>\<title\>
区分开。这样,您可以为不同的\<title\>
元素描述不同类型的翻译。
- 从根本上讲,XSLT 是一种语言,它使您可以指定遇到特定元素时要执行的操作。但是要为 XML 数据结构的不同部分编写程序,您需要在任何给定时间指定要谈论的结构部分。 XPath 是该规范语言。它是一种寻址机制,可让您指定元素的路径,例如,可以将
本节的其余部分描述了组成 JAXP Transformation API 的软件包。
JAXP 转换包
这是组成 JAXP Transformation API 的软件包的描述:
-
javax\.xml\.transform
- 该软件包定义了用于获取
Transformer
对象的工厂类。然后,使用 Importing(源)和输出(结果)对象配置转换器,并调用其transform\(\)
方法来进行转换。源和结果对象是使用其他三个包之一中的类创建的。
- 该软件包定义了用于获取
-
javax\.xml\.transform\.dom
- 定义
DOMSource
和DOMResult
类,这些类使您可以将 DOM 用作转换的 Importing 或输出。
- 定义
-
javax\.xml\.transform\.sax
- 定义
SAXSource
和SAXResult
类,使您可以使用 SAX 事件生成器作为转换的 Importing,或将 SAX 事件作为输出传递给 SAX 事件处理器。
- 定义
-
javax\.xml\.transform\.stream
- 定义
StreamSource
和StreamResult
类,使您可以将 I/O 流用作转换的 Importing 或输出。
- 定义
XSLT 示例程序
与本教程中的其他类不同,本类中使用的示例程序未包含在 JAXP 1.4.2 参考实现随附的 install-dir /jaxp\-1_4_2\-
release-date /samples
目录中。但是,您可以在此处下载 XSLT 示例的 ZIP 文件。