# 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.

Since:
  1.4

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `FEATURE`
  If `TransformerFactory.getFeature(String)` returns true when passed this value as an argument, the TransformerFactory returned from `TransformerFactory.newInstance()` may be safely cast to a SAXTransformerFactory.
  `static final String`
  `FEATURE_XMLFILTER`
  If `TransformerFactory.getFeature(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
  Description
  `protected`
  `SAXTransformerFactory()`
  The default constructor is protected on purpose.

- ## Method Summary

  Modifier and Type
  Method
  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 declared in class TransformerFactory

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

  ### Methods declared in class Object

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

- ## Field Details

  - ### FEATURE

    public static final String FEATURE
    If `TransformerFactory.getFeature(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(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 Details

  - ### SAXTransformerFactory

    protected SAXTransformerFactory()
    The default constructor is protected on purpose.

- ## Method Details

  - ### 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.