QXmlLexicalHandler Class
Die Klasse QXmlLexicalHandler bietet eine Schnittstelle zur Meldung des lexikalischen Inhalts von XML-Daten. Mehr...
Kopfzeile: | #include <QXmlLexicalHandler> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake: | QT += core5compat |
Vererbt von: |
Hinweis: Alle Funktionen in 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 |
Detaillierte Beschreibung
Die Ereignisse im lexikalischen Handler gelten für das gesamte Dokument, nicht nur für das Dokumentenelement, und alle Ereignisse des lexikalischen Handlers erscheinen zwischen den Ereignissen startDocument und endDocument des Content-Handlers.
Sie können den lexikalischen Handler mit QXmlReader::setLexicalHandler() setzen.
Das Design dieser Schnittstelle basiert auf der SAX2-Erweiterung LexicalHandler.
Die Schnittstelle bietet die Funktionen startDTD(), endDTD(), startEntity(), endEntity(), startCDATA(), endCDATA() und comment().
Siehe auch QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, und QXmlErrorHandler.
Dokumentation der Mitgliedsfunktionen
[virtual noexcept]
QXmlLexicalHandler::~QXmlLexicalHandler()
Zerstört 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 des Dokuments zu melden. Er meldet den Text des Kommentars in ch.
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 zu erhalten.
[pure virtual]
bool QXmlLexicalHandler::endCDATA()
Der Leser ruft diese Funktion auf, um das Ende eines CDATA-Abschnitts zu melden.
Wenn diese Funktion false
zurückgibt, bricht der Leser das Parsen ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
Siehe auch startCDATA() und QXmlContentHandler::characters().
[pure virtual]
bool QXmlLexicalHandler::endDTD()
Der Reader ruft diese Funktion auf, um das Ende einer DTD-Deklaration zu melden, falls vorhanden.
Wenn diese Funktion false
zurückgibt, bricht der Leser das Parsen ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
Siehe auch startDTD().
[pure virtual]
bool QXmlLexicalHandler::endEntity(const QString &name)
Der Leser 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 ordnungsgemäß verschachtelt.
Wenn diese Funktion false
zurückgibt, bricht der Leser das Parsing ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
Siehe auch startEntity(), QXmlContentHandler::skippedEntity(), und QXmlSimpleReader::setFeature().
[pure virtual]
QString QXmlLexicalHandler::errorString() const
Der Leser ruft diese Funktion auf, um einen Fehlerstring zu erhalten, wenn eine der Handler-Funktionen false
zurückgibt.
[pure virtual]
bool QXmlLexicalHandler::startCDATA()
Der Leser 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 ist nur für die Meldung der Begrenzung vorgesehen.
Wenn diese Funktion false
zurückgibt, bricht das Lesegerät das Parsing ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
Siehe auch endCDATA().
[pure virtual]
bool QXmlLexicalHandler::startDTD(const QString &name, const QString &publicId, const QString &systemId)
Der Leser ruft diese Funktion auf, um den Beginn einer DTD-Deklaration zu melden, falls vorhanden. Sie meldet den Namen des Dokumenttyps in name, den öffentlichen Bezeichner in publicId und den Systembezeichner in systemId.
Fehlt der öffentliche Bezeichner, wird publicId auf eine leere Zeichenkette gesetzt. Fehlt der Systemidentifikator, wird systemId auf eine leere Zeichenkette gesetzt. Beachten Sie, dass es kein gültiges XML ist, einen öffentlichen Bezeichner, aber keinen Systembezeichner zu haben; in solchen Fällen tritt ein Parse-Fehler auf.
Alle über QXmlDTDHandler oder QXmlDeclHandler gemeldeten Deklarationen erscheinen zwischen den Aufrufen startDTD() und endDTD().
Wenn diese Funktion false
zurückgibt, bricht der Leser das Parsen ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
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.
Wenn die Entität unbekannt ist, meldet der Leser sie über QXmlContentHandler::skippedEntity() und nicht über diese Funktion.
Wenn diese Funktion false
zurückgibt, bricht der Leser das Parsen ab und meldet einen Fehler. Der Leser verwendet die Funktion errorString(), um die Fehlermeldung zu erhalten.
Siehe auch endEntity() und QXmlSimpleReader::setFeature().
© 2025 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.