Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JDOM 1.1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdom.transform
Class XSLTransformer

    java.lang.Object
      org.jdom.transform.XSLTransformer

    public class XSLTransformer

extends java.lang.Object

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:

- Saxon 6.x: `com.icl.saxon.TransformerFactoryImpl`
- Saxon 7.x: `net.sf.saxon.TransformerFactoryImpl`
- Xalan: `org.apache.xalan.processor.TransformerFactoryImpl`
- jd.xslt: `jd.xml.xslt.trax.TransformerFactoryImpl`
- Oracle: `oracle.xml.jaxp.JXSAXTransformerFactory`

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.5 $, $Date: 2007/11/14 04:36:54 $
Author:
  Jason Hunter, Elliotte Rusty Harold

Constructor Summary
`XSLTransformer(Document stylesheet)` This will create a new `XSLTransformer` by reading the stylesheet from the specified `Document`.
`XSLTransformer(java.io.File stylesheet)` This will create a new `XSLTransformer` by reading the stylesheet from the specified `File`.
`XSLTransformer(java.io.InputStream stylesheet)` This will create a new `XSLTransformer` by reading the stylesheet from the specified `InputStream`.
`XSLTransformer(java.io.Reader stylesheet)` This will create a new `XSLTransformer` by reading the stylesheet from the specified `Reader`.
`XSLTransformer(java.lang.String stylesheetSystemId)` Creates a transformer for a given stylesheet system id.

Method Summary
`JDOMFactory` | `getFactory()` Returns the custom JDOMFactory used to build the transformation result.
`void` | `setFactory(JDOMFactory factory)` Sets a custom JDOMFactory to use when building the transformation result.
`Document` | `transform(Document inputDoc)` Transforms the given document to an output document.
`Document` | `transform(Document inputDoc, org.xml.sax.EntityResolver resolver)` Transforms the given document to an output document.
`java.util.List` | `transform(java.util.List inputNodes)` Transforms the given input nodes to a list of output nodes.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XSLTransformer

    public XSLTransformer(java.lang.String stylesheetSystemId)
                   throws XSLTransformException

  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(java.io.InputStream stylesheet)
                   throws XSLTransformException

  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(java.io.Reader stylesheet)
                   throws XSLTransformException

  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(java.io.File stylesheet)
                   throws XSLTransformException

  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)
                   throws XSLTransformException

  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 java.util.List transform(java.util.List inputNodes)
                             throws XSLTransformException

  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)
                       throws XSLTransformException

  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

### transform

    public Document transform(Document inputDoc,
                              org.xml.sax.EntityResolver resolver)
                       throws XSLTransformException

  Transforms the given document to an output document.

  Parameters:
    `inputDoc` - input document
    `resolver` - entity resolver for the input document
  Returns:
    transformed output document
  Throws:
    `XSLTransformException` - if there's a problem in the transformation

### setFactory

    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` - the custom `JDOMFactory` to use or `null` to use the default JDOM classes.
  See Also:
    `getFactory()`

### getFactory

    public JDOMFactory getFactory()

  Returns the custom JDOMFactory used to build the transformation result.

  Returns:
    the custom `JDOMFactory` used to build the transformation result or `null` if the default JDOM classes are being used.
  See Also:
    `setFactory(org.jdom.JDOMFactory)`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JDOM 1.1.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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