引入 XSL,XSLT 和 XPath

可扩展样式表语言(XSL)具有三个主要子组件:

  • XSL-FO

    • 格式化对象标准。迄今为止最大的子组件,该标准提供了用于描述字体大小,页面布局以及对象呈现的其他方面的机制。 JAXP 并未涵盖此子组件,本教程也未包含此子组件。
  • XSLT

    • 这是转换语言,它使您可以定义从 XML 到其他格式的转换。例如,您可以使用 XSLT 生成 HTML 或其他 XML 结构。您甚至可以使用它来生成纯文本或将信息放入其他文档格式中。 (正如您将在从任意数据结构生成 XML中看到的那样,一个聪明的应用程序也可以将其按入服务以处理非 XML 数据)。
  • XPath

    • 从根本上讲,XSLT 是一种语言,它使您可以指定遇到特定元素时要执行的操作。但是要为 XML 数据结构的不同部分编写程序,您需要在任何给定时间指定要谈论的结构部分。 XPath 是该规范语言。它是一种寻址机制,可让您指定元素的路径,例如,可以将\<article\>\<title\>\<person\>\<title\>区分开。这样,您可以为不同的\<title\>元素描述不同类型的翻译。

本节的其余部分描述了组成 JAXP Transformation API 的软件包。

JAXP 转换包

这是组成 JAXP Transformation API 的软件包的描述:

  • javax\.xml\.transform

    • 该软件包定义了用于获取Transformer对象的工厂类。然后,使用 Importing(源)和输出(结果)对象配置转换器,并调用其transform\(\)方法来进行转换。源和结果对象是使用其他三个包之一中的类创建的。
  • javax\.xml\.transform\.dom

    • 定义DOMSourceDOMResult类,这些类使您可以将 DOM 用作转换的 Importing 或输出。
  • javax\.xml\.transform\.sax

    • 定义SAXSourceSAXResult类,使您可以使用 SAX 事件生成器作为转换的 Importing,或将 SAX 事件作为输出传递给 SAX 事件处理器。
  • javax\.xml\.transform\.stream

    • 定义StreamSourceStreamResult类,使您可以将 I/O 流用作转换的 Importing 或输出。

XSLT 示例程序

与本教程中的其他类不同,本类中使用的示例程序未包含在 JAXP 1.4.2 参考实现随附的 install-dir /jaxp\-1_4_2\- release-date /samples目录中。但是,您可以在此处下载 XSLT 示例的 ZIP 文件