QXmlEntityResolver Class
The QXmlEntityResolver class provides an interface to resolve external entities contained in XML data. More...
Header: | #include <QXmlEntityResolver> |
qmake: | QT += xml |
Inherited By: |
Note: All functions in this class are reentrant.
Public Functions
virtual | ~QXmlEntityResolver() |
virtual QString | errorString() const = 0 |
virtual bool | resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret) = 0 |
Detailed Description
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, and Introduction to SAX2.
Member Function Documentation
[virtual]
QXmlEntityResolver::~QXmlEntityResolver()
Destroys the entity resolver.
[pure virtual]
QString QXmlEntityResolver::errorString() const
The reader calls this function to get an error string if any of the handler functions returns false
.
[pure virtual]
bool QXmlEntityResolver::resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
The reader calls this function before it opens any external entity, except the top-level document entity. The application may request the reader to resolve the entity itself (ret is 0) or to use an entirely different input source (ret points to the input source).
The reader deletes the input source ret when it no longer needs it, so you should allocate it 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 ret is the return value of this function. If ret is 0 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 function returns false
the reader stops parsing and reports an error. The reader uses the function errorString() to get the error message.
© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.