このページでは

QXmlLexicalHandler Class

QXmlLexicalHandler クラスは、XML データの字句的内容を報告するためのインターフェースを提供します。詳細...

ヘッダー: #include <QXmlLexicalHandler>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat
継承元:

QXmlDefaultHandler

注:このクラスのすべての関数は再入可能です。

パブリック関数

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

詳細な説明

レキシカル・ハンドラ内のイベントは、ドキュメント要素だけでなくドキュメント全体に適用され、すべてのレキシカル・ハンドラのイベントは、コンテンツ・ハンドラの startDocument イベントと endDocument イベントの間に発生します。

QXmlReader::setLexicalHandler() を使用して、字句ハンドラを設定できます。

このインターフェースの設計は、SAX2 拡張機能 LexicalHandler に基づいています。

このインターフェースは、startDTD()、endDTD()、startEntity()、endEntity()、startCDATA()、endCDATA()、およびcomment() 関数を提供します。

QXmlDTDHandler 、QXmlDeclHandler 、QXmlContentHandler 、QXmlEntityResolver 、およびQXmlErrorHandlerも参照してください 。

メンバ関数のドキュメント

[virtual noexcept] 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()も参照してください 。

© 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.