Top Description Fields Constructors Methods
org.jdom.transform

public Class XSLTransformer

extends Object
Class Inheritance
Imports
java.util.*, java.io.*, javax.xml.transform.*, javax.xml.transform.stream.StreamSource, org.jdom.*, org.xml.sax.EntityResolver

A convenience class to handle simple transformations. The JAXP TrAX classes have more bells and whistles and can be used with JDOMSource and 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.
Authors
Jason Hunter, Elliotte Rusty Harold
Version
$Revision: 1.5 $, $Date: 2007/11/14 04:36:54 $

Field Summary

Modifier and TypeField and Description
private static final String
private JDOMFactory
factory

The custom JDOM factory to use when building the transformation result or null to use the default JDOM classes.

private Templates

Constructor Summary

AccessConstructor and Description
private
XSLTransformer(Source stylesheet)

public
XSLTransformer(String
source stylesheet as a Source object
stylesheetSystemId
)

Creates a transformer for a given stylesheet system id.

public
XSLTransformer(InputStream
InputStream from which the stylesheet is read.
stylesheet
)

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

public
XSLTransformer(Reader
Reader from which the stylesheet is read.
stylesheet
)

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

public
XSLTransformer(File
File from which the stylesheet is read.
stylesheet
)

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

public
XSLTransformer(Document
Document containing the stylesheet.
stylesheet
)

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

Method Summary

Modifier and TypeMethod and Description
public JDOMFactory

Returns:

the custom JDOMFactory used to build the transformation result or null if the default JDOM classes are being used.
getFactory
()

Returns the custom JDOMFactory used to build the transformation result.

public void
setFactory(JDOMFactory
the custom JDOMFactory to use or null to use the default JDOM classes.
factory
)

Sets a custom JDOMFactory to use when building the transformation result.

public List<E>

Returns:

transformed output nodes
transform
(List<E>
input nodes
inputNodes
)

Transforms the given input nodes to a list of output nodes.

public Document

Returns:

transformed output document
transform
(Document
input document
inputDoc
)

Transforms the given document to an output document.

public Document

Returns:

transformed output document
transform
(Document
input document
inputDoc
,
EntityResolver
entity resolver for the input document
resolver
)

Transforms the given document to an output document.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

CVS_IDback to summary
private static final String CVS_ID
factoryback to summary
private JDOMFactory factory

The custom JDOM factory to use when building the transformation result or null to use the default JDOM classes.

templatesback to summary
private Templates templates

Constructor Detail

XSLTransformerback to summary
private XSLTransformer(Source stylesheet) throws XSLTransformException
XSLTransformerback to summary
public XSLTransformer(String stylesheetSystemId) throws XSLTransformException

Creates a transformer for a given stylesheet system id.

Parameters
stylesheetSystemId:String

source stylesheet as a Source object

Exceptions
XSLTransformException:
if there's a problem in the TrAX back-end
XSLTransformerback to summary
public XSLTransformer(InputStream stylesheet) throws XSLTransformException

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

Parameters
stylesheet:InputStream

InputStream from which the stylesheet is read.

Exceptions
XSLTransformException:
when an IOException, format error, or something else prevents the stylesheet from being compiled
XSLTransformerback to summary
public XSLTransformer(Reader stylesheet) throws XSLTransformException

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

Parameters
stylesheet:Reader

Reader from which the stylesheet is read.

Exceptions
XSLTransformException:
when an IOException, format error, or something else prevents the stylesheet from being compiled
XSLTransformerback to summary
public XSLTransformer(File stylesheet) throws XSLTransformException

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

Parameters
stylesheet:File

File from which the stylesheet is read.

Exceptions
XSLTransformException:
when an IOException, format error, or something else prevents the stylesheet from being compiled
XSLTransformerback to summary
public XSLTransformer(Document stylesheet) throws XSLTransformException

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

Parameters
stylesheet:Document

Document containing the stylesheet.

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

Method Detail

getFactoryback to summary
public JDOMFactory getFactory()

Returns the custom JDOMFactory used to build the transformation result.

Returns:JDOMFactory

the custom JDOMFactory used to build the transformation result or null if the default JDOM classes are being used.

See Also
setFactory
setFactoryback to summary
public void setFactory(JDOMFactory factory)

Sets a custom JDOMFactory to use when building the transformation result. Use a custom factory to build the tree with your own subclasses of the JDOM classes.

Parameters
factory:JDOMFactory

the custom JDOMFactory to use or null to use the default JDOM classes.

See Also
getFactory
transformback to summary
public List<E> transform(List<E> inputNodes) throws XSLTransformException

Transforms the given input nodes to a list of output nodes.

Parameters
inputNodes:List<E>

input nodes

Returns:List<E>

transformed output nodes

Exceptions
XSLTransformException:
if there's a problem in the transformation
transformback to summary
public Document transform(Document inputDoc) throws XSLTransformException

Transforms the given document to an output document.

Parameters
inputDoc:Document

input document

Returns:Document

transformed output document

Exceptions
XSLTransformException:
if there's a problem in the transformation
transformback to summary
public Document transform(Document inputDoc, EntityResolver resolver) throws XSLTransformException

Transforms the given document to an output document.

Parameters
inputDoc:Document

input document

resolver:EntityResolver

entity resolver for the input document

Returns:Document

transformed output document

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