CopperSpice API  1.7.2
QXmlEntityResolver Class Referenceabstract

The QXmlEntityResolver class provides an interface to resolve external entities contained in XML data. More...

Inheritance diagram for QXmlEntityResolver:
QXmlDefaultHandler

Public Methods

virtual ~QXmlEntityResolver ()
 
virtual QString errorString () const = 0
 
virtual bool resolveEntity (const QString &publicId, const QString &systemId, QXmlInputSource *&inputSource) = 0
 

Detailed Description

The QXmlEntityResolver class provides an interface to resolve external entities contained in XML data.

If an application needs to implement customized handling for external entities, it must implement this interface, i.e. resolveEntity(), and register it with QXmlReader::setEntityResolver().

See also
QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlErrorHandler, QXmlLexicalHandler, Introduction to SAX2

Constructor & Destructor Documentation

QXmlEntityResolver::~QXmlEntityResolver ( )
inlinevirtual

Destroys the entity resolver.

Method Documentation

QString QXmlEntityResolver::errorString ( ) const
pure virtual

The reader calls this function to get an error string if any of the handler functions returns false.

bool QXmlEntityResolver::resolveEntity ( const QString publicId,
const QString systemId,
QXmlInputSource *&  inputSource 
)
pure virtual

The reader calls this method before it opens any external entity, except the top-level document entity. The application may request the reader to resolve the entity itself by pass inputSource as a nullptr. To use a different input source inputSource points to the input source. The reader deletes the inputSource when it is no longer needed. Ensure the inputSource is allocated on the heap with new.

The argument publicId is the public identifier of the external entity, systemId is the system identifier of the external entity and retval is the return value of this function. If retval is a nullptr the reader should resolve the entity itself, if it is non-zero it must point to an input source which the reader uses instead.

If this method returns false the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.