Top Description Fields Constructors Methods
com.sun.org.apache.xerces.internal.dom

public Class DOMInputImpl

extends Object
implements LSInput
Class Inheritance
All Implemented Interfaces
org.w3c.dom.ls.LSInput
Imports
org.w3c.dom.ls.LSInput, java.io.Reader, .InputStream

This Class DOMInputImpl represents a single input source for an XML entity.

This Class 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), and/or a character stream.

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

There are two places that the application will deliver this input source to the parser: as the argument to the parse method, or as the return value of the DOMResourceResolver.resolveEntity method.

The DOMParser will use the LSInput object to determine how to read XML input. If there is a character stream available, the parser will read that stream directly; if not, the parser will use a byte stream, if available; if neither a character stream nor a byte stream is available, the parser will attempt to open a URI connection to the resource identified by the system identifier.

An LSInput object belongs to the application: the parser shall never modify it in any way (it may modify a copy if necessary). Eventhough all attributes in this interface are writable the DOM implementation is expected to never mutate a LSInput.

See also the Document Object Model (DOM) Level 3 Abstract Schemas and Load and Save Specification.

Author
Gopal Sharma, SUN Microsystems Inc.

Field Summary

Modifier and TypeField and Description
protected String
protected InputStream
protected boolean
protected Reader
protected String
protected String
protected String
protected String

Constructor Summary

AccessConstructor and Description
public
DOMInputImpl()

Default Constructor, constructs an input source

public
DOMInputImpl(String
The public identifier, if known.
publicId
,
String
The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.
systemId
,
String
The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.
baseSystemId
)

Constructs an input source from just the public and system identifiers, leaving resolution of the entity and opening of the input stream up to the caller.

public
DOMInputImpl(String
The public identifier, if known.
publicId
,
String
The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.
systemId
,
String
The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.
baseSystemId
,
InputStream
The byte stream.
byteStream
,
String
The encoding of the byte stream, if known.
encoding
)

Constructs an input source from a byte stream.

public
DOMInputImpl(String
The public identifier, if known.
publicId
,
String
The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.
systemId
,
String
The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.
baseSystemId
,
Reader
The character stream.
charStream
,
String
The original encoding of the byte stream used by the reader, if known.
encoding
)

Constructs an input source from a character stream.

public
DOMInputImpl(String
The public identifier, if known.
publicId
,
String
The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.
systemId
,
String
The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.
baseSystemId
,
String
The String Data.
data
,
String
The original encoding of the byte stream used by the reader, if known.
encoding
)

Constructs an input source from a String.

Method Summary

Modifier and TypeMethod and Description
public String
getBaseURI()

Implements org.w3c.dom.ls.LSInput.getBaseURI.

The base URI to be used (see section 5.1.4 in ) for resolving relative URIs to absolute URIs.

public InputStream
getByteStream()

Implements org.w3c.dom.ls.LSInput.getByteStream.

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

public boolean
getCertifiedText()

Implements org.w3c.dom.ls.LSInput.getCertifiedText.

If set to true, assume that the input is certified (see section 2.13 in [XML 1.1]) when parsing [XML 1.1].

public Reader
getCharacterStream()

Implements org.w3c.dom.ls.LSInput.getCharacterStream.

An attribute of a language-binding dependent type that represents a stream of 16-bit units.

public String
getEncoding()

Implements org.w3c.dom.ls.LSInput.getEncoding.

The character encoding, if known.

public String
getPublicId()

Implements org.w3c.dom.ls.LSInput.getPublicId.

The public identifier for this input source.

public String
getStringData()

Implements org.w3c.dom.ls.LSInput.getStringData.

A string attribute that represents a sequence of 16 bit units (utf-16 encoded characters).

public String
getSystemId()

Implements org.w3c.dom.ls.LSInput.getSystemId.

The system identifier, a URI reference , for this input source.

public void
setBaseURI(String baseURI)

Implements org.w3c.dom.ls.LSInput.setBaseURI.

The base URI to be used (see section 5.1.4 in ) for resolving relative URIs to absolute URIs.

public void
setByteStream(InputStream byteStream)

Implements org.w3c.dom.ls.LSInput.setByteStream.

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

public void
setCertifiedText(boolean certifiedText)

Implements org.w3c.dom.ls.LSInput.setCertifiedText.

If set to true, assume that the input is certified (see section 2.13 in [XML 1.1]) when parsing [XML 1.1].

public void
setCharacterStream(Reader characterStream)

Implements org.w3c.dom.ls.LSInput.setCharacterStream.

An attribute of a language-binding dependent type that represents a stream of 16-bit units.

public void
setEncoding(String encoding)

Implements org.w3c.dom.ls.LSInput.setEncoding.

The character encoding, if known.

public void
setPublicId(String publicId)

Implements org.w3c.dom.ls.LSInput.setPublicId.

The public identifier for this input source.

public void
setStringData(String stringData)

Implements org.w3c.dom.ls.LSInput.setStringData.

A string attribute that represents a sequence of 16 bit units (utf-16 encoded characters).

public void
setSystemId(String systemId)

Implements org.w3c.dom.ls.LSInput.setSystemId.

The system identifier, a URI reference , for this input source.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fBaseSystemIdback to summary
protected String fBaseSystemId
fByteStreamback to summary
protected InputStream fByteStream
fCertifiedTextback to summary
protected boolean fCertifiedText
fCharStreamback to summary
protected Reader fCharStream
fDataback to summary
protected String fData
fEncodingback to summary
protected String fEncoding
fPublicIdback to summary
protected String fPublicId
fSystemIdback to summary
protected String fSystemId

Constructor Detail

DOMInputImplback to summary
public DOMInputImpl()

Default Constructor, constructs an input source

DOMInputImplback to summary
public DOMInputImpl(String publicId, String systemId, String baseSystemId)

Constructs an input source from just the public and system identifiers, leaving resolution of the entity and opening of the input stream up to the caller.

Parameters
publicId:String

The public identifier, if known.

systemId:String

The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.

baseSystemId:String

The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.

DOMInputImplback to summary
public DOMInputImpl(String publicId, String systemId, String baseSystemId, InputStream byteStream, String encoding)

Constructs an input source from a byte stream.

Parameters
publicId:String

The public identifier, if known.

systemId:String

The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.

baseSystemId:String

The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.

byteStream:InputStream

The byte stream.

encoding:String

The encoding of the byte stream, if known.

DOMInputImplback to summary
public DOMInputImpl(String publicId, String systemId, String baseSystemId, Reader charStream, String encoding)

Constructs an input source from a character stream.

Parameters
publicId:String

The public identifier, if known.

systemId:String

The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.

baseSystemId:String

The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.

charStream:Reader

The character stream.

encoding:String

The original encoding of the byte stream used by the reader, if known.

DOMInputImplback to summary
public DOMInputImpl(String publicId, String systemId, String baseSystemId, String data, String encoding)

Constructs an input source from a String.

Parameters
publicId:String

The public identifier, if known.

systemId:String

The system identifier. This value should always be set, if possible, and can be relative or absolute. If the system identifier is relative, then the base system identifier should be set.

baseSystemId:String

The base system identifier. This value should always be set to the fully expanded URI of the base system identifier, if possible.

data:String

The String Data.

encoding:String

The original encoding of the byte stream used by the reader, if known.

Method Detail

getBaseURIback to summary
public String getBaseURI()

Implements org.w3c.dom.ls.LSInput.getBaseURI.

The base URI to be used (see section 5.1.4 in ) for resolving relative URIs to absolute URIs. If the baseURI is itself a relative URI, the behavior is implementation dependent.

getByteStreamback to summary
public InputStream getByteStream()

Implements org.w3c.dom.ls.LSInput.getByteStream.

An attribute of a language-binding dependent type that represents a stream of bytes.
The parser will ignore this if there is also a character stream specified, but it will use a byte stream in preference to opening a URI connection itself.
If the application knows the character encoding of the byte stream, it should set the encoding property. Setting the encoding in this way will override any encoding specified in the XML declaration itself.

getCertifiedTextback to summary
public boolean getCertifiedText()

Implements org.w3c.dom.ls.LSInput.getCertifiedText.

If set to true, assume that the input is certified (see section 2.13 in [XML 1.1]) when parsing [XML 1.1].

getCharacterStreamback to summary
public Reader getCharacterStream()

Implements org.w3c.dom.ls.LSInput.getCharacterStream.

An attribute of a language-binding dependent type that represents a stream of 16-bit units. Application must encode the stream using UTF-16 (defined in and Amendment 1 of ).
If a character stream is specified, the parser will ignore any byte stream and will not attempt to open a URI connection to the system identifier.

getEncodingback to summary
public String getEncoding()

Implements org.w3c.dom.ls.LSInput.getEncoding.

The character encoding, if known. The encoding must be a string acceptable for an XML encoding declaration ( section 4.3.3 "Character Encoding in Entities").
This attribute has no effect when the application provides a character stream. For other sources of input, an encoding specified by means of this attribute will override any encoding specified in the XML claration or the Text Declaration, or an encoding obtained from a higher level protocol, such as HTTP .

getPublicIdback to summary
public String getPublicId()

Implements org.w3c.dom.ls.LSInput.getPublicId.

The public identifier for this input source. The public identifier is always optional: if the application writer includes one, it will be provided as part of the location information.

getStringDataback to summary
public String getStringData()

Implements org.w3c.dom.ls.LSInput.getStringData.

A string attribute that represents a sequence of 16 bit units (utf-16 encoded characters).
If string data is available in the input source, the parser will ignore the character stream and the byte stream and will not attempt to open a URI connection to the system identifier.

getSystemIdback to summary
public String getSystemId()

Implements org.w3c.dom.ls.LSInput.getSystemId.

The system identifier, a URI reference , for this 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 fetch the ressource identifier by the URI reference only if there is no byte stream or character stream specified).
If the application knows the character encoding of the object pointed to by the system identifier, it can register the encoding by setting the encoding attribute.
If the system ID is a relative URI reference (see section 5 in ), the behavior is implementation dependent.

setBaseURIback to summary
public void setBaseURI(String baseURI)

Implements org.w3c.dom.ls.LSInput.setBaseURI.

The base URI to be used (see section 5.1.4 in ) for resolving relative URIs to absolute URIs. If the baseURI is itself a relative URI, the behavior is implementation dependent.

setByteStreamback to summary
public void setByteStream(InputStream byteStream)

Implements org.w3c.dom.ls.LSInput.setByteStream.

An attribute of a language-binding dependent type that represents a stream of bytes.
The parser will ignore this if there is also a character stream specified, but it will use a byte stream in preference to opening a URI connection itself.
If the application knows the character encoding of the byte stream, it should set the encoding property. Setting the encoding in this way will override any encoding specified in the XML declaration itself.

setCertifiedTextback to summary
public void setCertifiedText(boolean certifiedText)

Implements org.w3c.dom.ls.LSInput.setCertifiedText.

If set to true, assume that the input is certified (see section 2.13 in [XML 1.1]) when parsing [XML 1.1].

setCharacterStreamback to summary
public void setCharacterStream(Reader characterStream)

Implements org.w3c.dom.ls.LSInput.setCharacterStream.

An attribute of a language-binding dependent type that represents a stream of 16-bit units. Application must encode the stream using UTF-16 (defined in and Amendment 1 of ).
If a character stream is specified, the parser will ignore any byte stream and will not attempt to open a URI connection to the system identifier.

setEncodingback to summary
public void setEncoding(String encoding)

Implements org.w3c.dom.ls.LSInput.setEncoding.

The character encoding, if known. The encoding must be a string acceptable for an XML encoding declaration ( section 4.3.3 "Character Encoding in Entities").
This attribute has no effect when the application provides a character stream. For other sources of input, an encoding specified by means of this attribute will override any encoding specified in the XML claration or the Text Declaration, or an encoding obtained from a higher level protocol, such as HTTP .

setPublicIdback to summary
public void setPublicId(String publicId)

Implements org.w3c.dom.ls.LSInput.setPublicId.

The public identifier for this input source. The public identifier is always optional: if the application writer includes one, it will be provided as part of the location information.

setStringDataback to summary
public void setStringData(String stringData)

Implements org.w3c.dom.ls.LSInput.setStringData.

A string attribute that represents a sequence of 16 bit units (utf-16 encoded characters).
If string data is available in the input source, the parser will ignore the character stream and the byte stream and will not attempt to open a URI connection to the system identifier.

setSystemIdback to summary
public void setSystemId(String systemId)

Implements org.w3c.dom.ls.LSInput.setSystemId.

The system identifier, a URI reference , for this 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 fetch the ressource identifier by the URI reference only if there is no byte stream or character stream specified).
If the application knows the character encoding of the object pointed to by the system identifier, it can register the encoding by setting the encoding attribute.
If the system ID is a relative URI reference (see section 5 in ), the behavior is implementation dependent.