QXmlNamespaceSupport Class

QXmlNamespaceSupport クラスは、名前空間のサポートを必要とする XML リーダーのためのヘルパークラスです。詳細...

ヘッダ #include <QXmlNamespaceSupport>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

注意:このクラスの関数はすべてリエントラントです。

パブリック関数

QXmlNamespaceSupport()
~QXmlNamespaceSupport()
void popContext()
QString prefix(const QString &uri) const
QStringList prefixes() const
QStringList prefixes(const QString &uri) const
void processName(const QString &qname, bool isAttribute, QString &nsuri, QString &localname) const
void pushContext()
void reset()
void setPrefix(const QString &pre, const QString &uri)
void splitName(const QString &qname, QString &prefix, QString &localname) const
QString uri(const QString &prefix) const

詳しい説明

setPrefix() で現在の名前空間のプレフィックスを設定し、prefixes() で現在のプレフィックス (あるいは指定した URI のプレフィックス) の一覧を取得します。名前空間 URI はuri() から取得できます。新しい名前空間コンテキストを開始するにはpushContext() を使用し、 前の名前空間コンテキストに戻るにはpopContext() を使用します。名前をプレフィックスとローカル名に分割するには、splitName() またはprocessName() を使用します。

メンバ関数のドキュメント

QXmlNamespaceSupport::QXmlNamespaceSupport()

QXmlNamespaceSupport を構築します。

[noexcept] QXmlNamespaceSupport::~QXmlNamespaceSupport()

QXmlNamespaceSupport を破壊する。

void QXmlNamespaceSupport::popContext()

以前の名前空間コンテキストに戻す。

通常は、各 XML 要素の最後でコンテキストをポップする必要があります。コンテキストをポップすると、それまで有効だった名前空間接頭辞マッピングがすべて復元されます。

pushContext()も参照

QString QXmlNamespaceSupport::prefix(const QString &uri) const

名前空間 URIuri にマップされているプレフィックスのうちのひとつを返します。

現在複数のプレフィックスが同じ URI にマップされている場合、この関数は任意の選択を行います。 すべてのプレフィックスが欲しい場合は、代わりにprefixes() を使ってください。

注意: デフォルトのプレフィックスを調べるには、引数に "" を指定してuri() 関数を使用します。

setPrefix()も参照

QStringList QXmlNamespaceSupport::prefixes() const

現在宣言されているすべての接頭辞の一覧を返します。

デフォルトのプレフィックスがある場合、この関数はそのリストを返しません。 デフォルトのプレフィックスがあるかどうかを調べるには、uri() に引数 "" を指定します。

QStringList QXmlNamespaceSupport::prefixes(const QString &uri) const

これはオーバーロードされた関数である。

名前空間 URIuri に対して現在宣言されているプレフィックスの一覧を返します。

xml:" 接頭辞も含まれます。名前空間 URI にマップされるプレフィックスがひとつだけ必要で、どれを取得してもかまわない場合は、代わりにprefix() 関数を使います。

注意: 空の (デフォルトの) 接頭辞がこのリストに含まれることはありません。 デフォルトの名前空間があるかどうかを調べるには、引数に "" を指定してuri() をコールします。

void QXmlNamespaceSupport::processName(const QString &qname, bool isAttribute, QString &nsuri, QString &localname) const

接頭辞を除去し、現在宣言されている接頭辞の中から探すことによって、現在のコンテキストで生の XML 1.0 名を処理する。

qname isAttribute は、名前が属性名であれば真。

この関数は、名前空間 URI をnsuri に格納し(生の名前に宣言されていない接頭辞がある場合は空文字列に設定されます)、ローカル名(接頭辞なし)をlocalname に格納します(名前空間が使用されていない場合は空文字列に設定されます)。

接頭辞のない要素名はデフォルトの名前空間を取得しますが、接頭辞のない属性名は取得しません。

void QXmlNamespaceSupport::pushContext()

新しい名前空間コンテキストを開始します。

新しいコンテキストは、親コンテキストの宣言を自動的に継承し、どの宣言がこのコンテキスト内で行われたかを追跡します。

popContext()も参照

void QXmlNamespaceSupport::reset()

この名前空間サポート・オブジェクトを再利用できるようにリセットします。

void QXmlNamespaceSupport::setPrefix(const QString &pre, const QString &uri)

この関数は、現在の名前空間コンテキストの接頭辞pre を名前空間 URIuri とすることを宣言します。このプレフィックスは、子孫コンテキストでシャドウされない限り、このコンテキストがポップされるまで有効です。

このライブラリには非対称性があることに注意してください。prefix(デフォルトのプレフィックスを調べるには、uri() を使って明示的に調べなければなりません。)この非対称性は、デフォルトの接頭辞が許されない属性名の接頭辞を調べやすくするために存在します。

prefix()も参照 ください。

void QXmlNamespaceSupport::splitName(const QString &qname, QString &prefix, QString &localname) const

名前qname を ':' で分割し、プレフィックスをprefix に、ローカル名をlocalname に返す。

processName()も参照

QString QXmlNamespaceSupport::uri(const QString &prefix) const

現在のコンテキストでプレフィックスprefix を検索し、現在マップされている名前空間 URI を返します。デフォルトの名前空間には空文字列 ("") を使用します。

© 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.