Spec-Zone.ru › Qt 5.9

Класс QXmlDefaultHandler

Класс QXmlDefaultHandler предоставляет реализацию по умолчанию для всех классов обработчиков XML. Подробнее...

Заголовок: #include <QXmlDefaultHandler>
qmake: QT += xml
Наследуется от: QXmlContentHandler, QXmlErrorHandler, QXmlDTDHandler, QXmlEntityResolver, QXmlLexicalHandler и QXmlDeclHandler
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются входно-выходными.

Публичные функции

QXmlDefaultHandler()
virtual ~QXmlDefaultHandler()

Переопределённые публичные функции

virtual bool attributeDecl(const QString &eName, const QString &aName, const QString &type, const QString &valueDefault, const QString &value)
virtual bool characters(const QString &ch)
virtual bool comment(const QString &ch)
virtual bool endCDATA()
virtual bool endDTD()
virtual bool endDocument()
virtual bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
virtual bool endEntity(const QString &name)
virtual bool endPrefixMapping(const QString &prefix)
virtual bool error(const QXmlParseException &exception)
virtual QString errorString() const
virtual bool externalEntityDecl(const QString &name, const QString &publicId, const QString &systemId)
virtual bool fatalError(const QXmlParseException &exception)
virtual bool ignorableWhitespace(const QString &ch)
virtual bool internalEntityDecl(const QString &name, const QString &value)
virtual bool notationDecl(const QString &name, const QString &publicId, const QString &systemId)
virtual bool processingInstruction(const QString &target, const QString &data)
virtual bool resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
virtual void setDocumentLocator(QXmlLocator *locator)
virtual bool skippedEntity(const QString &name)
virtual bool startCDATA()
virtual bool startDTD(const QString &name, const QString &publicId, const QString &systemId)
virtual bool startDocument()
virtual bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)
virtual bool startEntity(const QString &name)
virtual bool startPrefixMapping(const QString &prefix, const QString &uri)
virtual bool unparsedEntityDecl(const QString &name, const QString &publicId, const QString &systemId, const QString &notationName)
virtual bool warning(const QXmlParseException &exception)
  • 12 публичных функций унаследованы от QXmlContentHandler
  • 4 публичных функций унаследованы от QXmlErrorHandler
  • 3 публичных функций унаследованы от QXmlDTDHandler
  • 2 публичных функций унаследованы от QXmlEntityResolver
  • 8 публичных функций унаследованы от QXmlLexicalHandler
  • 4 публичных функций унаследованы от QXmlDeclHandler

Подробное описание

Класс QXmlDefaultHandler предоставляет реализацию по умолчанию для всех классов обработчиков XML.

Этот класс объединяет функции специализированных классов обработчиков, делая его удобной отправной точкой при реализации пользовательских обработчиков для подклассов QXmlReader, особенно QXmlSimpleReader. Виртуальные функции из каждого из базовых классов переопределяются в этом классе, обеспечивая разумное поведение по умолчанию во многих распространённых случаях. Наследуя этот класс и переопределяя эти функции, вы можете сконцентрироваться на реализации частей обработчика, релевантных вашему применению.

Читатель XML должен указать, какой обработчик использовать для разных типов событий во время разбора. Это означает, что, хотя QXmlDefaultHandler предоставляет реализации по умолчанию функций, унаследованных от всех его базовых классов, мы всё ещё можем использовать специализированные обработчики для определённых типов событий.

Например, QXmlDefaultHandler является подклассом как QXmlContentHandler, так и QXmlErrorHandler, поэтому, наследуя его, мы можем использовать один и тот же обработчик для обеих следующих функций читателя:

    xmlReader.setContentHandler(handler);
    xmlReader.setErrorHandler(handler);

Поскольку читатель сообщит обработчику об ошибках разбора, необходимо переопределить QXmlErrorHandler::fatalError() если, например, мы хотим остановить разбор при возникновении такой ошибки:

bool Handler::fatalError (const QXmlParseException & exception)
{
    qWarning() << "Fatal error on line" << exception.lineNumber()
               << ", column" << exception.columnNumber() << ':'
               << exception.message();

    return false;
}

Вышеупомянутая функция возвращает false, что говорит читателю остановить разбор. Для продолжения использования того же читателя необходимо создать новый экземпляр обработчика и настроить читатель для его использования таким образом, как описано выше.

Полезно изучить некоторые функции, унаследованные от QXmlDefaultHandler, и понять, почему их можно переопределять в пользовательском обработчике. Пользовательские обработчики обычно переопределяют QXmlContentHandler::startDocument() для подготовки обработчика к новому содержимому. Элементы документа и текст внутри них можно обработать, переопределив QXmlContentHandler::startElement(), QXmlContentHandler::endElement() и QXmlContentHandler::characters(). Возможно, вам потребуется переопределить QXmlContentHandler::endDocument() для выполнения некоторой финализации или проверки содержимого после полного прочтения документа.

См. также QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, QXmlLexicalHandler и Введение в SAX2.

Документация по членам-функциям

QXmlDefaultHandler::QXmlDefaultHandler()

Создаёт обработчик для использования с подклассами QXmlReader.

[virtual] QXmlDefaultHandler::~QXmlDefaultHandler()

Удаляет обработчик.

[virtual] bool QXmlDefaultHandler::attributeDecl(const QString &eName, const QString &aName, const QString &type, const QString &valueDefault, const QString &value)

Переопределено из QXmlDeclHandler::attributeDecl().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::characters(const QString &ch)

Переопределено из QXmlContentHandler::characters().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::comment(const QString &ch)

Переопределено из QXmlLexicalHandler::comment().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endCDATA()

Переопределено из QXmlLexicalHandler::endCDATA().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endDTD()

Переопределено из QXmlLexicalHandler::endDTD().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endDocument()

Переопределено из QXmlContentHandler::endDocument().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endElement(const QString &namespaceURI, const QString &localName, const QString &qName)

Переопределено из QXmlContentHandler::endElement().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endEntity(const QString &name)

Переопределено из QXmlLexicalHandler::endEntity().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::endPrefixMapping(const QString &prefix)

Переопределено из QXmlContentHandler::endPrefixMapping().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::error(const QXmlParseException &exception)

Переопределено из QXmlErrorHandler::error().

Это переопределение ничего не делает.

[virtual] QString QXmlDefaultHandler::errorString() const

Переопределено из QXmlContentHandler::errorString().

Возвращает строку ошибки по умолчанию.

[virtual] bool QXmlDefaultHandler::externalEntityDecl(const QString &name, const QString &publicId, const QString &systemId)

Переопределено из QXmlDeclHandler::externalEntityDecl().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::fatalError(const QXmlParseException &exception)

Переопределено из QXmlErrorHandler::fatalError().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::ignorableWhitespace(const QString &ch)

Переопределено из QXmlContentHandler::ignorableWhitespace().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::internalEntityDecl(const QString &name, const QString &value)

Переопределено из QXmlDeclHandler::internalEntityDecl().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::notationDecl(const QString &name, const QString &publicId, const QString &systemId)

Переопределено из QXmlDTDHandler::notationDecl().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::processingInstruction(const QString &target, const QString &data)

Переопределено из QXmlContentHandler::processingInstruction().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret)

Переопределено из QXmlEntityResolver::resolveEntity().

Устанавливает ret в 0, чтобы читатель использовал идентификатор системы, указанный в документе XML.

[virtual] void QXmlDefaultHandler::setDocumentLocator(QXmlLocator *locator)

Переопределено из QXmlContentHandler::setDocumentLocator().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::skippedEntity(const QString &name)

Переопределено из QXmlContentHandler::skippedEntity().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::startCDATA()

Переопределено из QXmlLexicalHandler::startCDATA().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::startDTD(const QString &name, const QString &publicId, const QString &systemId)

Переопределено из QXmlLexicalHandler::startDTD().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::startDocument()

Переопределено из QXmlContentHandler::startDocument().

Это переопределение ничего не делает.

[virtual] bool QXmlDefaultHandler::startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts)

Переопределено из QXmlContentHandler::startElement().

Эта переопределённая реализация ничего не делает.

[virtual] bool QXmlDefaultHandler::startEntity(const QString &name)

Переопределено из QXmlLexicalHandler::startEntity().

Эта переопределённая реализация ничего не делает.

[virtual] bool QXmlDefaultHandler::startPrefixMapping(const QString &prefix, const QString &uri)

Переопределено из QXmlContentHandler::startPrefixMapping().

Эта переопределённая реализация ничего не делает.

[virtual] bool QXmlDefaultHandler::unparsedEntityDecl(const QString &name, const QString &publicId, const QString &systemId, const QString &notationName)

Переопределено из QXmlDTDHandler::unparsedEntityDecl().

Эта переопределённая реализация ничего не делает.

[virtual] bool QXmlDefaultHandler::warning(const QXmlParseException &exception)

Переопределено из QXmlErrorHandler::warning().

Эта переопределённая реализация ничего не делает.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qxmldefaulthandler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API