Spec-Zone.ru › Qt 5.13

Класс QDomImplementation

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

Заголовок: #include <QDomImplementation>
qmake: QT += xml
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются внутрипотоковыми за исключением следующих:

  • invalidDataPolicy()
  • setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy)

Типы

Перечисление InvalidDataPolicy { AcceptInvalidChars, DropInvalidChars, ReturnNullNode }

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

QDomImplementation(const QDomImplementation &x)
QDomImplementation()
QDomImplementation & operator=(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
bool operator==(const QDomImplementation &x) const

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

QDomImplementation::InvalidDataPolicy invalidDataPolicy()
void setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy)

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

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

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

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

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

Классы QDom имеют несколько проблем несоответствия спецификациям XML, которые нельзя исправить в Qt 4 без нарушения обратной совместимости. Модуль Qt XML Patterns и классы QXmlStreamReader и QXmlStreamWriter имеют более высокую степень соответствия.

См. также hasFeature().

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

Перечисление QDomImplementation::InvalidDataPolicy

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

Константа Значение Описание
QDomImplementation::AcceptInvalidChars 0 Данные должны храниться в объекте DOM в любом случае. В этом случае результирующий XML-документ может быть некорректным. Это значение по умолчанию, и поведение QDom в Qt < 4.1.
QDomImplementation::DropInvalidChars 1 Некорректные символы должны быть удалены из данных.
QDomImplementation::ReturnNullNode 2 Функция-фабрика должна вернуть узел null.

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

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

QDomImplementation::QDomImplementation(const QDomImplementation &x)

Создает копию x.

QDomImplementation::QDomImplementation()

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

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

Присваивает x этой реализации DOM.

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 указывает системный идентификатор внешнего подмножества. Если вы указываете пустую строку в качестве systemId, это означает, что у типа документа нет системного идентификатора.

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

DOM уровня 2 не поддерживает другие возможности объявления типа документа.

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

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

См. также createDocument().

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

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

В настоящее время поддерживаемые функции и их версии:

Функция Версия
XML 1.0

[static] QDomImplementation::InvalidDataPolicy QDomImplementation::invalidDataPolicy()

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

Предупреждение: Эта функция не является внутрипотоковой.

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

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

bool QDomImplementation::isNull()

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

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

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

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

QDomDocument doc;
QDomImplementation impl;

// This will create the element, but the resulting XML document will
// be invalid, because '~' is not a valid character in a tag name.
impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidData);
QDomElement elt1 = doc.createElement("foo~bar");

// This will create an element with the tag name "foobar".
impl.setInvalidDataPolicy(QDomImplementation::DropInvalidData);
QDomElement elt2 = doc.createElement("foo~bar");

// This will create a null element.
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.

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

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qdomimplementation.html

Spec-Zone.ru

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