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()` を使用してエラーメッセージを取得します。
© 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.