Class Poco::XML::EntityResolverImpl
Author: Applied Informatics Software Engineering GmbH and Contributors
Date: 2009-11-24

# 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

~EntityResolverImpl();

Destroys the EntityResolverImpl.

## Member Functions

### releaseInputSource

void releaseInputSource(
InputSource * pSource
);

Deletes the InputSource's stream.

See also: Poco::XML::EntityResolver::releaseInputSource()

### resolveEntity

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.

See also: Poco::XML::EntityResolver::resolveEntity()

### resolveSystemId

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