Spec-Zone.ru › Qt 5.6

Класс QXmlNamespaceSupport

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

Заголовок: #include <QXmlNamespaceSupport>
qmake: QT += xml
С момента: 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

Подробное описание

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

Вы можете установить префикс для текущего пространства имён с помощью setPrefix(), и получить список текущих префиксов (или тех, что соответствуют заданному URI) с помощью prefixes(). URI пространства имён доступен из uri(). Используйте pushContext() для начала нового контекста пространства имён и popContext() для возврата к предыдущему контексту пространства имён. Используйте splitName() или processName() для разделения имени на префикс и локальное имя.

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

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

QXmlNamespaceSupport::QXmlNamespaceSupport()

Создаёт QXmlNamespaceSupport.

QXmlNamespaceSupport::~QXmlNamespaceSupport()

Уничтожает QXmlNamespaceSupport.

void QXmlNamespaceSupport::popContext()

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

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

См. также 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/archives/qt-5.6/qxmlnamespacesupport.html

Spec-Zone.ru

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