SAXTransformerFactory (Java Platform SE 8 )
Keywords: javax.xml.transform.sax.SAXTransformerFactory class
Date: 2026-03-16

compact2, compact3
javax.xml.transform.sax

## Class SAXTransformerFactory

- java.lang.Object
- - javax.xml.transform.TransformerFactory
  - - javax.xml.transform.sax.SAXTransformerFactory

-     public abstract class SAXTransformerFactory
      extends TransformerFactory

  This class extends TransformerFactory to provide SAX-specific factory methods. It provides two types of ContentHandlers, one for creating Transformers, the other for creating Templates objects.

  If an application wants to set the ErrorHandler or EntityResolver for an XMLReader used during a transformation, it should use a URIResolver to return the SAXSource which provides (with getXMLReader) a reference to the XMLReader.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `FEATURE` If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the TransformerFactory returned from `TransformerFactory.newInstance()` may be safely cast to a SAXTransformerFactory.
    `static String` | `FEATURE_XMLFILTER` If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the `newXMLFilter(Source src)` and `newXMLFilter(Templates templates)` methods are supported.

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SAXTransformerFactory()` The default constructor is protected on purpose.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract TemplatesHandler` | `newTemplatesHandler()` Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object.
    `abstract TransformerHandler` | `newTransformerHandler()` Get a TransformerHandler object that can process SAX ContentHandler events into a Result.
    `abstract 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.
    `abstract TransformerHandler` | `newTransformerHandler(Templates templates)` Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.
    `abstract XMLFilter` | `newXMLFilter(Source src)` Create an XMLFilter that uses the given Source as the transformation instructions.
    `abstract XMLFilter` | `newXMLFilter(Templates templates)` Create an XMLFilter, based on the Templates argument..

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

      `getAssociatedStylesheet, getAttribute, getErrorListener, getFeature, getURIResolver, newInstance, newInstance, newTemplates, newTransformer, newTransformer, setAttribute, setErrorListener, setFeature, setURIResolver`

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

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

- - ### Field Detail

    - #### FEATURE

          public static final String FEATURE

      If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the TransformerFactory returned from `TransformerFactory.newInstance()` may be safely cast to a SAXTransformerFactory.
      See Also:
        Constant Field Values

    - #### FEATURE_XMLFILTER

          public static final String FEATURE_XMLFILTER

      If `TransformerFactory.getFeature(java.lang.String)` returns true when passed this value as an argument, the `newXMLFilter(Source src)` and `newXMLFilter(Templates templates)` methods are supported.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SAXTransformerFactory

          protected SAXTransformerFactory()

      The default constructor is protected on purpose.

  - ### Method Detail

    - #### newTransformerHandler

          public abstract 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.
      Parameters:
        `src` - The Source of the transformation instructions.
      Returns:
        TransformerHandler ready to transform SAX events.
      Throws:
        `TransformerConfigurationException` - If for some reason the TransformerHandler can not be created.

    - #### newTransformerHandler

          public abstract TransformerHandler newTransformerHandler(Templates templates)
                                                            throws TransformerConfigurationException

      Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.
      Parameters:
        `templates` - The compiled transformation instructions.
      Returns:
        TransformerHandler ready to transform SAX events.
      Throws:
        `TransformerConfigurationException` - If for some reason the TransformerHandler can not be created.

    - #### newTransformerHandler

          public abstract TransformerHandler newTransformerHandler()
                                                            throws TransformerConfigurationException

      Get a TransformerHandler object that can process SAX ContentHandler events into a Result. The transformation is defined as an identity (or copy) transformation, for example to copy a series of SAX parse events into a DOM tree.
      Returns:
        A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
      Throws:
        `TransformerConfigurationException` - If for some reason the TransformerHandler cannot be created.

    - #### newTemplatesHandler

          public abstract TemplatesHandler newTemplatesHandler()
                                                        throws TransformerConfigurationException

      Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object.
      Returns:
        A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
      Throws:
        `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

    - #### newXMLFilter

          public abstract XMLFilter newXMLFilter(Source src)
                                          throws TransformerConfigurationException

      Create an XMLFilter that uses the given Source as the transformation instructions.
      Parameters:
        `src` - The Source of the transformation instructions.
      Returns:
        An XMLFilter object, or null if this feature is not supported.
      Throws:
        `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

    - #### newXMLFilter

          public abstract XMLFilter newXMLFilter(Templates templates)
                                          throws TransformerConfigurationException

      Create an XMLFilter, based on the Templates argument..
      Parameters:
        `templates` - The compiled transformation instructions.
      Returns:
        An XMLFilter object, or null if this feature is not supported.
      Throws:
        `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.