Poco::XML

class EntityResolverImpl

Library: XML
Package: SAX
Header: Poco/SAX/EntityResolverImpl.h

Description

A default implementation of the EntityResolver interface.

The system ID is first interpreted as an URI and the URIStreamOpener is used to create and open an istream for an InputSource.

If the system ID is not a valid URI, it is interpreted as a filesystem path and a Poco::FileInputStream is opened for it.

Inheritance

Direct Base Classes: EntityResolver

All Base Classes: EntityResolver

Member Summary

Member Functions: releaseInputSource, resolveEntity, resolveSystemId

Inherited Functions: releaseInputSource, resolveEntity

Constructors

EntityResolverImpl

EntityResolverImpl();

Creates an EntityResolverImpl that uses the default URIStreamOpener.

EntityResolverImpl

EntityResolverImpl(
    const Poco::URIStreamOpener & opener
);

Creates an EntityResolverImpl that uses the given URIStreamOpener.

Destructor

~EntityResolverImpl virtual

~EntityResolverImpl();

Destroys the EntityResolverImpl.

Member Functions

releaseInputSource virtual

void releaseInputSource(
    InputSource * pSource
);

Deletes the InputSource's stream.

resolveEntity virtual

InputSource * resolveEntity(
    const XMLString * publicId,
    const XMLString & systemId
);

Tries to use the URIStreamOpener to create and open an istream for the given systemId, which is interpreted as an URI.

If the systemId is not a valid URI, it is interpreted as a local filesystem path and a Poco::FileInputStream is opened for it.

resolveSystemId protected

std::istream * resolveSystemId(
    const XMLString & systemId
);