Класс QXmlLexicalHandler
Класс QXmlLexicalHandler предоставляет интерфейс для отчётности о лексическом содержимом XML-данных. Подробнее...
| Заголовок: | #include <QXmlLexicalHandler> |
| qmake: | QT += xml |
| Наследуется от: |
Примечание: Все функции в этом классе являются повторно-входными.
Открытые функции
| virtual | ~QXmlLexicalHandler() |
| virtual bool | comment(const QString &ch) = 0 |
| virtual bool | endCDATA() = 0 |
| virtual bool | endDTD() = 0 |
| virtual bool | endEntity(const QString &name) = 0 |
| virtual QString | errorString() const = 0 |
| virtual bool | startCDATA() = 0 |
| virtual bool | startDTD(const QString &name, const QString &publicId, const QString &systemId) = 0 |
| virtual bool | startEntity(const QString &name) = 0 |
Подробное описание
Класс QXmlLexicalHandler предоставляет интерфейс для отчётности о лексическом содержимом XML-данных.
События в обработчике лексических единиц применяются ко всему документу, а не только к элементу документа, и все события обработчика лексических единиц появляются между событиями startDocument и endDocument обработчика содержимого.
Обработчик лексических единиц можно установить с помощью QXmlReader::setLexicalHandler().
Дизайн этого интерфейса основан на расширении SAX2 LexicalHandler.
Интерфейс предоставляет функции startDTD(), endDTD(), startEntity(), endEntity(), startCDATA(), endCDATA() и comment().
См. также QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler и Введение в SAX2.
Документация по функциям-членам
[virtual] QXmlLexicalHandler::~QXmlLexicalHandler()
Удаляет обработчик лексических единиц.
[pure virtual] bool QXmlLexicalHandler::comment(const QString &ch)
Чтение вызывает эту функцию, чтобы сообщить об XML-комментарии где-либо в документе. Она сообщает текст комментария в ch.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
[pure virtual] bool QXmlLexicalHandler::endCDATA()
Чтение вызывает эту функцию, чтобы сообщить об окончании раздела CDATA.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также startCDATA() и QXmlContentHandler::characters().
[pure virtual] bool QXmlLexicalHandler::endDTD()
Чтение вызывает эту функцию, чтобы сообщить об окончании объявления DTD, если таковое имеется.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также startDTD().
[pure virtual] bool QXmlLexicalHandler::endEntity(const QString &name)
Чтение вызывает эту функцию, чтобы сообщить об окончании сущности с именем name.
Для каждого вызова startEntity() существует соответствующий вызов endEntity(). Вызовы startEntity() и endEntity() правильно вложены.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также startEntity(), QXmlContentHandler::skippedEntity() и QXmlSimpleReader::setFeature().
[pure virtual] QString QXmlLexicalHandler::errorString() const
Чтение вызывает эту функцию, чтобы получить строку ошибки, если любая из функций-обработчиков возвращает false.
[pure virtual] bool QXmlLexicalHandler::startCDATA()
Чтение вызывает эту функцию, чтобы сообщить о начале раздела CDATA. Содержимое раздела CDATA сообщается через функцию QXmlContentHandler::characters(). Эта функция предназначена только для отчётности о границе.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также endCDATA().
[pure virtual] bool QXmlLexicalHandler::startDTD(const QString &name, const QString &publicId, const QString &systemId)
Чтение вызывает эту функцию, чтобы сообщить о начале объявления DTD, если таковое имеется. Она сообщает имя типа документа в name, общественное идентификатор в publicId и системный идентификатор в systemId.
Если общественный идентификатор отсутствует, publicId устанавливается в пустую строку. Если системный идентификатор отсутствует, systemId устанавливается в пустую строку. Обратите внимание, что в валидном XML недопустимо наличие общественного идентификатора без системного идентификатора; в таких случаях произойдёт ошибка парсинга.
Все объявления, сообщённые через QXmlDTDHandler или QXmlDeclHandler, появляются между вызовами startDTD() и endDTD().
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также endDTD().
[pure virtual] bool QXmlLexicalHandler::startEntity(const QString &name)
Чтение вызывает эту функцию, чтобы сообщить о начале сущности с именем name.
Обратите внимание, что если сущность неизвестна, чтение сообщает об этом через QXmlContentHandler::skippedEntity(), а не через эту функцию.
Если эта функция возвращает false , чтение прекращает парсинг и сообщает об ошибке. Чтение использует функцию errorString() для получения сообщения об ошибке.
См. также endEntity() и QXmlSimpleReader::setFeature().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qxmllexicalhandler.html