InputSource Class Referenceabstract

A single input source for an XML entity. More...

`#include <xercesc/sax/InputSource.hpp>`

Inheritance diagram for InputSource:

## Public Member Functions

Destructor
virtual | ~InputSource ()
| Destructor.
Virtual input source interface
virtual BinInputStream * | makeStream () const =0
| Makes the byte stream for this input source.
Getter methods
virtual const XMLCh * | getEncoding () const
| An input source can be set to force the parser to assume a particular encoding for the data that input source represents, via the setEncoding() method.
virtual const XMLCh * | getPublicId () const
| Get the public identifier for this input source.
virtual const XMLCh * | getSystemId () const
| Get the system identifier for this input source.
virtual bool | getIssueFatalErrorIfNotFound () const
| Get the flag that indicates if the parser should issue fatal error if this input source is not found.
MemoryManager * | getMemoryManager () const
Setter methods
virtual void | setEncoding (const XMLCh *const encodingStr)
| Set the encoding which will be required for use with the XML text read via a stream opened by this input source.
virtual void | setPublicId (const XMLCh *const publicId)
| Set the public identifier for this input source.
virtual void | setSystemId (const XMLCh *const systemId)
| Set the system identifier for this input source.
virtual void | setIssueFatalErrorIfNotFound (const bool flag)
| Indicates if the parser should issue fatal error if this input source is not found.
Public Member Functions inherited from XMemory
void * | operator new (size_t size)
| This method overrides operator new.
void * | operator new (size_t size, MemoryManager *memMgr)
| This method defines a custom operator new, that will use the provided memory manager to perform the allocation.
void * | operator new (size_t size, void *ptr)
| This method overrides placement operator new.
void | operator delete (void *p)
| This method overrides operator delete.
void | operator delete (void *p, MemoryManager *memMgr)
| This method provides a matching delete for the custom operator new.
void | operator delete (void *p, void *ptr)
| This method provides a matching delete for the placement new.

## Constructors and Destructor

| InputSource (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Default constructor.
| InputSource (const XMLCh *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor with a system identifier as XMLCh type.
| InputSource (const XMLCh *const systemId, const XMLCh *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor with a system and public identifiers.
| InputSource (const char *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor witha system identifier as string.
| InputSource (const char *const systemId, const char *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor witha system and public identifiers.

## Additional Inherited Members

Protected Member Functions inherited from XMemory
| XMemory ()
| Protected default constructor.

## Detailed Description

A single input source for an XML entity.

This class encapsulates information about an input source in a single object, which may include a public identifier or a system identifier

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.

InputSource is never used directly, but is the base class for a number of derived classes for particular types of input sources. Derivatives are provided (in the framework/ directory) for URL input sources, memory buffer input sources, and so on.

When it is time to parse the input described by an input source, it will be asked to create a binary stream for that source. That stream will be used to input the data of the source. The derived class provides the implementation of the makeStream() method, and provides a type of stream of the correct type for the input source it represents.

An InputSource object belongs to the application: the parser never modifies them in any way. They are always passed by const reference so the parser will make a copy of any input sources that it must keep around beyond the call.

See also
  Parser::parse
  EntityResolver::resolveEntity

## Constructor & Destructor Documentation

## ~InputSource()

virtual InputSource::~InputSource | ( |  | ) |

virtual

Destructor.

## InputSource() [1/5]

InputSource::InputSource | ( | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager | ) |

protected

Default constructor.

## InputSource() [2/5]

InputSource::InputSource | ( | const XMLCh *const | systemId,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

protected

Constructor with a system identifier as XMLCh type.

Parameters

  systemId | The system identifier (URI).
  manager | Pointer to the memory manager to be used to allocate objects.

## InputSource() [3/5]

InputSource::InputSource | ( | const XMLCh *const | systemId,
|  | const XMLCh *const | publicId,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

protected

Constructor with a system and public identifiers.

Parameters

  systemId | The system identifier (URI).
  publicId | The public identifier as in the entity definition.
  manager | Pointer to the memory manager to be used to allocate objects.

## InputSource() [4/5]

InputSource::InputSource | ( | const char *const | systemId,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

protected

Constructor witha system identifier as string.

Parameters

  systemId | The system identifier (URI).
  manager | Pointer to the memory manager to be used to allocate objects.

## InputSource() [5/5]

InputSource::InputSource | ( | const char *const | systemId,
|  | const char *const | publicId,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

protected

Constructor witha system and public identifiers.

Both as string

Parameters

  systemId | The system identifier (URI).
  publicId | The public identifier as in the entity definition.
  manager | Pointer to the memory manager to be used to allocate objects.

## Member Function Documentation

## getEncoding()

const XMLCh * InputSource::getEncoding | ( |  | ) | const

virtual

An input source can be set to force the parser to assume a particular encoding for the data that input source represents, via the setEncoding() method.

This method returns name of the encoding that is to be forced. If the encoding has never been forced, it returns a null pointer.

Returns
  The forced encoding, or null if none was supplied.

See also
  setEncoding

Reimplemented in Wrapper4DOMLSInput.

## getIssueFatalErrorIfNotFound()

bool InputSource::getIssueFatalErrorIfNotFound | ( |  | ) | const

virtual

Get the flag that indicates if the parser should issue fatal error if this input source is not found.

Returns
  True if the parser should issue fatal error if this input source is not found. False if the parser issue warning message instead.

See also
  setIssueFatalErrorIfNotFound

Reimplemented in Wrapper4DOMLSInput.

## getMemoryManager()

MemoryManager * InputSource::getMemoryManager | ( |  | ) | const

## getPublicId()

const XMLCh * InputSource::getPublicId | ( |  | ) | const

virtual

Get the public identifier for this input source.

Returns
  The public identifier, or null if none was supplied.

See also
  setPublicId

Reimplemented in Wrapper4DOMLSInput.

## getSystemId()

const XMLCh * InputSource::getSystemId | ( |  | ) | const

virtual

Get the system identifier for this input source.

If the system ID is a URL, it will be fully resolved.

Returns
  The system identifier.

See also
  setSystemId

Reimplemented in Wrapper4DOMLSInput.

## makeStream()

virtual BinInputStream * InputSource::makeStream | ( |  | ) | const

pure virtual

Makes the byte stream for this input source.

The derived class must create and return a binary input stream of an appropriate type for its kind of data source. The returned stream must be dynamically allocated and becomes the parser's property.

See also
  BinInputStream

Implemented in LocalFileInputSource, MemBufInputSource, StdInInputSource, URLInputSource, and Wrapper4DOMLSInput.

## setEncoding()

virtual void InputSource::setEncoding | ( | const XMLCh *const | encodingStr | ) |

virtual

Set the encoding which will be required for use with the XML text read via a stream opened by this input source.

This is usually not set, allowing the encoding to be sensed in the usual XML way. However, in some cases, the encoding in the file is known to be incorrect because of intermediate transcoding, for instance encapsulation within a MIME document.

Parameters

  encodingStr | The name of the encoding to force.

Reimplemented in Wrapper4DOMLSInput.

## setIssueFatalErrorIfNotFound()

void InputSource::setIssueFatalErrorIfNotFound | ( | const bool | flag | ) |

virtual

Indicates if the parser should issue fatal error if this input source is not found.

If set to false, the parser issue warning message instead.

Parameters

  flag | True if the parser should issue fatal error if this input source is not found. If set to false, the parser issue warning message instead. (Default: true)

See also
  getIssueFatalErrorIfNotFound

Reimplemented in Wrapper4DOMLSInput.

## setPublicId()

virtual void InputSource::setPublicId | ( | const XMLCh *const | publicId | ) |

virtual

Set 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.

Parameters

  publicId | The public identifier as a string.

See also
  Locator::getPublicId
  SAXParseException::getPublicId
  getPublicId

Reimplemented in Wrapper4DOMLSInput.

## setSystemId()

virtual void InputSource::setSystemId | ( | const XMLCh *const | systemId | ) |

virtual

Set the system identifier for this input source.

Set the system identifier for this input source.

The system id is always required. The public id may be used to map to another system id, but the system id must always be present as a fall back.

If the system ID is a URL, it must be fully resolved.

Parameters

  systemId | The system identifier as a string.

See also
  getSystemId
  Locator::getSystemId
  SAXParseException::getSystemId

Reimplemented in Wrapper4DOMLSInput.

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

- InputSource.hpp