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

# LSInput


`
public


interface
LSInput
`


`


`

|---|
| org.w3c.dom.ls.LSInput |

<br />

*** ** * ** ***

This interface represents an input source for data.

This interface allows an application to encapsulate information about
an input source in a single object, which may include a public
identifier, a system identifier, a byte stream (possibly with a specified
encoding), a base URI, and/or a character stream.

The exact definitions of a byte stream and a character stream are
binding dependent.

The application is expected to provide objects that implement this
interface whenever such objects are needed. The application can either
provide its own objects that implement this interface, or it can use the
generic factory method `DOMImplementationLS.createLSInput()`
to create objects that implement this interface.

The `LSParser` will use the `LSInput` object to
determine how to read data. The `LSParser` will look at the
different inputs specified in the `LSInput` in the following
order to know which one to read from, the first one that is not null and
not an empty string will be used:

1. `LSInput.characterStream`
2. `LSInput.byteStream`
3. `LSInput.stringData`
4. `LSInput.systemId`
5. `LSInput.publicId`

If all inputs are null, the `LSParser` will report a
`DOMError` with its `DOMError.type` set to
`"no-input-specified"` and its `DOMError.severity`
set to `DOMError.SEVERITY_FATAL_ERROR`.

`LSInput` objects belong to the application. The DOM
implementation will never modify them (though it may make copies and
modify the copies, if necessary).

See also the [Document Object Model (DOM) Level 3 Load
and Save Specification](http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407).

## Summary

| ### Public methods ||
|---|---|
| ` abstract https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getBaseURI()() ` The base URI to be used (see section 5.1.4 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]) for resolving a relative `systemId` to an absolute URI. |
| ` abstract https://developer.android.com/reference/java/io/InputStream` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getByteStream()() ` An attribute of a language and binding dependent type that represents a stream of bytes. |
| ` abstract boolean` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getCertifiedText()() ` If set to true, assume that the input is certified (see section 2.13 in \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]) when parsing \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]. |
| ` abstract https://developer.android.com/reference/java/io/Reader` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getCharacterStream()() ` An attribute of a language and binding dependent type that represents a stream of 16-bit units. |
| ` abstract https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getEncoding()() ` The character encoding, if known. |
| ` abstract https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getPublicId()() ` The public identifier for this input source. |
| ` abstract https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getStringData()() ` String data to parse. |
| ` abstract https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#getSystemId()() ` The system identifier, a URI reference \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\], for this input source. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setBaseURI(java.lang.String)(https://developer.android.com/reference/java/lang/String baseURI) ` The base URI to be used (see section 5.1.4 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]) for resolving a relative `systemId` to an absolute URI. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setByteStream(java.io.InputStream)(https://developer.android.com/reference/java/io/InputStream byteStream) ` An attribute of a language and binding dependent type that represents a stream of bytes. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setCertifiedText(boolean)(boolean certifiedText) ` If set to true, assume that the input is certified (see section 2.13 in \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]) when parsing \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setCharacterStream(java.io.Reader)(https://developer.android.com/reference/java/io/Reader characterStream) ` An attribute of a language and binding dependent type that represents a stream of 16-bit units. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setEncoding(java.lang.String)(https://developer.android.com/reference/java/lang/String encoding) ` The character encoding, if known. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setPublicId(java.lang.String)(https://developer.android.com/reference/java/lang/String publicId) ` The public identifier for this input source. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setStringData(java.lang.String)(https://developer.android.com/reference/java/lang/String stringData) ` String data to parse. |
| ` abstract void` | ` https://developer.android.com/reference/org/w3c/dom/ls/LSInput#setSystemId(java.lang.String)(https://developer.android.com/reference/java/lang/String systemId) ` The system identifier, a URI reference \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\], for this input source. |

## Public methods

### getBaseURI

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

```
public abstract String getBaseURI ()
```

The base URI to be used (see section 5.1.4 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]) for
resolving a relative `systemId` to an absolute URI.

If, when used, the base URI is itself a relative URI, an empty
string, or null, the behavior is implementation dependent.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getByteStream

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

```
public abstract InputStream getByteStream ()
```

An attribute of a language and binding dependent type that represents
a stream of bytes.

If the application knows the character encoding of the byte
stream, it should set the encoding attribute. Setting the encoding in
this way will override any encoding specified in an XML declaration
in the data.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/io/InputStream` | <br /> |

### getCertifiedText

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

```
public abstract boolean getCertifiedText ()
```

If set to true, assume that the input is certified (see section 2.13
in \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]) when
parsing \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\].

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### getCharacterStream

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

```
public abstract Reader getCharacterStream ()
```

An attribute of a language and binding dependent type that represents
a stream of 16-bit units. The application must encode the stream
using UTF-16 (defined in \[Unicode\] and in \[ISO/IEC 10646\]). It is not a requirement to have an XML declaration when
using character streams. If an XML declaration is present, the value
of the encoding attribute will be ignored.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/io/Reader` | <br /> |

### getEncoding

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

```
public abstract String getEncoding ()
```

The character encoding, if known. The encoding must be a string
acceptable for an XML encoding declaration (\[[XML 1.0](http://www.w3.org/TR/2004/REC-xml-20040204)\] section
4.3.3 "Character Encoding in Entities").

This attribute has no effect when the application provides a
character stream or string data. For other sources of input, an
encoding specified by means of this attribute will override any
encoding specified in the XML declaration or the Text declaration, or
an encoding obtained from a higher level protocol, such as HTTP \[[IETF RFC 2616](http://www.ietf.org/rfc/rfc2616.txt)\].

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getPublicId

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

```
public abstract String getPublicId ()
```

The public identifier for this input source. This may be mapped to an
input source using an implementation dependent mechanism (such as
catalogues or other mappings). The public identifier, if specified,
may also be reported as part of the location information when errors
are reported.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getStringData

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

```
public abstract String getStringData ()
```

String data to parse. If provided, this will always be treated as a
sequence of 16-bit units (UTF-16 encoded characters). It is not a
requirement to have an XML declaration when using
`stringData`. If an XML declaration is present, the value
of the encoding attribute will be ignored.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### getSystemId

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

```
public abstract String getSystemId ()
```

The system identifier, a URI reference \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\], for this
input source. The system identifier is optional if there is a byte
stream, a character stream, or string data. It is still useful to
provide one, since the application will use it to resolve any
relative URIs and can include it in error messages and warnings. (The
LSParser will only attempt to fetch the resource identified by the
URI reference if there is no other input available in the input
source.)

If the application knows the character encoding of the object
pointed to by the system identifier, it can set the encoding using
the `encoding` attribute.

If the specified system ID is a relative URI reference (see
section 5 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]), the DOM
implementation will attempt to resolve the relative URI with the
`baseURI` as the base, if that fails, the behavior is
implementation dependent.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | <br /> |

### setBaseURI

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

```
public abstract void setBaseURI (String baseURI)
```

The base URI to be used (see section 5.1.4 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]) for
resolving a relative `systemId` to an absolute URI.

If, when used, the base URI is itself a relative URI, an empty
string, or null, the behavior is implementation dependent.

<br />

| Parameters ||
|---|---|
| `baseURI` | `String` <br /> |

### setByteStream

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

```
public abstract void setByteStream (InputStream byteStream)
```

An attribute of a language and binding dependent type that represents
a stream of bytes.

If the application knows the character encoding of the byte
stream, it should set the encoding attribute. Setting the encoding in
this way will override any encoding specified in an XML declaration
in the data.

<br />

| Parameters ||
|---|---|
| `byteStream` | `InputStream` <br /> |

### setCertifiedText

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

```
public abstract void setCertifiedText (boolean certifiedText)
```

If set to true, assume that the input is certified (see section 2.13
in \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\]) when
parsing \[[XML 1.1](http://www.w3.org/TR/2004/REC-xml11-20040204/)\].

<br />

| Parameters ||
|---|---|
| `certifiedText` | `boolean` <br /> |

### setCharacterStream

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

```
public abstract void setCharacterStream (Reader characterStream)
```

An attribute of a language and binding dependent type that represents
a stream of 16-bit units. The application must encode the stream
using UTF-16 (defined in \[Unicode\] and in \[ISO/IEC 10646\]). It is not a requirement to have an XML declaration when
using character streams. If an XML declaration is present, the value
of the encoding attribute will be ignored.

<br />

| Parameters ||
|---|---|
| `characterStream` | `Reader` <br /> |

### setEncoding

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

```
public abstract void setEncoding (String encoding)
```

The character encoding, if known. The encoding must be a string
acceptable for an XML encoding declaration (\[[XML 1.0](http://www.w3.org/TR/2004/REC-xml-20040204)\] section
4.3.3 "Character Encoding in Entities").

This attribute has no effect when the application provides a
character stream or string data. For other sources of input, an
encoding specified by means of this attribute will override any
encoding specified in the XML declaration or the Text declaration, or
an encoding obtained from a higher level protocol, such as HTTP \[[IETF RFC 2616](http://www.ietf.org/rfc/rfc2616.txt)\].

<br />

| Parameters ||
|---|---|
| `encoding` | `String` <br /> |

### setPublicId

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

```
public abstract void setPublicId (String publicId)
```

The public identifier for this input source. This may be mapped to an
input source using an implementation dependent mechanism (such as
catalogues or other mappings). The public identifier, if specified,
may also be reported as part of the location information when errors
are reported.

<br />

| Parameters ||
|---|---|
| `publicId` | `String` <br /> |

### setStringData

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

```
public abstract void setStringData (String stringData)
```

String data to parse. If provided, this will always be treated as a
sequence of 16-bit units (UTF-16 encoded characters). It is not a
requirement to have an XML declaration when using
`stringData`. If an XML declaration is present, the value
of the encoding attribute will be ignored.

<br />

| Parameters ||
|---|---|
| `stringData` | `String` <br /> |

### setSystemId

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

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

The system identifier, a URI reference \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\], for this
input source. The system identifier is optional if there is a byte
stream, a character stream, or string data. It is still useful to
provide one, since the application will use it to resolve any
relative URIs and can include it in error messages and warnings. (The
LSParser will only attempt to fetch the resource identified by the
URI reference if there is no other input available in the input
source.)

If the application knows the character encoding of the object
pointed to by the system identifier, it can set the encoding using
the `encoding` attribute.

If the specified system ID is a relative URI reference (see
section 5 in \[[IETF RFC 2396](http://www.ietf.org/rfc/rfc2396.txt)\]), the DOM
implementation will attempt to resolve the relative URI with the
`baseURI` as the base, if that fails, the behavior is
implementation dependent.

<br />

| Parameters ||
|---|---|
| `systemId` | `String` <br /> |