# 介绍 XSL,XSLT 和 XPath > 原文: [https://docs.oracle.com/javase/tutorial/jaxp/xslt/intro.html](https://docs.oracle.com/javase/tutorial/jaxp/xslt/intro.html) 可扩展样式表语言(XSL)有三个主要子组件: XSL-FO 格式化对象标准。到目前为止,这个标准是最大的子组件,它提供了描述字体大小,页面布局和对象渲染的其他方面的机制。此子组件未包含在 JAXP 中,也未包含在本教程中。 XSLT 这是转换语言,它允许您定义从 XML 到其他格式的转换。例如,您可以使用 XSLT 生成 HTML 或不同的 XML 结构。您甚至可以使用它来生成纯文本或将信息放入其他文档格式。 (正如您将在[从任意数据结构生成 XML](generatingXML.html) 中看到的那样,一个聪明的应用程序可以将其用于服务以操纵非 XML 数据)。 XPath 在底部,XSLT 是一种语言,允许您指定遇到特定元素时要执行的操作。但是要为 XML 数据结构的不同部分编写程序,您需要在任何给定时间指定您正在讨论的结构部分。 XPath 是规范语言。它是一种寻址机制,允许您指定元素的路径,例如,`< article>< title>`可以与`< person>< title>区别开来。` 。通过这种方式,您可以为不同的`< title>描述不同类型的翻译。`元素。 本节的其余部分描述了构成 JAXP Transformation API 的包。 ## JAXP 转换包 以下是构成 JAXP Transformation API 的包的说明: `javax.xml.transform` 此包定义用于获取`Transformer`对象的工厂类。然后使用输入(源)和输出(结果)对象配置变换器,并调用其`transform()`方法以进行转换。使用其他三个包中的一个类创建源和结果对象。 `javax.xml.transform.dom` 定义`DOMSource`和`DOMResult`类,它们允许您使用 DOM 作为转换的输入或输出。 `javax.xml.transform.sax` 定义`SAXSource`和`SAXResult`类,它们允许您使用 SAX 事件生成器作为转换的输入,或将 SAX 事件作为输出提供给 SAX 事件处理器。 `javax.xml.transform.stream` 定义`StreamSource`和`StreamResult`类,它们允许您使用 I / O 流作为转换的输入或输出。 ## XSLT 示例程序 与本教程中的其他课程不同,本课程中使用的示例程序不包含在 _install-dir_ `/ jaxp-1_4_2-` _ 发布日期*中`/ samples`目录随 JAXP 1.4.2 参考实现提供。但是你可以 [`download a ZIP file of the XSLT samples here`](../examples/xslt_samples.zip) 。