org.jdom.transform

Class XSLTransformer

public class XSLTransformer extends Object

A convenience class to handle simple transformations. The JAXP TrAX classes have more bells and whistles and can be used with {@link JDOMSource} and {@link JDOMResult} for advanced uses. This class handles the common case and presents a simple interface. XSLTransformer is thread safe and may be used from multiple threads.

 XSLTransformer transformer = new XSLTransformer("file.xsl");

 Document x2 = transformer.transform(x);  // x is a Document
 Document y2 = transformer.transform(y);  // y is a Document
 
JDOM relies on TrAX to perform the transformation. The javax.xml.transform.TransformerFactory Java system property determines which XSLT engine TrAX uses. Its value should be the fully qualified name of the implementation of the abstract javax.xml.transform.TransformerFactory class. Values of this property for popular XSLT processors include:

This property can be set in all the usual ways a Java system property can be set. TrAX picks from them in this order:

  1. Invoking System.setProperty( "javax.xml.transform.TransformerFactory", "classname")
  2. The value specified at the command line using the -Djavax.xml.transform.TransformerFactory=classname option to the java interpreter
  3. The class named in the lib/jaxp.properties properties file in the JRE directory, in a line like this one:
    javax.xml.parsers.DocumentBuilderFactory=classname
  4. The class named in the META-INF/services/javax.xml.transform.TransformerFactory file in the JAR archives available to the runtime
  5. Finally, if all of the above options fail, a default implementation is chosen. In Sun's JDK 1.4, this is Xalan 2.2d10.

Version: $Revision: 1.2 $, $Date: 2004/02/06 09:28:32 $

Author: Jason Hunter Elliotte Rusty Harold

Constructor Summary
XSLTransformer(String stylesheetSystemId)
Creates a transformer for a given stylesheet system id.
XSLTransformer(InputStream stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified InputStream.

XSLTransformer(Reader stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified Reader.

XSLTransformer(File stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified File.

XSLTransformer(Document stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified Document.

Method Summary
Listtransform(List inputNodes)
Transforms the given input nodes to a list of output nodes.
Documenttransform(Document inputDoc)
Transforms the given document to an output document.

Constructor Detail

XSLTransformer

public XSLTransformer(String stylesheetSystemId)
Creates a transformer for a given stylesheet system id.

Parameters: stylesheetSystemId source stylesheet as a Source object

Throws: XSLTransformException if there's a problem in the TrAX back-end

XSLTransformer

public XSLTransformer(InputStream stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified InputStream.

Parameters: stylesheet InputStream from which the stylesheet is read.

Throws: XSLTransformException when an IOException, format error, or something else prevents the stylesheet from being compiled

XSLTransformer

public XSLTransformer(Reader stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified Reader.

Parameters: stylesheet Reader from which the stylesheet is read.

Throws: XSLTransformException when an IOException, format error, or something else prevents the stylesheet from being compiled

XSLTransformer

public XSLTransformer(File stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified File.

Parameters: stylesheet File from which the stylesheet is read.

Throws: XSLTransformException when an IOException, format error, or something else prevents the stylesheet from being compiled

XSLTransformer

public XSLTransformer(Document stylesheet)

This will create a new XSLTransformer by reading the stylesheet from the specified Document.

Parameters: stylesheet Document containing the stylesheet.

Throws: XSLTransformException when the supplied Document is not syntactically correct XSLT

Method Detail

transform

public List transform(List inputNodes)
Transforms the given input nodes to a list of output nodes.

Parameters: inputNodes input nodes

Returns: transformed output nodes

Throws: XSLTransformException if there's a problem in the transformation

transform

public Document transform(Document inputDoc)
Transforms the given document to an output document.

Parameters: inputDoc input document

Returns: transformed output document

Throws: XSLTransformException if there's a problem in the transformation

Copyright © 2004 Jason Hunter, Brett McLaughlin. All Rights Reserved.