Описание класса QXmlNamespaceSupport [модуль QtXml]
Класс QXmlNamespaceSupport является вспомогательным классом при чтении XML с поддержкой пространств имён. Далее...
#include <QXmlNamespaceSupport> Замечание: все функции этого класса реентерабильны.
Этот класс был введён в Qt 4.4.
Открытые функции
Подробное описание
Класс QXmlNamespaceSupport является вспомогательным классом при чтении XML с поддержкой пространств имён.
Вы можете установить префикс для текущего пространства имён с помощью setPrefix(), а получить список текущих префиксов (или тех, что связаны с переданным URI) с помощью prefixes(). URI пространства имён доступно через uri(). Используйте pushContext() для начала нового контекста пространства имён, а popContext() - для возвращения в предыдущий контекст. Используйте splitName() или processName() для разделения имени на префикс и локальную часть.
Смотрите также Особенности поддержки пространств имен.
Описание функций-членов
QXmlNamespaceSupport::QXmlNamespaceSupport ()
Создаёт QXmlNamespaceSupport.
QXmlNamespaceSupport::~QXmlNamespaceSupport ()
Уничтожает QXmlNamespaceSupport.
void QXmlNamespaceSupport::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 ()
Начинает новый контекст пространств имён.
Обычно, вы должны начинать новый контекст при открытии 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. Используйте пустую строку ("") для пространства имён по умолчанию.
Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies) |
Торговые марки |
Qt 4.5.3 |
|