XSLTransformer (JDOM v1.1.1)
Date: 2016-03-09

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

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)`

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