QDomImplementation Class
QDomImplementation クラスは、DOM 実装の機能に関する情報を提供します。詳細...
ヘッダー | #include <QDomImplementation> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Xml) target_link_libraries(mytarget PRIVATE Qt6::Xml) |
qmake: | QT += xml |
- 継承メンバを含む全メンバのリスト
- QDomImplementationはXMLクラスの一部です。
注意:このクラスの関数は、以下の例外を除いてすべてリエントラントです:
- invalidDataPolicy()
- setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy ポリシー)
パブリック型
enum | InvalidDataPolicy { AcceptInvalidChars, DropInvalidChars, ReturnNullNode } |
パブリック関数
QDomImplementation() | |
QDomImplementation(const QDomImplementation &implementation) | |
~QDomImplementation() | |
QDomDocument | createDocument(const QString &nsURI, const QString &qName, const QDomDocumentType &doctype) |
QDomDocumentType | createDocumentType(const QString &qName, const QString &publicId, const QString &systemId) |
bool | hasFeature(const QString &feature, const QString &version) const |
bool | isNull() |
bool | operator!=(const QDomImplementation &other) const |
QDomImplementation & | operator=(const QDomImplementation &other) |
bool | operator==(const QDomImplementation &other) const |
静的パブリック・メンバー
QDomImplementation::InvalidDataPolicy | invalidDataPolicy() |
void | setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy) |
詳細説明
このクラスは、DOM 実装によってサポートされる機能を記述します。現在のところ、DOM Level 1 と DOM Level 2 Core の XML サブセットがサポートされています。
通常、実装オブジェクトを取得するには関数QDomDocument::implementation() を使用します。
新しいドキュメント・タイプはcreateDocumentType() で、新しいドキュメントはcreateDocument() で作成できます。
ドキュメント・オブジェクト・モデルの詳細については、レベル1とレベル2コアを参照してください。DOM実装のより一般的な紹介については、QDomDocument ドキュメントを参照してください。
QDom クラスには、XML 仕様に準拠しないいくつかの問題があり、Qt 4 では後方互換性を壊すことなく修正することができません。Qt XML Patterns モジュールとQXmlStreamReader とQXmlStreamWriter クラスは、より高度な適合性を持っています。
hasFeature()も参照してください 。
メンバ型のドキュメント
enum QDomImplementation::InvalidDataPolicy
この列挙型は、QDomDocument のファクトリー関数が無効なデータで呼び出された場合の処理を指定します。
定数 | 値 | 説明 |
---|---|---|
QDomImplementation::AcceptInvalidChars | 0 | データはいずれにせよ DOM オブジェクトに格納されるべきです。この場合、結果の XML ドキュメントは整形式ではないかもしれません。これはデフォルト値であり、Qt < 4.1 における QDom の動作です。 |
QDomImplementation::DropInvalidChars | 1 | 無効な文字はデータから削除されるべきです。 |
QDomImplementation::ReturnNullNode | 2 | ファクトリー関数はNULLノードを返すべきです。 |
setInvalidDataPolicy() およびinvalidDataPolicy()も参照してください 。
メンバ関数ドキュメント
QDomImplementation::QDomImplementation()
QDomImplementation オブジェクトを構築します。
QDomImplementation::QDomImplementation(const QDomImplementation &implementation)
implementation のコピーを作成する。
[noexcept]
QDomImplementation::~QDomImplementation()
オブジェクトを破壊し、そのリソースを解放する。
QDomDocument QDomImplementation::createDocument(const QString &nsURI, const QString &qName, const QDomDocumentType &doctype)
文書型doctype を持つ DOM 文書を作成する。この関数はまた、修飾名qName と名前空間 URInsURI を持つルート要素ノードを追加します。
QDomDocumentType QDomImplementation::createDocumentType(const QString &qName, const QString &publicId, const QString &systemId)
qName という名前のドキュメント・タイプ・ノードを作成します。
publicId には、外部サブセットのパブリック識別子を指定します。 に空の文字列 (QString()) を指定した場合、このドキュメント・タイプにはパブリック識別子がないことを意味します。publicId
systemId は、外部サブセットのシステム識別子を指定します。 に空文字列を指定した場合、そのドキュメント・タイプにはシステム識別子がないことを意味します。systemId
システム識別子なしに公開識別子を持つことはできないので、システム識別子がない場合、公開識別子は空文字列に設定されます。
DOMレベル2は、他の文書型宣言機能をサポートしていません。
このようにして作成された文書型を使用する唯一の方法は、createDocument ()関数と組み合わせて、この文書型を持つQDomDocument を作成することです。
DOM仕様では、これが非NULLドキュメントを作成する唯一の方法です。歴史的な理由から、Qt ではデフォルトの空のコンストラクタを使ってドキュメントを作成することもできます。生成されたドキュメントはnullですが、ファクトリー関数、例えばQDomDocument::createElement() が呼ばれるとnullでなくなります。また、setContent() を呼び出すと、ドキュメントも非 null になります。
createDocument()も参照 。
bool QDomImplementation::hasFeature(const QString &feature, const QString &version) const
この関数は、QDom がfeature の要求されたversion を実装していればtrue
を返し、そうでなければfalse
を返します。
現在サポートされている機能とそのバージョン
機能 | バージョン |
---|---|
XML | 1.0 |
[static]
QDomImplementation::InvalidDataPolicy QDomImplementation::invalidDataPolicy()
QDomDocument のファクトリー関数に無効なデータが渡された場合の処理を指定する無効データポリシーを返します。
警告:この関数はリエントラントではありません。
setInvalidDataPolicy() およびInvalidDataPolicyも参照のこと 。
bool QDomImplementation::isNull()
オブジェクトがQDomDocument::implementation() によって作成された場合はfalse
を返し、そうでない場合はtrue
を返す。
[static]
void QDomImplementation::setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy)
QDomDocument のファクトリー関数に無効なデータが渡された場合の処理を指定する無効データポリシーを設定します。
policy は、すでに存在するQDomDocument のすべてのインスタンスと、これから作成される のすべてのインスタンスに対して設定されます。
void XML_snippet_main() { QDomDocument doc; QDomImplementation impl; // This will create the element, but the resulting XML document will // be invalid, because '~' is not a valid character in a tag name. impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidChars); QDomElement elt1 = doc.createElement("foo~bar"); // This will create an element with the tag name "foobar". impl.setInvalidDataPolicy(QDomImplementation::DropInvalidChars); QDomElement elt2 = doc.createElement("foo~bar"); // This will create a null element. impl.setInvalidDataPolicy(QDomImplementation::ReturnNullNode); QDomElement elt3 = doc.createElement("foo~bar"); }
警告この関数はリエントラントではない。
invalidDataPolicy() およびInvalidDataPolicyも参照のこと 。
bool QDomImplementation::operator!=(const QDomImplementation &other) const
other とこの DOM 実装オブジェクトが異なる QDomDocuments から作成された場合はtrue
を返し、そうでない場合はfalse
を返す。
QDomImplementation &QDomImplementation::operator=(const QDomImplementation &other)
この DOM 実装にother を割り当てます。
bool QDomImplementation::operator==(const QDomImplementation &other) const
other とこの DOM 実装オブジェクトが同じQDomDocument から作成された場合はtrue
を返し、そうでない場合はfalse
を返す。
© 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.