QXmlEntityResolver Class
QXmlEntityResolver クラスは、XML データに含まれる外部エンティティを解決するためのインターフェイスを提供します。詳細...
ヘッダー | #include <QXmlEntityResolver> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake: | QT += core5compat |
継承元: |
注意:このクラスの関数はすべてリエントラントです。
パブリック関数
virtual | ~QXmlEntityResolver() |
virtual QString | errorString() const = 0 |
virtual bool | resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret) = 0 |
詳細説明
アプリケーションが外部エンティティ用にカスタマイズされた処理を実装する必要がある場合、このインターフェイス、すなわちresolveEntity() を実装し、QXmlReader::setEntityResolver() に登録する必要がある。
QXmlDTDHandler 、QXmlDeclHandler 、QXmlContentHandler 、QXmlErrorHandler 、QXmlLexicalHandlerも参照のこと 。
メンバ関数ドキュメント
[virtual noexcept]
QXmlEntityResolver::~QXmlEntityResolver()
エンティティ・リゾルバを破棄する。
[pure virtual]
QString QXmlEntityResolver::errorString() const
ハンドラー関数のいずれかがfalse
を返した場合、リーダーはこの関数を呼び出してエラー文字列を取得する。
[pure virtual]
bool QXmlEntityResolver::resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
リーダは、最上位文書エンティティ以外の外部エンティティを開く前に、この関数を呼び出す。アプリケーションはリーダに対して、エンティティ自体を解決するように要求したり(ret は 0)、まったく別の入力ソースを使用するように要求したりすることができる(ret は入力ソースを指す)。
リーダは入力ソースret が不要になると削除するので、new
でヒープ上に確保する必要がある。
引数publicId は外部エンティティの公開識別子、systemId は外部エンティティのシステム識別子、ret はこの関数の戻り値である。ret が 0 の場合、リーダはその実体を自分で解決しなければならない。0 以外の場合、リーダが代わりに使用する入力ソースを指す必要がある。
この関数がfalse
を返した場合、リーダはパースを中止し、エラーを報告する。リーダは関数errorString() を使用してエラーメッセージを取得する。
© 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.