Download PDF Home History |  | API Search Feedback FAQ

> ## Introducing XSL, XSLT, and XPath

> The Extensible Stylesheet Language (XSL) has three major subcomponents:

> XSL-FO

> The Formatting Objects standard. By far the largest subcomponent, this standard gives mechanisms for describing font sizes, page layouts, and other aspects of object rendering. This subcomponent is not covered by JAXP, nor is it included in this tutorial.

> XSLT

> This is the transformation language, which lets you define a transformation from XML into some other format. For example, you might use XSLT to produce HTML or a different XML structure. You could even use it to produce plain text or to put the information in some other document format. (And as you'll see in Generating XML from an Arbitrary Data Structure, a clever application can press it into service to manipulate non-XML data as well.)

> XPath

> At bottom, XSLT is a language that lets you specify what sorts of things to do when a particular element is encountered. But to write a program for different parts of an XML data structure, you need to specify the part of the structure you are talking about at any given time. XPath is that specification language. It is an addressing mechanism that lets you specify a path to an element so that, for example, `<article><title>` can be distinguished from `<person><title>`. In that way, you can describe different kinds of translations for the different `<title>` elements.

> The remainder of this section describes the packages that make up the JAXP Transformation APIs.

> ### The JAXP Transformation Packages

> Here is a description of the packages that make up the JAXP Transformation APIs:

> `javax.xml.transform`

> This package defines the factory class you use to get a `Transformer` object. You then configure the transformer with input (source) and output (result) objects, and invoke its `transform()` method to make the transformation happen. The source and result objects are created using classes from one of the other three packages.

> `javax.xml.transform.dom`

> Defines the `DOMSource` and `DOMResult` classes, which let you use a DOM as an input to or output from a transformation.

> `javax.xml.transform.sax`

> Defines the `SAXSource` and `SAXResult` classes, which let you use a SAX event generator as input to a transformation, or deliver SAX events as output to a SAX event processor.

> `javax.xml.transform.stream`

> Defines the `StreamSource` and `StreamResult` classes, which let you use an I/O stream as an input to or output from a transformation.

Download PDF Home History |  | API Search Feedback FAQ

All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.