org.apache.xalan.processor

## Class TransformerFactoryImpl

- java.lang.Object
- - javax.xml.transform.TransformerFactory
  - - javax.xml.transform.sax.SAXTransformerFactory
    - - org.apache.xalan.processor.TransformerFactoryImpl

-     public class TransformerFactoryImpl
      extends SAXTransformerFactory

  The TransformerFactoryImpl, which implements the TRaX TransformerFactory interface, processes XSLT stylesheets into a Templates object (a StylesheetRoot).

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `FEATURE_INCREMENTAL` Static string to be used for incremental feature
    `static java.lang.String` | `FEATURE_OPTIMIZE` Static string to be used for optimize feature
    `static java.lang.String` | `FEATURE_SOURCE_LOCATION` Static string to be used for source_location feature
    `static java.lang.String` | `XSLT_PROPERTIES` The path/filename of the property file: XSLTInfo.properties Maintenance note: see also `org.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES`

    - ### Fields inherited from class javax.xml.transform.sax.SAXTransformerFactory

      `FEATURE, FEATURE_XMLFILTER`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TransformerFactoryImpl()` Constructor TransformerFactoryImpl

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Source` | `getAssociatedStylesheet(Source source, java.lang.String media, java.lang.String title, java.lang.String charset)` Get InputSource specification(s) that are associated with the given document specified in the source param, via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/), and that matches the given criteria.
    `java.lang.Object` | `getAttribute(java.lang.String name)` Allows the user to retrieve specific attributes on the underlying implementation.
    `ErrorListener` | `getErrorListener()` Get the error listener in effect for the TransformerFactory.
    `boolean` | `getFeature(java.lang.String name)` Look up the value of a feature.
    `URIResolver` | `getURIResolver()` Get the object that will be used to resolve URIs used in xsl:import, etc.
    `boolean` | `isSecureProcessing()` Return the state of the secure processing feature.
    `Templates` | `newTemplates(Source source)` Process the source into a Templates object, which is likely a compiled representation of the source.
    `TemplatesHandler` | `newTemplatesHandler()` Create a new Transformer object that performs a copy of the source to the result.
    `Transformer` | `newTransformer()` Create a new Transformer object that performs a copy of the source to the result.
    `Transformer` | `newTransformer(Source source)` Process the source into a Transformer object.
    `TransformerHandler` | `newTransformerHandler()` Get a TransformerHandler object that can process SAX ContentHandler events into a Result.
    `TransformerHandler` | `newTransformerHandler(Source src)` Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the transformation instructions specified by the argument.
    `TransformerHandler` | `newTransformerHandler(Templates templates)` Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.
    `XMLFilter` | `newXMLFilter(Source src)` Create an XMLFilter that uses the given source as the transformation instructions.
    `XMLFilter` | `newXMLFilter(Templates templates)` Create an XMLFilter that uses the given source as the transformation instructions.
    `Templates` | `processFromNode(Node node)`
    `void` | `setAttribute(java.lang.String name, java.lang.Object value)` Allows the user to set specific attributes on the underlying implementation.
    `void` | `setErrorListener(ErrorListener listener)` Set an error listener for the TransformerFactory.
    `void` | `setFeature(java.lang.String name, boolean value)` Set a feature for this `TransformerFactory` and `Transformer`s or `Template`s created by this factory.
    `void` | `setURIResolver(URIResolver resolver)` Set an object that will be used to resolve URIs used in xsl:import, etc.

    - ### Methods inherited from class javax.xml.transform.TransformerFactory

      `newInstance`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### XSLT_PROPERTIES

          public static final java.lang.String XSLT_PROPERTIES

      The path/filename of the property file: XSLTInfo.properties Maintenance note: see also `org.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES`
      See Also:
        Constant Field Values

    - #### FEATURE_INCREMENTAL

          public static final java.lang.String FEATURE_INCREMENTAL

      Static string to be used for incremental feature
      See Also:
        Constant Field Values

    - #### FEATURE_OPTIMIZE

          public static final java.lang.String FEATURE_OPTIMIZE

      Static string to be used for optimize feature
      See Also:
        Constant Field Values

    - #### FEATURE_SOURCE_LOCATION

          public static final java.lang.String FEATURE_SOURCE_LOCATION

      Static string to be used for source_location feature
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TransformerFactoryImpl

          public TransformerFactoryImpl()

      Constructor TransformerFactoryImpl

  - ### Method Detail

    - #### processFromNode

          public Templates processFromNode(Node node)
                                    throws TransformerConfigurationException

      Throws:
        `TransformerConfigurationException`

    - #### getAssociatedStylesheet

          public Source getAssociatedStylesheet(Source source,
                                       java.lang.String media,
                                       java.lang.String title,
                                       java.lang.String charset)
                                         throws TransformerConfigurationException

      Get InputSource specification(s) that are associated with the given document specified in the source param, via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/), and that matches the given criteria. Note that it is possible to return several stylesheets that match the criteria, in which case they are applied as if they were a list of imports or cascades.

      Note that DOM2 has it's own mechanism for discovering stylesheets. Therefore, there isn't a DOM version of this method.

      Specified by:
        `getAssociatedStylesheet` in class `TransformerFactory`
      Parameters:
        `source` - The XML source that is to be searched.
        `media` - The media attribute to be matched. May be null, in which case the prefered templates will be used (i.e. alternate = no).
        `title` - The value of the title attribute to match. May be null.
        `charset` - The value of the charset attribute to match. May be null.
      Returns:
        A Source object capable of being used to create a Templates object.
      Throws:
        `TransformerConfigurationException`
      See Also:
        Associating Style Sheets with XML documents Version 1.0

    - #### newTemplatesHandler

          public TemplatesHandler newTemplatesHandler()
                                               throws TransformerConfigurationException

      Create a new Transformer object that performs a copy of the source to the result.
      Specified by:
        `newTemplatesHandler` in class `SAXTransformerFactory`
      Returns:
        A Transformer object that may be used to perform a transformation in a single thread, never null.
      Throws:
        `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.

    - #### setFeature

          public void setFeature(java.lang.String name,
                        boolean value)
                          throws TransformerConfigurationException

      Set a feature for this `TransformerFactory` and `Transformer`s or `Template`s created by this factory.

      Feature names are fully qualified `URI`s. Implementations may define their own features. An `TransformerConfigurationException` is thrown if this `TransformerFactory` or the `Transformer`s or `Template`s it creates cannot support the feature. It is possible for an `TransformerFactory` to expose a feature value but be unable to change its state.

      See `TransformerFactory` for full documentation of specific features.

      Specified by:
        `setFeature` in class `TransformerFactory`
      Parameters:
        `name` - Feature name.
        `value` - Is feature state `true` or `false`.
      Throws:
        `TransformerConfigurationException` - if this `TransformerFactory` or the `Transformer`s or `Template`s it creates cannot support this feature.
        `java.lang.NullPointerException` - If the `name` parameter is null.

    - #### getFeature

          public boolean getFeature(java.lang.String name)

      Look up the value of a feature.

      The feature name is any fully-qualified URI. It is possible for an TransformerFactory to recognize a feature name but to be unable to return its value; this is especially true in the case of an adapter for a SAX1 Parser, which has no way of knowing whether the underlying parser is validating, for example.

      Specified by:
        `getFeature` in class `TransformerFactory`
      Parameters:
        `name` - The feature name, which is a fully-qualified URI.
      Returns:
        The current state of the feature (true or false).

    - #### setAttribute

          public void setAttribute(java.lang.String name,
                          java.lang.Object value)
                            throws java.lang.IllegalArgumentException

      Allows the user to set specific attributes on the underlying implementation.
      Specified by:
        `setAttribute` in class `TransformerFactory`
      Parameters:
        `name` - The name of the attribute.
        `value` - The value of the attribute; Boolean or String="true"|"false"
      Throws:
        `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

    - #### getAttribute

          public java.lang.Object getAttribute(java.lang.String name)
                                        throws java.lang.IllegalArgumentException

      Allows the user to retrieve specific attributes on the underlying implementation.
      Specified by:
        `getAttribute` in class `TransformerFactory`
      Parameters:
        `name` - The name of the attribute.
      Returns:
        value The value of the attribute.
      Throws:
        `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

    - #### newXMLFilter

          public XMLFilter newXMLFilter(Source src)
                                 throws TransformerConfigurationException

      Create an XMLFilter that uses the given source as the transformation instructions.
      Specified by:
        `newXMLFilter` in class `SAXTransformerFactory`
      Parameters:
        `src` - The source of the transformation instructions.
      Returns:
        An XMLFilter object, or null if this feature is not supported.
      Throws:
        `TransformerConfigurationException`

    - #### newXMLFilter

          public XMLFilter newXMLFilter(Templates templates)
                                 throws TransformerConfigurationException

      Create an XMLFilter that uses the given source as the transformation instructions.
      Specified by:
        `newXMLFilter` in class `SAXTransformerFactory`
      Parameters:
        `templates` - non-null reference to Templates object.
      Returns:
        An XMLFilter object, or null if this feature is not supported.
      Throws:
        `TransformerConfigurationException`

    - #### newTransformerHandler

          public TransformerHandler newTransformerHandler(Source src)
                                                   throws TransformerConfigurationException

      Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the transformation instructions specified by the argument.
      Specified by:
        `newTransformerHandler` in class `SAXTransformerFactory`
      Parameters:
        `src` - The source of the transformation instructions.
      Returns:
        TransformerHandler ready to transform SAX events.
      Throws:
        `TransformerConfigurationException`

    - #### newTransformerHandler

          public TransformerHandler newTransformerHandler(Templates templates)
                                                   throws TransformerConfigurationException

      Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.
      Specified by:
        `newTransformerHandler` in class `SAXTransformerFactory`
      Parameters:
        `templates` - The source of the transformation instructions.
      Returns:
        TransformerHandler ready to transform SAX events.
      Throws:
        `TransformerConfigurationException`

    - #### newTransformerHandler

          public TransformerHandler newTransformerHandler()
                                                   throws TransformerConfigurationException

      Get a TransformerHandler object that can process SAX ContentHandler events into a Result.
      Specified by:
        `newTransformerHandler` in class `SAXTransformerFactory`
      Returns:
        TransformerHandler ready to transform SAX events.
      Throws:
        `TransformerConfigurationException`

    - #### newTransformer

          public Transformer newTransformer(Source source)
                                     throws TransformerConfigurationException

      Process the source into a Transformer object. Care must be given to know that this object can not be used concurrently in multiple threads.
      Specified by:
        `newTransformer` in class `TransformerFactory`
      Parameters:
        `source` - An object that holds a URL, input stream, etc.
      Returns:
        A Transformer object capable of being used for transformation purposes in a single thread.
      Throws:
        `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.
      See Also:
        XSL Transformations (XSLT) Version 1.0

    - #### newTransformer

          public Transformer newTransformer()
                                     throws TransformerConfigurationException

      Create a new Transformer object that performs a copy of the source to the result.
      Specified by:
        `newTransformer` in class `TransformerFactory`
      Returns:
        A Transformer object capable of being used for transformation purposes in a single thread.
      Throws:
        `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and it fails.

    - #### newTemplates

          public Templates newTemplates(Source source)
                                 throws TransformerConfigurationException

      Process the source into a Templates object, which is likely a compiled representation of the source. This Templates object may then be used concurrently across multiple threads. Creating a Templates object allows the TransformerFactory to do detailed performance optimization of transformation instructions, without penalizing runtime transformation.
      Specified by:
        `newTemplates` in class `TransformerFactory`
      Parameters:
        `source` - An object that holds a URL, input stream, etc.
      Returns:
        A Templates object capable of being used for transformation purposes.
      Throws:
        `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.

    - #### setURIResolver

          public void setURIResolver(URIResolver resolver)

      Set an object that will be used to resolve URIs used in xsl:import, etc. This will be used as the default for the transformation.
      Specified by:
        `setURIResolver` in class `TransformerFactory`
      Parameters:
        `resolver` - An object that implements the URIResolver interface, or null.

    - #### getURIResolver

          public URIResolver getURIResolver()

      Get the object that will be used to resolve URIs used in xsl:import, etc. This will be used as the default for the transformation.
      Specified by:
        `getURIResolver` in class `TransformerFactory`
      Returns:
        The URIResolver that was set with setURIResolver.

    - #### getErrorListener

          public ErrorListener getErrorListener()

      Get the error listener in effect for the TransformerFactory.
      Specified by:
        `getErrorListener` in class `TransformerFactory`
      Returns:
        A non-null reference to an error listener.

    - #### setErrorListener

          public void setErrorListener(ErrorListener listener)
                                throws java.lang.IllegalArgumentException

      Set an error listener for the TransformerFactory.
      Specified by:
        `setErrorListener` in class `TransformerFactory`
      Parameters:
        `listener` - Must be a non-null reference to an ErrorListener.
      Throws:
        `java.lang.IllegalArgumentException` - if the listener argument is null.

    - #### isSecureProcessing

          public boolean isSecureProcessing()

      Return the state of the secure processing feature.
      Returns:
        state of the secure processing feature.

Copyright © 2014 Apache XML Project. All Rights Reserved.