Главная · Все классы · Основные классы · Классы по группам · Модули · Функции

Описание класса QXmlNamespaceSupport
[модуль QtXml]

Класс QXmlNamespaceSupport является вспомогательным классом при чтении XML с поддержкой пространств имён. Далее...

 #include <QXmlNamespaceSupport>

Замечание: Все функции в этом классе реентерабельны.

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


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

Класс 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 © 2008 Trolltech Торговые марки
Qt 4.3.5