QXmlEntityResolver Class
QXmlEntityResolver クラスは、XML データに含まれる外部エンティティを解決するためのインターフェイスを提供します。詳細...
Header: | #include <QXmlEntityResolver> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake: | QT += core5compat |
Inherited By: |
注意:このクラスの関数はすべてリエントラントです。
パブリック関数
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() を使用します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。