Описание класса QDomImplementation
|
enum | InvalidDataPolicy { AcceptInvalidChars, DropInvalidChars, ReturnNullNode } |
QDomImplementation () | |
QDomImplementation ( const QDomImplementation & x ) | |
~QDomImplementation () | |
QDomDocument | createDocument ( const QString & nsURI, const QString & qName, const QDomDocumentType & doctype ) |
QDomDocumentType | createDocumentType ( const QString & qName, const QString & publicId, const QString & systemId ) |
bool | hasFeature ( const QString & feature, const QString & version ) const |
bool | isNull () |
bool | operator!= ( const QDomImplementation & x ) const |
QDomImplementation & | operator= ( const QDomImplementation & x ) |
bool | operator== ( const QDomImplementation & x ) const |
InvalidDataPolicy | invalidDataPolicy () |
void | setInvalidDataPolicy ( InvalidDataPolicy policy ) |
Класс QDomImplementation предоставляет информацию о свойствах реализации DOM.
Данный класс описывает особенности, которые поддерживаются реализацией DOM. В настоящее время поддерживаются подмножества XML DOM Level 1 и DOM Level 2 Core.
Как правило, вы будете пользоваться функцией QDomDocument::implementation() для получения объекта реализации.
Вы можете создать новый тип документа с помощью createDocumentType() и новый документ посредством createDocument().
Для получения дополнительной информации о Document Object Model смотрите спецификации Уровень 1 и Уровень 2. Для того, чтобы больше узнать о реализации DOM, смотрите документацию по QDomDocument.
Классы QDom имеют несколько проблем несоответствия спецификациям XML, которые не могут быть исправлены в Qt 4 без разрушения обратной совместимости. Модуль QtXmlPatterns и классы QXmlStreamReader и QXmlStreamWriter обладают высшей степенью соответствия.
Смотрите также hasFeature().
Данное перечисление определяет, что должно происходить, когда функция-фабрика в QDomDocument вызвана с некорректными данными.
Константа | Значение | Описание |
---|---|---|
QDomImplementation::AcceptInvalidChars | 0 | Данные в любом случае должны быть сохранены как объект DOM. В этом случае итоговый XML-документ может быть сформирован неверно. Это значение установлено по умолчанию и соответствует поведению в Qt < 4.1 |
QDomImplementation::DropInvalidChars | 1 | Некорректные символы должны быть удалены из исходных данных. |
QDomImplementation::ReturnNullNode | 2 | Функция-фабрика должна возвращать нулевой узел. |
Смотрите также setInvalidDataPolicy() и invalidDataPolicy().
Создаёт объект QDomImplementation.
Создаёт копию x
Уничтожает объекты и освобождает их ресурсы.
Создаёт документ DOM с типом документа doctype. Эта функция также добавляет корневой элемент с полным именем qName и URI пространства имен nsURI.
Создаёт узел типа документа с именем qName.
publicId определяет публичный идентификатор для внешних подмножеств. Если вы укажете пустую строку (QString()) в качестве publicId, это будет означать, что тип документа не будет иметь публичного идентификатора.
systemId определяет системный идентификатор внешнего подмножества. Если вы укажете пустую строку (QString()) в качестве systemId, это будет означать, что тип документа не будет иметь системного идентификатора.
Вы не можете иметь публичного идентификатора без системного, он устанавливается как пустая строка, если системный идентификатор не определен.
DOM level 2 не поддерживает других особенностей типа документа.
Единственный путь использования типа документа состоит в создании с помощью функции createDocument() документа QDomDocument с определенным типом документа.
Спецификация DOM предусматривает только этот путь создания действительного документа. Из соображений будущего, Qt также позволяет создать документ, используя пустой конструктор по умолчанию. Получившийся в результате документ не является действительным, но становится таковым, когда вызывается функция-фабрика, например, QDomDocument::createElement(). Документ также становится действительным, когда вызывается setContent().
Смотрите также createDocument().
Функция возвращает true, если QDom реализует запрашиваемую version возможности feature; в противном случае возвращает false.
Поддерживаемые на данный момент характеристики и их версии:
Возможности | Версия |
---|---|
XML | 1.0 |
Устанавливает политику при некорректных данных, которая определяет, что должно происходить, когда в функцию-фабрику из QDomDocument переданы невалидные данные.
Предупреждение: Данная функция не является реентерабельной.
Эта функция была введена в Qt 4.1.
Смотрите также setInvalidDataPolicy() и InvalidDataPolicy.
Возвращает false, если объект создан с помощью QDomDocument::implementation(); в противном случае возвращает true.
Устанавливает политику при некорректных данных, которая определяет, что должно происходить, когда в функцию-фабрику из 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.
Возвращает true, если x и объект текущей реализации DOM были созданы из различных объектов QDomDocument; в противном случает возвращает false.
Ассоциирует x с текущей реализацией DOM.
Возвращает true, если x и объект текущей реализации DOM были созданы из одного QDomDocument; в противном случае возвращает false.
Авторские права © 2010 Nokia Corporation и/или её дочерние компании | Торговые марки | Qt 4.6.4 |
Попытка перевода Qt документации. Если есть желание присоединиться, или если есть замечания или пожелания, то заходите на форум: Перевод Qt документации на русский язык... Люди внесшие вклад в перевод: Команда переводчиков |