# ACEXML_InputSource Class Reference

ACEXML_InputSource encapsulates the actual input stream with some added information. More...

`#include <ACEXML/common/InputSource.h>`

Collaboration diagram for ACEXML_InputSource:

[legend]
List of all members.

## Public Member Functions

| ACEXML_InputSource (void)
| ACEXML_InputSource (ACEXML_CharStream *stream)
| ACEXML_InputSource (const ACEXML_Char *systemId)
virtual | ~ACEXML_InputSource (void)
virtual ACEXML_CharStream * | getCharStream (void) const
virtual const ACEXML_Char * | getEncoding (void) const
virtual const ACEXML_Char * | getPublicId (void) const
virtual const ACEXML_Char * | getSystemId (void) const
virtual void | setCharStream (ACEXML_CharStream *charStream)
virtual void | setEncoding (const ACEXML_Char *encoding)
virtual void | setPublicId (const ACEXML_Char *publicId)
virtual void | setSystemId (const ACEXML_Char *systemId)

## Private Attributes

ACEXML_CharStream * | charStream_
ACEXML_Char * | encoding_
ACEXML_Char * | publicId_
ACEXML_Char * | systemId_

## Detailed Description

ACEXML_InputSource encapsulates the actual input stream with some added information.

This class allows a SAX 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.

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

The SAX parser will use the InputSource 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 InputSource object belongs to the application: the SAX parser shall never modify it in any way (it may modify a copy if necessary).

See also:
  ACEXML_CharStream

## Constructor & Destructor Documentation

ACEXML_InputSource::ACEXML_InputSource | ( | void |  | ) |

| Default constructor.

ACEXML_InputSource::ACEXML_InputSource | ( | ACEXML_CharStream * | stream | ) | `[explicit]`

| Create a new input source with a ACEXML_Char stream. Notice that ACEXML_InputSource assumes the ownership of <stream>

ACEXML_InputSource::ACEXML_InputSource | ( | const ACEXML_Char * | systemId | ) |

| Create a new input source with a system identifier.

ACEXML_InputSource::~ACEXML_InputSource | ( | void |  | ) | `[virtual]`

| Default destructor.

## Member Function Documentation

ACEXML_CharStream * ACEXML_InputSource::getCharStream | ( | void |  | ) | const`[virtual]`

| Get the ACEXML_Char stream for this input source.

const ACEXML_Char * ACEXML_InputSource::getEncoding | ( | void |  | ) | const`[virtual]`

| Get the character encoding for a byte stream or URI.

const ACEXML_Char * ACEXML_InputSource::getPublicId | ( | void |  | ) | const`[virtual]`

| Get the public identifier for this input source.

const ACEXML_Char * ACEXML_InputSource::getSystemId | ( | void |  | ) | const`[virtual]`

| Get the system identifier for this input source.

void ACEXML_InputSource::setCharStream | ( | ACEXML_CharStream * | charStream | ) | `[virtual]`

| Set the ACEXML_Char stream for this input source. Notice that ACEXML_InputSource assumes the ownership of <stream>

void ACEXML_InputSource::setEncoding | ( | const ACEXML_Char * | encoding | ) | `[virtual]`

| Set the character encoding, if known.

void ACEXML_InputSource::setPublicId | ( | const ACEXML_Char * | publicId | ) | `[virtual]`

| Set the public identifier for this input source.

void ACEXML_InputSource::setSystemId | ( | const ACEXML_Char * | systemId | ) | `[virtual]`

| Set the public identifier for this input source.

## Member Data Documentation

ACEXML_CharStream* ACEXML_InputSource::charStream_`[private]`

ACEXML_Char* ACEXML_InputSource::encoding_`[private]`

ACEXML_Char* ACEXML_InputSource::publicId_`[private]`

ACEXML_Char* ACEXML_InputSource::systemId_`[private]`

The documentation for this class was generated from the following files:

- InputSource.h
- InputSource.cpp