Описание класса QXmlDefaultHandler
|
| 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 ) |
Класс 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.
Создаёт обработчик для использования в подклассах QXmlReader.
Уничтожает обработчик.
Повторно реализовано из QXmlDeclHandler::attributeDecl().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::characters().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::comment().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::endCDATA().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::endDTD().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::endDocument().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::endElement().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::endEntity().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::endPrefixMapping().
Эта реализация ничего не делает.
Повторно реализовано из QXmlErrorHandler::error().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::errorString().
Возвращает по умолчанию строку с ошибкой.
Повторно реализовано из QXmlDeclHandler::externalEntityDecl().
Эта реализация ничего не делает.
Повторно реализовано из QXmlErrorHandler::fatalError().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::ignorableWhitespace().
Эта реализация ничего не делает.
Повторно реализовано из QXmlDeclHandler::internalEntityDecl().
Эта реализация ничего не делает.
Повторно реализовано из QXmlDTDHandler::notationDecl().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::processingInstruction().
Эта реализация ничего не делает.
Повторно реализовано из QXmlEntityResolver::resolveEntity().
Установите ret равным 0, чтобы читатель использовал системный идентификатор, предоставленный в XML-документе.
Повторно реализовано из QXmlContentHandler::setDocumentLocator().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::skippedEntity().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::startCDATA().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::startDTD().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::startDocument().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::startElement().
Эта реализация ничего не делает.
Повторно реализовано из QXmlLexicalHandler::startEntity().
Эта реализация ничего не делает.
Повторно реализовано из QXmlContentHandler::startPrefixMapping().
Эта реализация ничего не делает.
Повторно реализовано из QXmlDTDHandler::unparsedEntityDecl().
Эта реализация ничего не делает.
Повторно реализовано из QXmlErrorHandler::warning().
Эта реализация ничего не делает.
| Copyright © 2010 Nokia Corporation and/or its subsidiary(-ies) | Торговые марки | Qt 4.6.4 |
|
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |