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 policy)
パブリック型
| 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() を使用して新しいドキュメントを作成できます。
Document Object Model に関する詳細については、Level 1およびLevel 2 Core を参照してください。DOM 実装に関するより一般的な概要については、QDomDocument のドキュメントを参照してください。
QDom クラスには、後方互換性を損なうことなく Qt 4 で修正できない、XML 仕様への不適合がいくつか存在します。Qt XML の Patterns モジュール、およびQXmlStreamReader およびQXmlStreamWriter クラスは、より高い準拠度を備えています。
hasFeature()も参照してください 。
メンバ型のドキュメント
enum QDomImplementation::InvalidDataPolicy
この列挙型は、QDomDocument 内のファクトリ関数が無効なデータで呼び出された場合にどう処理すべきかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QDomImplementation::AcceptInvalidChars | 0 | データは、いずれにせよ DOM オブジェクトに格納されるべきです。この場合、結果として得られる XML ドキュメントはウェルフォームではない可能性があります。これはデフォルト値であり、Qt 6.12 以前の QDom の動作でした。 |
QDomImplementation::DropInvalidChars | 1 | データから無効な文字を削除する必要があります。 |
QDomImplementation::ReturnNullNode | 2 | ファクトリ関数は null ノードを返す必要があります。これは Qt 6.12 以降のデフォルト値です。 |
関連項目: 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 ` および名前空間 URI `nsURI` を持つルート要素ノードを追加します。
QDomDocumentType QDomImplementation::createDocumentType(const QString &qName, const QString &publicId, const QString &systemId)
qName という名前のドキュメントタイプノードを作成します。
publicId 外部サブセットのパブリック識別子を指定します。publicId として空の文字列 (QString()) を指定した場合、そのドキュメント型にはパブリック識別子がないことを意味します。
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実装オブジェクトが異なるQDocumentから作成された場合、true を返します。それ以外の場合は、false を返します。
QDomImplementation &QDomImplementation::operator=(const QDomImplementation &other)
このDOM実装にother を割り当てます。
bool QDomImplementation::operator==(const QDomImplementation &other) const
other とこの DOM 実装オブジェクトが同じQDomDocument から作成された場合、true を返します。それ以外の場合は、false を返します。
© 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.