Xerces-C++: URLInputSource Class Reference

Xerces-C++ 3.2.3

List of all members
URLInputSource Class Reference

This class is a derivative of the standard InputSource class. More...

Inheritance diagram for URLInputSource:

## Public Member Functions
Constructors
| URLInputSource (const XMLURL &urlId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| This constructor accepts an already built URL. More...
| URLInputSource (const XMLCh *const baseId, const XMLCh *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| This constructor takes a base system id URL and a possibly relative system id. More...
| URLInputSource (const XMLCh *const baseId, const XMLCh *const systemId, const XMLCh *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| This constructor is identical to the previous one, except that it also allows you to set a public id if you want to. More...
| URLInputSource (const XMLCh *const baseId, const char *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| This constructor is identical to the second constructor above, except that it accepts the relative system id part as a local code page string and just transcodes it internally, as a convenience. More...
| URLInputSource (const XMLCh *const baseId, const char *const systemId, const char *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| This constructor is identical to the third constructor above, except that it accepts the relative and public ids as local code page strings and just transcodes them internally, as a convenience. More...
Destructor
| ~URLInputSource ()
Virtual methods
BinInputStream * | makeStream () const
| This method will return a binary input stream derivative that will parse from the source referred to by the URL system id. More...
Public Member Functions inherited from InputSource
virtual | ~InputSource ()
| Destructor. More...
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. More...
virtual const XMLCh * | getPublicId () const
| Get the public identifier for this input source. More...
virtual const XMLCh * | getSystemId () const
| Get the system identifier for this input source. More...
virtual bool | getIssueFatalErrorIfNotFound () const
| Get the flag that indicates if the parser should issue fatal error if this input source is not found. More...
MemoryManager * | getMemoryManager () const
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. More...
virtual void | setPublicId (const XMLCh *const publicId)
| Set the public identifier for this input source. More...
virtual void | setSystemId (const XMLCh *const systemId)
| Set the system identifier for this input source. More...
virtual void | setIssueFatalErrorIfNotFound (const bool flag)
| Indicates if the parser should issue fatal error if this input source is not found. More...
Public Member Functions inherited from XMemory
void * | operator new (size_t size)
| This method overrides operator new. More...
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. More...
void * | operator new (size_t size, void *ptr)
| This method overrides placement operator new. More...
void | operator delete (void *p)
| This method overrides operator delete. More...
void | operator delete (void *p, MemoryManager *memMgr)
| This method provides a matching delete for the custom operator new. More...
void | operator delete (void *p, void *ptr)
| This method provides a matching delete for the placement new. More...

## Getter methods
const XMLURL & | urlSrc () const
| This method will return a const reference to the URL member which contains the system id in pre-parsed URL form. More...

## Additional Inherited Members
Protected Member Functions inherited from InputSource
| InputSource (MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Default constructor. More...
| InputSource (const XMLCh *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor with a system identifier as XMLCh type. More...
| InputSource (const XMLCh *const systemId, const XMLCh *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor with a system and public identifiers. More...
| InputSource (const char *const systemId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor witha system identifier as string. More...
| InputSource (const char *const systemId, const char *const publicId, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Constructor witha system and public identifiers. More...
Protected Member Functions inherited from XMemory
| XMemory ()
| Protected default constructor. More...

## Detailed Description

This class is a derivative of the standard InputSource class.

It provides for the parser access to data which is referenced via a URL, as apposed to a local file name. The URL can be provided via an XMLURL class, as a fully qualified system id, or a base system id and a system id which may be fully qualified or may be relative to the base.

As with all InputSource derivatives. The primary objective of an input source is to create an input stream via which the parser can spool in data from the referenced source.

Note that the parse system does not necessarily support URL based XML entities out of the box. Support for socket based access is optional and controlled by the per-platform support.

## Constructor & Destructor Documentation

## ◆ URLInputSource() [1/5]

URLInputSource::URLInputSource | ( | const XMLURL & | urlId,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

This constructor accepts an already built URL.

It is assumed that it is correct and it will be used as is. In this case, no public id accepted, but it can still be set via the parent class' setPublicId() method.

Parameters

  urlId | The URL which holds the system id of the entity to parse.
  manager | Pointer to the memory manager to be used to allocate objects.

## ◆ URLInputSource() [2/5]

URLInputSource::URLInputSource | ( | const XMLCh *const | baseId,
|  | const XMLCh *const | systemId,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

This constructor takes a base system id URL and a possibly relative system id.

The relative part is parsed and, if it is indeed relative, it will be made relative to the passed base id. Otherwise, it will be taken as is.

Parameters

  baseId | The base system id URL which provides the base for any relative id part.
  systemId | The possibly relative system id URL. If its relative its based on baseId, else its taken as is.
  manager | Pointer to the memory manager to be used to allocate objects.

## ◆ URLInputSource() [3/5]

URLInputSource::URLInputSource | ( | const XMLCh *const | baseId,
|  | const XMLCh *const | systemId,
|  | const XMLCh *const | publicId,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

This constructor is identical to the previous one, except that it also allows you to set a public id if you want to.

Parameters

  baseId | The base system id URL which provides the base for any relative id part.
  systemId | The possibly relative system id URL. If its relative its based on baseId, else its taken as is.
  publicId | The optional public id to set. This is just passed on to the parent class for storage.
  manager | Pointer to the memory manager to be used to allocate objects.

## ◆ URLInputSource() [4/5]

URLInputSource::URLInputSource | ( | const XMLCh *const | baseId,
|  | const char *const | systemId,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

This constructor is identical to the second constructor above, except that it accepts the relative system id part as a local code page string and just transcodes it internally, as a convenience.

Parameters

  baseId | The base system id URL which provides the base for any relative id part.
  systemId | The possibly relative system id URL. If its relative its based on baseId, else its taken as is.
  manager | Pointer to the memory manager to be used to allocate objects.

## ◆ URLInputSource() [5/5]

URLInputSource::URLInputSource | ( | const XMLCh *const | baseId,
|  | const char *const | systemId,
|  | const char *const | publicId,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

This constructor is identical to the third constructor above, except that it accepts the relative and public ids as local code page strings and just transcodes them internally, as a convenience.

Parameters

  baseId | The base system id URL which provides the base for any relative id part.
  systemId | The possibly relative system id URL. If its relative its based on baseId, else its taken as is.
  publicId | The optional public id to set. This is just passed on to the parent class for storage. on to the parent class for storage.
  manager | Pointer to the memory manager to be used to allocate objects.

## ◆ ~URLInputSource()

URLInputSource::~URLInputSource | ( |  | ) |

## Member Function Documentation

## ◆ makeStream()

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

This method will return a binary input stream derivative that will parse from the source referred to by the URL system id.

Implements InputSource.

## ◆ urlSrc()

const XMLURL & URLInputSource::urlSrc | ( |  | ) | const

This method will return a const reference to the URL member which contains the system id in pre-parsed URL form.

If you just want the string format, call getSystemId() on the parent class.

Returns
  A const reference to a URL object that contains the current system id set for this input source.

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

- URLInputSource.hpp