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

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

Класс QDomImplementation предоставляет информацию о свойствах реализации DOM. Далее...

 #include <QDomImplementation>

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

Открытые типы

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

Статические открытые члены


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

Класс QDomImplementation предоставляет информацию о свойствах реализации DOM.

Данный класс описывает особенности, которые поддерживаются реализацией DOM. В настоящее время поддерживаются подмножества XML DOM Level 1 и DOM Level 2 Core.

Как правило, вы будете пользоваться функцией QDomDocument::implementation() для получения объекта реализации.

Вы можете создать новый тип документа с помощью createDocumentType() и новый документ посредством createDocument().

Для получения дополнительной информации о Document Object Model смотрите спецификации Уровень 1 и Уровень 2. Для того, чтобы больше узнать о реализации DOM, смотрите документацию по QDomDocument.

Смотрите также hasFeature().


Описание типов

enum QDomImplementation::InvalidDataPolicy

Данное перечисление определяет, что должно происходить, когда функция-фабрика в QDomDocument вызвана с некорректными данными.

КонстантаЗначениеОписание
QDomImplementation::AcceptInvalidChars0Данные в любом случае должны быть сохранены как объект DOM. В этом случае итоговый XML-документ может быть сформирован неверно. Это значение установлено по умолчанию и соответствует поведению в Qt < 4.1
QDomImplementation::DropInvalidChars1Некорректные символы должны быть удалены из исходных данных.
QDomImplementation::ReturnNullNode2Функция-фабрика должна возвращать нулевой узел.

Смотрите также setInvalidDataPolicy() и invalidDataPolicy().


Описание функций-членов

QDomImplementation::QDomImplementation ()

Создаёт объект QDomImplementation.

QDomImplementation::QDomImplementation ( const QDomImplementation & x )

Создаёт копию x

QDomImplementation::~QDomImplementation ()

Уничтожает объекты и освобождает их ресурсы.

QDomDocument QDomImplementation::createDocument ( const QString & nsURI, const QString & qName, const QDomDocumentType & doctype )

Создаёт документ DOM с типом документа doctype. Эта функция также добавляет корневой элемент с полным именем qName и URI пространства имен nsURI.

QDomDocumentType QDomImplementation::createDocumentType ( const QString & qName, const QString & publicId, const QString & systemId )

Создаёт узел типа документа с именем qName.

publicId определяет публичный идентификатор для внешних подмножеств. Если вы укажете пустую строку (QString()) в качестве publicId, это будет означать, что тип документа не будет иметь публичного идентификатора.

systemId определяет системный идентификатор внешнего подмножества. Если вы укажете пустую строку (QString()) в качестве systemId, это будет означать, что тип документа не будет иметь системного идентификатора.

Вы не можете иметь публичного идентификатора без системного, он устанавливается как пустая строка, если системный идентификатор не определен.

DOM level 2 не поддерживает других особенностей типа документа.

Единственный путь использования типа документа состоит в создании с помощью функции createDocument() документа QDomDocument с определенным типом документа.

Спецификация DOM предусматривает только этот путь создания действительного документа. Из соображений будущего, Qt также позволяет создать документ, используя пустой конструктор по умолчанию. Получившийся в результате документ не является действительным, но становится таковым, когда вызывается функция-фабрика, например, QDomDocument::createElement(). Документ также становится действительным, когда вызывается setContent().

Смотрите также createDocument().

bool QDomImplementation::hasFeature ( const QString & feature, const QString & version ) const

Функция возвращает true, если QDom реализует запрашиваемую version возможности feature; в противном случае возвращает false.

Поддерживаемые на данный момент характеристики и их версии:

ВозможностиВерсия
XML1.0

InvalidDataPolicy QDomImplementation::invalidDataPolicy ()   [static]

Устанавливает политику при некорректных данных, которая определяет, что должно происходить, когда в функцию-фабрику из QDomDocument переданы невалидные данные.

Эта функция была введена в Qt 4.1.

Смотрите также setInvalidDataPolicy() и InvalidDataPolicy.

bool QDomImplementation::isNull ()

Возвращает false, если объект создан с помощью QDomDocument::implementation(); в противном случае возвращает true.

void QDomImplementation::setInvalidDataPolicy ( InvalidDataPolicy policy )   [static]

Устанавливает политику при некорректных данных, которая определяет, что должно происходить, когда в функцию-фабрику из QDomDocument переданы невалидные данные.

Политика policy устанавливается для всех экземпляров класса QDomDocument, которые уже существуют и которые будут созданы в будущем.

 QDomDocument doc;
 QDomImplementation impl;

 // Создается элемент, но результирующий XML-документ
 // будет некорректным, так как '~' не является валидным символом имени тега.
 impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidData);
 QDomElement elt1 = doc.createElement("foo~bar");

 // Создается элемент с именем тега "foobar".
 impl.setInvalidDataPolicy(QDomImplementation::DropInvalidData);
 QDomElement elt2 = doc.createElement("foo~bar");

 // Создается нулевой элемент.
 impl.setInvalidDataPolicy(QDomImplementation::ReturnNullNode);
 QDomElement elt3 = doc.createElement("foo~bar");

Эта функция была введена в Qt 4.1.

Смотрите также invalidDataPolicy() и InvalidDataPolicy.

bool QDomImplementation::operator!= ( const QDomImplementation & x ) const

Возвращает true, если x и объект текущей реализации DOM были созданы из различных объектов QDomDocument; в противном случает возвращает false.

QDomImplementation & QDomImplementation::operator= ( const QDomImplementation & x )

Ассоциирует x с текущей реализацией DOM.

bool QDomImplementation::operator== ( const QDomImplementation & x ) const

Возвращает true, если x и объект текущей реализации DOM были созданы из одного QDomDocument; в противном случае возвращает false.


Copyright © 2008 Trolltech Торговые марки
Qt 4.3.5