Spec-Zone.ru › OpenJDK 17

Интерфейс DOMConfiguration

public interface DOMConfiguration
Интерфейс DOMConfiguration представляет конфигурацию документа и поддерживает таблицу распознанных параметров. Используя конфигурацию, можно изменить Document.normalizeDocument() поведение, например, заменить CDATASection узлы на Text узлы или указать тип схемы, которая должна использоваться при запросе валидации Document. Объекты DOMConfiguration также используются в [DOM Level 3 Загрузка и сохранение] в интерфейсах DOMParser и DOMSerializer.

Имена параметров, используемые объектом DOMConfiguration, определены в спецификациях DOM Level 3. Имена нечувствительны к регистру. Чтобы избежать возможных конфликтов, по соглашению имена, относящиеся к параметрам, определенным за пределами спецификации DOM, должны быть уникальными. Поскольку параметры представлены как свойства, рекомендуется следовать разделу 5.16 Идентификаторы [Unicode] с добавлением символа «-» (ДЕФИС), но это не навязывается реализацией DOM. Реализации DOM Level 3 Core обязаны распознавать все параметры, определенные в этой спецификации. Некоторые значения параметров также могут быть обязательными для поддержки реализацией. Обратитесь к определению параметра, чтобы узнать, должно ли значение поддерживаться или нет.

Примечание: Параметры похожи на функции и свойства, используемые в SAX2 [SAX].

Следующий список параметров, определенных в DOM:

"canonical-form"
true
[необязательно] Канонизирует документ в соответствии с правилами, описанными в [Каноническом XML], например, удаляя узел DocumentType (если есть) из дерева или удаляя избыточные объявления пространств имён из каждого элемента. Обратите внимание, что это ограничено тем, что может быть представлено в DOM; в частности, нет способа указать порядок атрибутов в DOM. Кроме того, установка этого параметра в значение true также установит состояние перечисленных ниже параметров. Позднее изменения состояния одного из этих параметров приведут к возврату "canonical-form" к значению false. Параметры установлены в значения false: "entities", " normalize-characters", "cdata-sections". Параметры установлены в значения true: "namespaces", "namespace-declarations", "well-formed", "element-content-whitespace". Другие параметры не изменяются, если явно не указано в описании параметров.
false
[обязательно] (по умолчанию) Не канонизировать документ.
"cdata-sections"
true
[обязательно] (по умолчанию) Сохранить узлы CDATASection в документе.
false
[обязательно] Преобразовать узлы CDATASection в документе в узлы Text. Новый узел Text затем объединяется с любым смежным узлом Text.
"check-character-normalization"
true
[необязательно] Проверить, являются ли символы в документе полностью нормализованными, как определено в приложении B [XML 1.1]. Когда встречается последовательность символов, не прошедшая проверку нормализации, выдается ошибка с DOMError.type равным "check-character-normalization-failure".
false
[обязательно] (по умолчанию) Не проверять, нормализованы ли символы.
"comments"
true
[обязательно] (по умолчанию) Сохранить узлы Comment в документе.
false
[обязательно] Удалить узлы Comment из документа.
"datatype-normalization"
true
[необязательно] Вывести нормализованные значения схемы в дереве, такие как нормализованные значения XML Schema в случае XML Schema. Поскольку этот параметр требует наличия информации о схеме, параметр "validate" также будет установлен в true. Использование этого параметра, когда "validate" имеет значение false, не оказывает влияния и нормализация схемы не произойдёт.

Примечание: Поскольку документ содержит результат обработки XML 1.0, этот параметр не применяется к нормализации значений атрибутов, как определено в разделе 3.3.3 [XML 1.0], и предназначен только для языков схем, отличных от определения типа документа (DTD).

false
[обязательно] (по умолчанию) Не выполнять нормализацию схемы для дерева.
"element-content-whitespace"
true
[обязательно] (по умолчанию) Сохранить все пробелы в документе.
false
[необязательно] Удалить все узлы Text содержащие пробелы в содержимом элемента, как описано в [пробелы в содержимом элемента]. Реализация должна использовать атрибут Text.isElementContentWhitespace для определения, следует ли удалять узел Text или нет.
"entities"
true
[обязательно] (по умолчанию) Сохранить узлы EntityReference в документе.
false
[обязательно] Удалить все узлы EntityReference из документа, поместив расширения сущностей непосредственно на их место. Узлы Text нормализованы, как определено в Node.normalize. В документе сохраняются только неразвёрнутые ссылки на сущности.

Примечание: Этот параметр не влияет на узлы Entity.

"error-handler"
[обязательно] Содержит объект DOMErrorHandler. Если в документе обнаружена ошибка, реализация вызовет обработчик ошибок DOMErrorHandler, зарегистрированный с помощью этого параметра. Реализация может предоставить объект DOMErrorHandler по умолчанию. При вызове DOMError.relatedData будет содержать ближайший узел к месту возникновения ошибки. Если реализация не может определить узел, где произошла ошибка, DOMError.relatedData будет содержать узел Document.
"infoset"
true
[обязательно] Сохранить в документе информацию, определённую в XML Information Set [XML Information Set]. Это принудительно устанавливает следующие параметры в значения false: " validate-if-schema", "entities", "datatype-normalization", "cdata-sections ".Это принудительно устанавливает следующие параметры в значения true: " namespace-declarations", "well-formed", "element-content-whitespace", " comments", "namespaces". Другие параметры не изменяются, если явно не указано в описании параметров. Обратите внимание, что запросить этот параметр с getParameter возвращает значение true только если отдельные указанные выше параметры установлены соответствующим образом.
false
Установка infoset в false не имеет эффекта.
"namespaces"
true
[обязательно] (по умолчанию) Выполнить обработку пространств имён, как определено в .
false
[необязательно] Не выполнять обработку пространств имён.
"namespace-declarations"
Этот параметр не имеет эффекта, если параметр "namespaces" установлен в значение false.
true
[обязательно] (по умолчанию) Включить атрибуты объявления пространства имён, указанные или заданные по умолчанию из схемы, в документ. См. также разделы "Объявление пространств имён" в [XML Namespaces] и [XML Namespaces 1.1].
false
[обязательно] Удалить все атрибуты объявления пространства имён. Префиксы пространств имён (Node.prefix) сохраняются даже если этот параметр установлен в значение false.
"normalize-characters"
true
[необязательно] Полностью нормализовать символы в документе, как определено в приложении B [XML 1.1].
false
[обязательно] (по умолчанию) Не выполнять нормализацию символов.
"schema-location"
[необязательно] Представляет объект DOMString, содержащий список URI, разделённых пробелами (символы, соответствующие нетерминальному производству S, определённому в разделе 2.3 [XML 1.0]), представляющие схемы, по которым должно быть выполнено валидирование, т.е. текущая схема. Типы схем, на которые ссылается этот список, должны соответствовать типу, указанному с помощью schema-type, в противном случае поведение реализации не определено. Схемы, указанные с помощью этого свойства, имеют приоритет над информацией о схеме, указанной в самом документе. Для схем, учитывающих пространства имён, если схема, указанная с помощью этого свойства, и схема, указанная в документе-экземпляре (т. е. с помощью атрибута schemaLocation в документе схемы (т. е. с помощью механизмов схемы import имеют одинаковое targetNamespace, будет использоваться схема, указанная пользователем с помощью этого свойства. Если две схемы, указанные с помощью этого свойства, имеют одинаковое targetNamespace или не имеют пространства имён, поведение зависит от реализации. Если местоположение не указано, этот параметр равен null.

Примечание: Параметр "schema-location" игнорируется, если значение параметра "schema-type" не установлено. Настоятельно рекомендуется, чтобы Document.documentURI было установлено, чтобы реализация могла успешно разрешить любые внешние сущности.

"schema-type"
[необязательно] Представляет объект DOMString, содержащий абсолютный URI и представляющий тип языка схемы, используемого для проверки документа на соответствие схеме. Обратите внимание, что лексическая проверка абсолютного URI не выполняется. Если этот параметр не задан, реализация может предоставить значение по умолчанию, исходя из поддерживаемых языков схем и языка схемы во время загрузки. Если значение не указано, этот параметр равен null.

Примечание: Для XML Schema [XML Schema Part 1] приложения должны использовать значение "http://www.w3.org/2001/XMLSchema". Для XML DTD [XML 1.0] приложения должны использовать значение "http://www.w3.org/TR/REC-xml". Другие языки схем находятся вне сферы ответственности W3C и поэтому должны рекомендовать абсолютный URI для использования этого метода.

"split-cdata-sections"
true
[обязательно] (по умолчанию) Разделяет секции CDATA, содержащие маркер завершения секции CDATA ']]>'. При разделении секции CDATA выдаётся предупреждение с DOMError.type равным "cdata-sections-splitted" и DOMError.relatedData равным первому узлу CDATASection в порядке документа, полученному в результате разделения.
false
[обязательно] Выдать ошибку, если CDATASection содержит непредставимый символ.
"validate"
true
[необязательно] Требует валидации документа по схеме (например, XML-схема, DTD или любой другой тип или представление схемы) во время нормализации, как определено в [XML 1.0]. При обнаружении ошибок валидации или отсутствии схемы, обработчик ошибок уведомляется. Значения, нормализованные по схеме, не будут отображаться в соответствии со схемой, если параметр "datatype-normalization" не true. Этот параметр переоценит:
  • Узлы атрибутов с Attr.specified равным false, как указано в описании интерфейса Attr;
  • Значение атрибута Text.isElementContentWhitespace для всех узлов Text;
  • Значение атрибута Attr.isId для всех узлов Attr;
  • Атрибуты Element.schemaTypeInfo и Attr.schemaTypeInfo.

Примечание: Параметры "validate-if-schema" и "validate" взаимоисключающие. Установка одного из них в true установит другой в значение false. Приложения также должны рассмотреть возможность установки параметра "well-formed" в значение true, что является значением по умолчанию для этого параметра, при валидации документа.

false
[обязательно] (по умолчанию) Не выполнять обработку схем, включая обработку внутренних подмножеств. Информация о значениях атрибутов по умолчанию сохраняется. Обратите внимание, что валидация всё ещё может произойти, если "validate-if-schema" установлено в true.
"validate-if-schema"
true
[необязательно] Включить валидацию только в том случае, если в схеме (независимо от того, где она находится, например, XML-схема, DTD или любой другой тип или представление схемы) найдено объявление для элемента документа. Если валидация включена, этот параметр имеет то же поведение, что и параметр "validate", установленный в true.

Примечание: "validate-if-schema" и "validate" взаимоисключающие. Установка одного из них в true установит другой в false.

false
[обязательно] (по умолчанию) Обработка схем не должна выполняться, если документ имеет схему, включая обработку внутренних подмножеств. Информация о значениях атрибутов по умолчанию сохраняется. Обратите внимание, что валидация должна всё ещё выполняться, если "validate" установлено в true.
"well-formed"
true
[обязательно] (по умолчанию) Проверить, являются ли все узлы хорошо сформированными XML в соответствии с используемой версией XML в Document.xmlVersion:
  • проверить, содержит ли атрибут Node.nodeName недопустимые символы в соответствии с типом узла, и сгенерировать DOMError типа "wf-invalid-character-in-node-name", с DOMError.SEVERITY_ERROR уровнем серьезности, при необходимости;
  • проверить, содержит ли текстовое содержимое внутри узлов Attr, Element, Comment, Text, CDATASection недопустимые символы и сгенерировать DOMError типа "wf-invalid-character", с DOMError.SEVERITY_ERROR уровнем серьезности, при необходимости;
  • проверить, содержит ли данные внутри узлов ProcessingInstruction недопустимые символы и сгенерировать DOMError типа "wf-invalid-character", с DOMError.SEVERITY_ERROR уровнем серьезности, при необходимости;
false
[необязательно] Не проверять корректность формирования XML.

Разрешение идентификаторов систем, связанных с сущностями, выполняется с помощью Document.documentURI. Однако, когда функция "LS", определённая в [DOM Level 3 Load and Save] поддерживается реализацией DOM, параметр "resource-resolver" также может использоваться с объектами DOMConfiguration присоединёнными к узлам Document. Если этот параметр установлен, Document.normalizeDocument() вызовет обработчик ресурсов вместо использования Document.documentURI.

См. также Спецификацию Объектной Модели Документа (DOM) Level 3 Core.

Since:
1.5, DOM Level 3

Краткое описание методов

Модификатор и тип Метод Описание
boolean canSetParameter(String name, Object value)
Проверка поддержки установки параметра со значением.
Object getParameter(String name)
Возвращение значения параметра, если оно известно.
DOMStringList getParameterNames()
Список параметров, поддерживаемых этим объектом DOMConfiguration и для которых приложение может установить значение.
void setParameter(String name, Object value)
Установка значения параметра.

Подробное описание методов

setParameter

void setParameter(String name, Object value) throws DOMException
Установка значения параметра.
Параметры:
name - Имя параметра для установки.
value - Новое значение или null, если пользователь хочет сбросить параметр. Несмотря на то, что тип параметра value определен как DOMUserData, тип объекта должен соответствовать типу, определенному в определении параметра. Например, если параметр "error-handler", значение должно быть типа DOMErrorHandler.
Исключения:
DOMException - NOT_FOUND_ERR: Вызывается, когда имя параметра не распознано.
NOT_SUPPORTED_ERR: Вызывается, когда имя параметра распознано, но запрошенное значение не может быть установлено.
TYPE_MISMATCH_ERR: Вызывается, если тип значения для данного имени параметра несовместим с ожидаемым типом значения.

getParameter

Object getParameter(String name) throws DOMException
Возвращение значения параметра, если оно известно.
Параметры:
name - Имя параметра.
Возвращает:
Текущий объект, связанный с указанным параметром, или null, если объект не был связан или параметр не поддерживается.
Исключения:
DOMException - NOT_FOUND_ERR: Вызывается, когда имя параметра не распознано.

canSetParameter

boolean canSetParameter(String name, Object value)
Проверка поддержки установки параметра со значением.
Параметры:
name - Имя проверяемого параметра.
value - Объект. Если null, возвращаемое значение - true.
Возвращает:
true если параметр может быть успешно установлен в указанное значение, или false если параметр не распознан или запрошенное значение не поддерживается. Это не изменяет текущего значения параметра.

getParameterNames

DOMStringList getParameterNames()
Список параметров, поддерживаемых этим объектом DOMConfiguration и для которых приложение может установить значение. Обратите внимание, что этот список может также содержать имена параметров, определенных вне этой спецификации.

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.xml/org/w3c/dom/DOMConfiguration.html

Spec-Zone.ru

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