QXmlLexicalHandler Class
Die Klasse „QXmlLexicalHandler“ bietet eine Schnittstelle zur Darstellung des lexikalischen Inhalts von XML-Daten. Mehr...
| Header: | #include <QXmlLexicalHandler> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
| Vererbt an: |
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| 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 |
Ausführliche Beschreibung
Die Ereignisse im lexikalischen Handler gelten für das gesamte Dokument, nicht nur für das Dokumentelement, und alle Ereignisse des lexikalischen Handlers treten zwischen den Ereignissen „startDocument“ und „endDocument“ des Inhaltshandlers auf.
Sie können den lexikalischen Handler mit ` QXmlReader::setLexicalHandler()` festlegen.
Das Design dieser Schnittstelle basiert auf der SAX2-Erweiterung „LexicalHandler“.
Die Schnittstelle stellt die Funktionen „ startDTD()“, „ endDTD()“, „ startEntity()“, „ endEntity()“, „ startCDATA()“, „ endCDATA()“ und „ comment()“ bereit.
Siehe auch QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver und QXmlErrorHandler.
Dokumentation zu Mitgliedsfunktionen
[virtual noexcept] QXmlLexicalHandler::~QXmlLexicalHandler()
Löscht den lexikalischen Handler.
[pure virtual] bool QXmlLexicalHandler::comment(const QString &ch)
Der Reader ruft diese Funktion auf, um einen XML-Kommentar an einer beliebigen Stelle im Dokument zu melden. Er übergibt den Text des Kommentars in „ ch “.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
[pure virtual] bool QXmlLexicalHandler::endCDATA()
Der Reader ruft diese Funktion auf, um das Ende eines CDATA-Abschnitts zu melden.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
Siehe auch „ startCDATA()“ und „ QXmlContentHandler::characters()“.
[pure virtual] bool QXmlLexicalHandler::endDTD()
Der Reader ruft diese Funktion auf, um das Ende einer eventuellen DTD-Deklaration zu melden.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
Siehe auch ` startDTD()`.
[pure virtual] bool QXmlLexicalHandler::endEntity(const QString &name)
Der Reader ruft diese Funktion auf, um das Ende einer Entität namens „ name “ zu melden.
Für jeden Aufruf von ` startEntity()` gibt es einen entsprechenden Aufruf von `endEntity()`. Die Aufrufe von ` startEntity()` und `endEntity()` sind korrekt verschachtelt.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
Siehe auch „ startEntity()“, „ QXmlContentHandler::skippedEntity()“ und „ QXmlSimpleReader::setFeature()“.
[pure virtual] QString QXmlLexicalHandler::errorString() const
Der Leser ruft diese Funktion auf, um eine Fehlermeldung abzurufen, falls eine der Handler-Funktionen den Wert „ false “ zurückgibt.
[pure virtual] bool QXmlLexicalHandler::startCDATA()
Der Reader ruft diese Funktion auf, um den Beginn eines CDATA-Abschnitts zu melden. Der Inhalt des CDATA-Abschnitts wird über die Funktion „ QXmlContentHandler::characters()“ gemeldet. Diese Funktion dient ausschließlich dazu, die Grenze zu melden.
Wenn diese Funktion ` false ` zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion ` errorString()` (), um die Fehlermeldung abzurufen.
Siehe auch „ endCDATA()“.
[pure virtual] bool QXmlLexicalHandler::startDTD(const QString &name, const QString &publicId, const QString &systemId)
Der Reader ruft diese Funktion auf, um den Beginn einer DTD-Deklaration zu melden, sofern vorhanden. Er meldet den Namen des Dokumenttyps in ` name`, den öffentlichen Bezeichner in ` publicId ` und den Systembezeichner in ` systemId`.
Fehlt die öffentliche Kennung, wird „ publicId “ auf eine leere Zeichenkette gesetzt. Fehlt die Systemkennung, wird „ systemId “ auf eine leere Zeichenkette gesetzt. Beachten Sie, dass es kein gültiges XML ist, wenn eine öffentliche Kennung vorhanden ist, aber keine Systemkennung; in solchen Fällen tritt ein Parsing-Fehler auf.
Alle über „ QXmlDTDHandler “ oder „ QXmlDeclHandler “ gemeldeten Deklarationen erscheinen zwischen den Aufrufen von „startDTD()“ und „ endDTD()“.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader das Parsen ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
Siehe auch ` endDTD()`.
[pure virtual] bool QXmlLexicalHandler::startEntity(const QString &name)
Der Leser ruft diese Funktion auf, um den Beginn einer Entität namens „ name “ zu melden.
Beachten Sie, dass der Reader, falls die Entität unbekannt ist, dies über „ QXmlContentHandler::skippedEntity()“ und nicht über diese Funktion meldet.
Wenn diese Funktion „ false “ zurückgibt, bricht der Reader die Analyse ab und meldet einen Fehler. Der Reader verwendet die Funktion „ errorString()“, um die Fehlermeldung abzurufen.
Siehe auch endEntity() und QXmlSimpleReader::setFeature().
© 2026 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.