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/SAXSource#constants) \| [Ctors](https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#pubctors) \| [Methods](https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#inhmethods)

# SAXSource

` public class SAXSource `   
` extends https://developer.android.com/reference/java/lang/Object ` ` implements https://developer.android.com/reference/javax/xml/transform/Source `

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

<br />

*** ** * ** ***

<br />

Acts as an holder for SAX-style Source.

Note that XSLT requires namespace support. Attempting to transform an input source that is not generated with a namespace-aware parser may result in errors. Parsers can be made namespace aware by calling the `https://developer.android.com/reference/javax/xml/parsers/SAXParserFactory#setNamespaceAware(boolean)` method.

<br />

## Summary

| ### Constants ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | `https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#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 Transformer supports Source input of this type. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#SAXSource()() ` <br /> Zero-argument default constructor. |
| ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#SAXSource(org.xml.sax.InputSource)(https://developer.android.com/reference/org/xml/sax/InputSource inputSource) ` Create a `SAXSource`, using a SAX `InputSource`. |
| ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#SAXSource(org.xml.sax.XMLReader,%20org.xml.sax.InputSource)(https://developer.android.com/reference/org/xml/sax/XMLReader reader, https://developer.android.com/reference/org/xml/sax/InputSource inputSource) ` Create a `SAXSource`, using an `https://developer.android.com/reference/org/xml/sax/XMLReader` and a SAX InputSource. |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/org/xml/sax/InputSource` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#getInputSource()() ` Get the SAX InputSource to be used for the Source. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#getSystemId()() ` <br /> Get the base ID (URI or system ID) from where URIs will be resolved. |
| ` https://developer.android.com/reference/org/xml/sax/XMLReader` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#getXMLReader()() ` Get the XMLReader to be used for the Source. |
| ` void` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#setInputSource(org.xml.sax.InputSource)(https://developer.android.com/reference/org/xml/sax/InputSource inputSource) ` Set the SAX InputSource to be used for the Source. |
| ` void` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#setSystemId(java.lang.String)(https://developer.android.com/reference/java/lang/String systemId) ` Set the system identifier for this Source. |
| ` void` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#setXMLReader(org.xml.sax.XMLReader)(https://developer.android.com/reference/org/xml/sax/XMLReader reader) ` Set the XMLReader to be used for the Source. |
| ` static https://developer.android.com/reference/org/xml/sax/InputSource` | ` https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#sourceToInputSource(javax.xml.transform.Source)(https://developer.android.com/reference/javax/xml/transform/Source source) ` Attempt to obtain a SAX InputSource object from a Source object. |

### Inherited methods

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*.
From interface ` https://developer.android.com/reference/javax/xml/transform/Source ` ` abstract https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/javax/xml/transform/Source#getSystemId()() `

Get the system identifier that was set with setSystemId.
` abstract void` ` https://developer.android.com/reference/javax/xml/transform/Source#setSystemId(java.lang.String)(https://developer.android.com/reference/java/lang/String systemId) `

Set the system identifier for this Source.

## 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 Transformer supports Source input of this type.

<br />

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

## Public constructors

### SAXSource

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

```
public SAXSource ()
```

<br />

Zero-argument default constructor. If this constructor is used, and no SAX source is set using `https://developer.android.com/reference/javax/xml/transform/sax/SAXSource#setInputSource(org.xml.sax.InputSource)` , then the `Transformer` will create an empty source `https://developer.android.com/reference/org/xml/sax/InputSource` using `https://developer.android.com/reference/org/xml/sax/InputSource#InputSource()`.

<br />

<br />

**See also:**

- `https://developer.android.com/reference/javax/xml/transform/Transformer#transform(javax.xml.transform.Source,%20javax.xml.transform.Result)`

### SAXSource

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

```
public SAXSource (InputSource inputSource)
```

Create a `SAXSource`, using a SAX `InputSource`. The `https://developer.android.com/reference/javax/xml/transform/Transformer` or `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory` creates a reader via `https://developer.android.com/reference/org/xml/sax/helpers/XMLReaderFactory` (if setXMLReader is not used), sets itself as the reader's `https://developer.android.com/reference/org/xml/sax/ContentHandler`, and calls reader.parse(inputSource).

<br />

| Parameters ||
|---|---|
| `inputSource` | `InputSource`: An input source reference that must be non-null and that will be passed to the parse method of the reader. <br /> |

### SAXSource

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

```
public SAXSource (XMLReader reader, 
                InputSource inputSource)
```

Create a `SAXSource`, using an `https://developer.android.com/reference/org/xml/sax/XMLReader` and a SAX InputSource. The `https://developer.android.com/reference/javax/xml/transform/Transformer` or `https://developer.android.com/reference/javax/xml/transform/sax/SAXTransformerFactory` will set itself to be the reader's `https://developer.android.com/reference/org/xml/sax/ContentHandler`, and then will call reader.parse(inputSource).

<br />

| Parameters ||
|---|---|
| `reader` | `XMLReader`: An XMLReader to be used for the parse. <br /> |
| `inputSource` | `InputSource`: A SAX input source reference that must be non-null and that will be passed to the reader parse method. <br /> |

## Public methods

### getInputSource

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

```
public InputSource getInputSource ()
```

Get the SAX InputSource to be used for the Source.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/org/xml/sax/InputSource` | A valid InputSource reference, or null. <br /> |

### getSystemId

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

```
public String getSystemId ()
```

<br />

Get the base ID (URI or system ID) from where URIs will be resolved.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | Base URL for the `Source`, or `null`. <br /> |

### getXMLReader

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

```
public XMLReader getXMLReader ()
```

Get the XMLReader to be used for the Source.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/org/xml/sax/XMLReader` | A valid XMLReader or XMLFilter reference, or null. <br /> |

### setInputSource

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

```
public void setInputSource (InputSource inputSource)
```

Set the SAX InputSource to be used for the Source.

<br />

| Parameters ||
|---|---|
| `inputSource` | `InputSource`: A valid InputSource reference. <br /> |

### setSystemId

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

```
public void setSystemId (String systemId)
```

Set the system identifier for this Source. If an input source has already been set, it will set the system ID or that input source, otherwise it will create a new input source.

The system identifier is optional if there is a byte stream or a character stream, but it is still useful to provide one, since the application can use it to resolve relative URIs and can include it in error messages and warnings (the parser will attempt to open a connection to the URI only if no byte stream or character stream is specified).

<br />

<br />

| Parameters ||
|---|---|
| `systemId` | `String`: The system identifier as a URI string. <br /> |

### setXMLReader

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

```
public void setXMLReader (XMLReader reader)
```

Set the XMLReader to be used for the Source.

<br />

| Parameters ||
|---|---|
| `reader` | `XMLReader`: A valid XMLReader or XMLFilter reference. <br /> |

### sourceToInputSource

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

```
public static InputSource sourceToInputSource (Source source)
```

Attempt to obtain a SAX InputSource object from a Source object.

<br />

| Parameters ||
|---|---|
| `source` | `Source`: Must be a non-null Source reference. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/org/xml/sax/InputSource` | An InputSource, or null if Source can not be converted. <br /> |