Spec-Zone.ru › Qt 5.13

Класс QXmlNamespaceSupport

Класс QXmlNamespaceSupport — это вспомогательный класс для XML-читателей, которые хотят включить поддержку пространств имён. Подробнее...

Заголовок: #include <QXmlNamespaceSupport>
qmake: QT += xml
С момента: Qt 4.4

Этот класс был представлен в Qt 4.4.

  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются многопоточными.

Открытые функции

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(), и получить список текущих префиксов (или тех, которые соответствуют заданному URI) с помощью prefixes(). URI пространства имён доступен из uri(). Используйте pushContext() для начала нового контекста пространства имён и popContext() для возврата к предыдущему контексту пространства имён. Используйте splitName() или processName() для разделения имени на префикс и локальное имя.

См. также Поддержка пространств имён через функции.

Документация по членам-функциям

QXmlNamespaceSupport::QXmlNamespaceSupport()

Создаёт QXmlNamespaceSupport.

QXmlNamespaceSupport::~QXmlNamespaceSupport()

Удаляет QXmlNamespaceSupport.

void QXmlNamespaceSupport::popContext()

Возвращается к предыдущему контексту пространства имён.

Как правило, вы должны вызвать popContext в конце каждого XML-элемента. После удаления контекста все отображения префиксов пространств имён, которые ранее действовали, восстанавливаются.

См. также pushContext().

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

Возвращает один из префиксов, сопоставленных с URI пространства имён uri.

Если более одного префикса в настоящее время сопоставлен с тем же URI, эта функция делает произвольный выбор; если вам нужны все префиксы, используйте prefixes() вместо этого.

Примечание: для проверки наличия префикса по умолчанию используйте функцию uri() с аргументом «».

См. также setPrefix().

QStringList QXmlNamespaceSupport::prefixes() const

Возвращает список всех объявленных в настоящее время префиксов.

Если существует префикс по умолчанию, эта функция не возвращает его в списке; проверьте префикс по умолчанию с помощью uri() с аргументом «».

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

Это перегруженная функция.

Возвращает список всех префиксов, объявленных в настоящее время для URI пространства имён uri.

Префикс "xml:" включён. Если вам нужен только один префикс, сопоставленный с URI пространства имён, и вам все равно какой именно, используйте функцию prefix() вместо этого.

Примечание: пустой (по умолчанию) префикс никогда не включается в этот список; чтобы проверить наличие пространства имён по умолчанию, вызовите uri() с "" в качестве аргумента.

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

Обрабатывает исходное имя XML 1.0 в текущем контексте, удаляя префикс и ища его среди объявленных в настоящее время префиксов.

qname — это исходное имя XML 1.0, которое необходимо обработать. isAttribute — true, если имя — имя атрибута.

Эта функция сохраняет URI пространства имён в nsuri (который будет установлен в пустую строку, если в исходном имени есть необъявленный префикс), и сохраняет локальное имя (без префикса) в localname (которое будет установлено в пустую строку, если пространство имён не используется).

Обратите внимание, что имена атрибутов обрабатываются по-другому, чем имена элементов: имя элемента без префикса получает пространство имён по умолчанию (если таковое имеется), в то время как имя атрибута без префикса не получает.

void QXmlNamespaceSupport::pushContext()

Начинает новый контекст пространства имён.

Как правило, вы должны вызвать pushContext в начале каждого XML-элемента: новый контекст автоматически наследует объявления своего родительского контекста, а также отслеживает объявления, сделанные в этом контексте.

См. также popContext().

void QXmlNamespaceSupport::reset()

Сбрасывает этот объект поддержки пространств имён, готов к повторному использованию.

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

Эта функция объявляет префикс pre в текущем контексте пространства имён как URI пространства имён uri. Префикс остаётся в силе до тех пор, пока этот контекст не будет закрыт, если он не будет затенён в дочернем контексте.

Обратите внимание на асимметрию в этой библиотеке. 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 пространства имён, который в данный момент сопоставлен. Используйте пустую строку («») для пространства имён по умолчанию.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qxmlnamespacesupport.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API