文档

Java™教程
隐藏目录
介绍XSL、XSLT和XPath
路径: Java XML处理API(JAXP)
教程: 可扩展样式表语言转换

介绍XSL、XSLT和XPath

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

XSL-FO

格式对象标准。迄今为止最大的子组件,该标准提供了描述字体大小、页面布局和其他对象渲染方面的机制。此子组件不在JAXP范围内,本教程也不包含。

XSLT

这是转换语言,它允许您定义从XML到其他格式的转换。例如,您可以使用XSLT生成HTML或不同的XML结构。甚至可以将其用于生成纯文本或将信息放入其他文档格式中。(正如您将在从任意数据结构生成XML中看到的,聪明的应用程序还可以使用它来操作非XML数据)。

XPath

归根结底,XSLT是一种语言,它允许您指定在遇到特定元素时要执行的操作。但是,要为XML数据结构的不同部分编写程序,您需要在任何给定时间指定您正在讨论的结构的部分。XPath就是这种规范语言。它是一种寻址机制,允许您指定到一个元素的路径,以便例如可以区分<article><title><person><title>。通过这种方式,您可以为不同的<title>元素描述不同类型的转换。

本节的其余部分描述了组成JAXP转换API的包。

JAXP转换包

以下是组成JAXP转换API的包的描述:

javax.xml.transform

此包定义了用于获取Transformer对象的工厂类。然后,您可以使用输入(源)和输出(结果)对象配置转换器,并调用其transform()方法进行转换。源和结果对象是使用其他三个包中的类创建的。

javax.xml.transform.dom

定义了DOMSourceDOMResult类,允许您将DOM用作转换的输入或输出。

javax.xml.transform.sax

定义了SAXSourceSAXResult类,允许您将SAX事件生成器用作转换的输入,或将SAX事件作为输出交给SAX事件处理器。

javax.xml.transform.stream

定义了StreamSourceStreamResult类,允许您将I/O流用作转换的输入或输出。

XSLT示例程序

与本教程中的其他课程不同,本课程中使用的示例程序不包含在JAXP 1.4.2参考实现提供的install-dir/jaxp-1_4_2-release-date/samples目录中。但是你可以在这里下载XSLT示例的ZIP文件


上一页: 可扩展样式表语言转换
下一页: XPath的工作原理