Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Constants](https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#constants) \| [Protected Ctors](https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#proctors) \| [Methods](https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#inhmethods)

# SAXTransformerFactory

` public abstract class SAXTransformerFactory `   
` ` ` extends https://developer.android.com/reference/javax/xml/transform/TransformerFactory ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [javax.xml.transform.TransformerFactory](https://developer.android.com/reference/javax/xml/transform/TransformerFactory) ||
|   | ↳ | javax.xml.transform.sax.SAXTransformerFactory |

<br />

*** ** * ** ***

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.

<br />

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#FEATURE` If `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getFeature(java.lang.String)` returns true when passed this value as an argument, the TransformerFactory returned from `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newInstance()` may be safely cast to a SAXTransformerFactory. |
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#FEATURE_XMLFILTER` If `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getFeature(java.lang.String)` returns true when passed this value as an argument, the `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Source)` and `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Templates)` methods are supported. |

| ### Protected constructors ||
|---|---|
| ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#SAXTransformerFactory()() ` The default constructor is protected on purpose. |

| ### Public methods ||
|---|---|
| ` abstract https://developer.android.com/reference/javax/xml/transform/sax/TemplatesHandler` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newTemplatesHandler()() ` Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object. |
| ` abstract https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newTransformerHandler()() ` Get a TransformerHandler object that can process SAX ContentHandler events into a Result. |
| ` abstract https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newTransformerHandler(javax.xml.transform.Source)(https://developer.android.com/reference/javax/xml/transform/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 https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newTransformerHandler(javax.xml.transform.Templates)(https://developer.android.com/reference/javax/xml/transform/Templates templates) ` Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument. |
| ` abstract https://developer.android.com/reference/org/xml/sax/XMLFilter` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Source)(https://developer.android.com/reference/javax/xml/transform/Source src) ` Create an XMLFilter that uses the given Source as the transformation instructions. |
| ` abstract https://developer.android.com/reference/org/xml/sax/XMLFilter` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Templates)(https://developer.android.com/reference/javax/xml/transform/Templates templates) ` Create an XMLFilter, based on the Templates argument.. |

### Inherited methods

From class ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory ` ` abstract https://developer.android.com/reference/javax/xml/transform/Source` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getAssociatedStylesheet(javax.xml.transform.Source,%20java.lang.String,%20java.lang.String,%20java.lang.String)(https://developer.android.com/reference/javax/xml/transform/Source source, https://developer.android.com/reference/java/lang/String media, https://developer.android.com/reference/java/lang/String title, https://developer.android.com/reference/java/lang/String charset) `

<br />

Get the stylesheet specification(s) associated with the XML `Source` document via the [xml-stylesheet processing instruction](http://www.w3.org/TR/xml-stylesheet/) that match the given criteria.
` abstract https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getAttribute(java.lang.String)(https://developer.android.com/reference/java/lang/String name) `

Allows the user to retrieve specific attributes on the underlying implementation.
` abstract https://developer.android.com/reference/javax/xml/transform/ErrorListener` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getErrorListener()() `

Get the error event handler for the TransformerFactory.
` abstract boolean` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getFeature(java.lang.String)(https://developer.android.com/reference/java/lang/String name) `

Look up the value of a feature.
` abstract https://developer.android.com/reference/javax/xml/transform/URIResolver` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getURIResolver()() `

Get the object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.
` static https://developer.android.com/reference/javax/xml/transform/TransformerFactory` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newInstance(java.lang.String,%20java.lang.ClassLoader)(https://developer.android.com/reference/java/lang/String factoryClassName, https://developer.android.com/reference/java/lang/ClassLoader classLoader) `

Returns an instance of the named implementation of `TransformerFactory`.
` static https://developer.android.com/reference/javax/xml/transform/TransformerFactory` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newInstance()() `

Returns Android's implementation of `TransformerFactory`.
` abstract https://developer.android.com/reference/javax/xml/transform/Templates` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newTemplates(javax.xml.transform.Source)(https://developer.android.com/reference/javax/xml/transform/Source source) `

Process the Source into a Templates object, which is a a compiled representation of the source.
` abstract https://developer.android.com/reference/javax/xml/transform/Transformer` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newTransformer(javax.xml.transform.Source)(https://developer.android.com/reference/javax/xml/transform/Source source) `

<br />

Process the `Source` into a `Transformer` `Object`.
` abstract https://developer.android.com/reference/javax/xml/transform/Transformer` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newTransformer()() `

<br />

Create a new `Transformer` that performs a copy of the `Source` to the `Result`.
` abstract void` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#setAttribute(java.lang.String,%20java.lang.Object)(https://developer.android.com/reference/java/lang/String name, https://developer.android.com/reference/java/lang/Object value) `

Allows the user to set specific attributes on the underlying implementation.
` abstract void` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#setErrorListener(javax.xml.transform.ErrorListener)(https://developer.android.com/reference/javax/xml/transform/ErrorListener listener) `

Set the error event listener for the TransformerFactory, which is used for the processing of transformation instructions, and not for the transformation itself.
` abstract void` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#setFeature(java.lang.String,%20boolean)(https://developer.android.com/reference/java/lang/String name, boolean value) `

<br />

Set a feature for this `TransformerFactory` and `Transformer`s or `Template`s created by this factory.
` abstract void` ` https://developer.android.com/reference/javax/xml/transform/TransformerFactory#setURIResolver(javax.xml.transform.URIResolver)(https://developer.android.com/reference/javax/xml/transform/URIResolver resolver) `

Set an object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Constants

### FEATURE

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String FEATURE
```

If `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getFeature(java.lang.String)` returns true when passed this value as an argument, the TransformerFactory returned from `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#newInstance()` may be safely cast to a SAXTransformerFactory.

<br />

Constant Value: "http://javax.xml.transform.sax.SAXTransformerFactory/feature"

### FEATURE_XMLFILTER

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public static final String FEATURE_XMLFILTER
```

If `https://developer.android.com/reference/javax/xml/transform/TransformerFactory#getFeature(java.lang.String)` returns true when passed this value as an argument, the `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Source)` and `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory#newXMLFilter(javax.xml.transform.Templates)` methods are supported.

<br />

Constant Value: "http://javax.xml.transform.sax.SAXTransformerFactory/feature/xmlfilter"

## Protected constructors

### SAXTransformerFactory

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
protected SAXTransformerFactory ()
```

The default constructor is protected on purpose.

<br />

## Public methods

### newTemplatesHandler

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract TemplatesHandler newTemplatesHandler ()
```

Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/sax/TemplatesHandler` | A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TemplatesHandler cannot be created. |

### newTransformerHandler

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract TransformerHandler newTransformerHandler ()
```

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.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TransformerHandler cannot be created. |

### newTransformerHandler

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public 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.

<br />

| Parameters ||
|---|---|
| `src` | `Source`: The Source of the transformation instructions. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | TransformerHandler ready to transform SAX events. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TransformerHandler can not be created. |

### newTransformerHandler

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract TransformerHandler newTransformerHandler (Templates templates)
```

Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.

<br />

| Parameters ||
|---|---|
| `templates` | `Templates`: The compiled transformation instructions. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/sax/TransformerHandler` | TransformerHandler ready to transform SAX events. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TransformerHandler can not be created. |

### newXMLFilter

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract XMLFilter newXMLFilter (Source src)
```

Create an XMLFilter that uses the given Source as the transformation instructions.

<br />

| Parameters ||
|---|---|
| `src` | `Source`: The Source of the transformation instructions. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/org/xml/sax/XMLFilter` | An XMLFilter object, or null if this feature is not supported. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TemplatesHandler cannot be created. |

### newXMLFilter

Added in [API level 8](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public abstract XMLFilter newXMLFilter (Templates templates)
```

Create an XMLFilter, based on the Templates argument..

<br />

| Parameters ||
|---|---|
| `templates` | `Templates`: The compiled transformation instructions. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/org/xml/sax/XMLFilter` | An XMLFilter object, or null if this feature is not supported. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/javax/xml/transform/TransformerConfigurationException` | If for some reason the TemplatesHandler cannot be created. |