Документация интерфейса

Все суперинтерфейсы:
Node
Все известные дочерние интерфейсы:
HTMLDocument
public interface Document
extends Node

Интерфейс Document представляет собой весь HTML- или XML-документ. По концепции он является корнем дерева документа и предоставляет основной доступ к данным документа.

Поскольку элементы, текстовые узлы, комментарии, инструкции обработки и т.д. не могут существовать вне контекста Document, интерфейс Document также содержит фабричные методы, необходимые для создания этих объектов. Созданные объекты Node имеют атрибут ownerDocument, который связывает их с Document в контексте которого они были созданы.

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

Поля

Поля, объявленные в интерфейсе org.w3c.dom.Node

ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE

Методы

Модификатор и тип Метод Описание
Node adoptNode​(Node source)

Попытка принять узел из другого документа в этот документ.

Attr createAttribute​(String name)

Создает Attr заданного имени.

Attr createAttributeNS​(String namespaceURI, String qualifiedName)

Создает атрибут с заданным полным именем и URI пространства имён.

CDATASection createCDATASection​(String data)

Создаёт узел CDATASection, значение которого — заданная строка.

Comment createComment​(String data)

Создаёт узел Comment, используя указанную строку.

DocumentFragment createDocumentFragment()

Создаёт пустой объект DocumentFragment.

Element createElement​(String tagName)

Создаёт элемент заданного типа.

Element createElementNS​(String namespaceURI, String qualifiedName)

Создаёт элемент с заданным полным именем и URI пространства имён.

EntityReference createEntityReference​(String name)

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

ProcessingInstruction createProcessingInstruction​(String target, String data)

Создаёт узел ProcessingInstruction, используя заданные имя и строку данных.

Text createTextNode​(String data)

Создаёт узел Text, используя указанную строку.

DocumentType getDoctype()

Объявление типа документа (см. DocumentType) ассоциированное с этим документом.

Element getDocumentElement()

Атрибут, позволяющий напрямую получить дочерний узел, который является элементом документа.

String getDocumentURI()

Расположение документа или null, если не определено или если Document было создано с использованием DOMImplementation.createDocument.

DOMConfiguration getDomConfig()

Конфигурация, используемая при вызове Document.normalizeDocument().

Element getElementById​(String elementId)

Возвращает Element, у которого атрибут ID имеет заданное значение.

NodeList getElementsByTagName​(String tagname)

Возвращает NodeList всех Elements в порядке документа с заданным именем тега, которые содержатся в документе.

NodeList getElementsByTagNameNS​(String namespaceURI, String localName)

Возвращает NodeList всех Elements с заданным локальным именем и URI пространства имён в порядке документа.

DOMImplementation getImplementation()

Объект DOMImplementation, обрабатывающий этот документ.

String getInputEncoding()

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

boolean getStrictErrorChecking()

Атрибут, определяющий, включена ли проверка ошибок.

String getXmlEncoding()

Атрибут, определяющий, как часть объявления XML, кодировку этого документа.

boolean getXmlStandalone()

Атрибут, определяющий, как часть объявления XML, является ли этот документ автономным.

String getXmlVersion()

Атрибут, определяющий, как часть объявления XML, номер версии этого документа.

Node importNode​(Node importedNode, boolean deep)

Импортирует узел из другого документа в этот документ, не изменяя или не удаляя исходный узел из исходного документа; этот метод создаёт новую копию исходного узла.

void normalizeDocument()

Этот метод действует так, как будто документ проходит цикл сохранения и загрузки, приводя документ в «нормальную» форму.

Node renameNode​(Node n, String namespaceURI, String qualifiedName)

Переименовывает существующий узел типа ELEMENT_NODE или ATTRIBUTE_NODE.

void setDocumentURI​(String documentURI)

Расположение документа или null, если не определено или если Document было создано с использованием DOMImplementation.createDocument.

void setStrictErrorChecking​(boolean strictErrorChecking)

Атрибут, определяющий, включена ли проверка ошибок.

void setXmlStandalone​(boolean xmlStandalone)

Атрибут, определяющий, как часть объявления XML, является ли этот документ автономным.

void setXmlVersion​(String xmlVersion)

Атрибут, определяющий, как часть объявления XML, номер версии этого документа.

Методы, объявленные в интерфейсе org.w3c.dom.Node

appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData

Методы

getDoctype

DocumentType getDoctype()

Декларация типа документа (см. DocumentType) для данного документа. Для XML-документов без декларации типа документа возвращает null. Для HTML-документов может быть возвращён объект DocumentType, независимо от наличия или отсутствия декларации типа документа в HTML-документе.
Обеспечивает прямой доступ к узлу DocumentType, дочернему узлу этого Document. Этот узел можно установить во время создания документа и изменить позже с помощью методов манипулирования дочерними узлами, таких как Node.insertBefore, или Node.replaceChild. Однако, хотя некоторые реализации могут создавать различные типы объектов Document с дополнительными функциями, отличными от "Core", такими как "HTML" [DOM Level 2 HTML], на основе DocumentType заданного во время создания, изменение его после создания вряд ли приведёт к изменению поддерживаемых функций.

Since:
1.4, DOM Level 3

getImplementation

DOMImplementation getImplementation()

Объект DOMImplementation, обрабатывающий этот документ. Приложение DOM может использовать объекты из нескольких реализаций.

getDocumentElement

Element getDocumentElement()

Это атрибут-удобство, обеспечивающий прямой доступ к дочернему узлу, являющемуся элементом документа.

createElement

Element createElement(String tagName)
               throws DOMException

Создаёт элемент указанного типа. Обратите внимание, что возвращаемый экземпляр реализует интерфейс Element, поэтому атрибуты можно задавать непосредственно на возвращаемом объекте.
Кроме того, если известны атрибуты с значениями по умолчанию, узлы Attr автоматически создаются и прикрепляются к элементу.
Для создания элемента с квалифицированным именем и URI пространства имён используйте метод createElementNS.

Parameters:
tagName - Название типа элемента для создания. Для XML оно чувствительно к регистру, в противном случае зависит от чувствительности к регистру используемого языка разметки. В этом случае имя отображается в каноническую форму этой разметки реализацией DOM.
Returns:
Новый объект Element с атрибутом nodeName установленным в tagName, и localName, prefix, и namespaceURI установлены в null.
Throws:
DOMException - INVALID_CHARACTER_ERR: Возникает, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.

createDocumentFragment

DocumentFragment createDocumentFragment()

Создаёт пустой объект DocumentFragment.

Returns:
Новый DocumentFragment.

createTextNode

Text createTextNode(String data)

Создаёт узел Text с заданной строкой.

Parameters:
data - Данные для узла.
Returns:
Новый объект Text.

createComment

Comment createComment(String data)

Создаёт узел Comment с заданной строкой.

Parameters:
data - Данные для узла.
Returns:
Новый объект Comment.

createCDATASection

CDATASection createCDATASection(String data)
                         throws DOMException

Создаёт узел CDATASection со значением указанной строки.

Parameters:
data - Данные для содержимого CDATASection.
Returns:
Новый объект CDATASection.
Throws:
DOMException - NOT_SUPPORTED_ERR: Возникает, если этот документ является HTML-документом.

createProcessingInstruction

ProcessingInstruction createProcessingInstruction(String target,
                                                  String data)
                                           throws DOMException

Создаёт узел ProcessingInstruction с заданными именем и данными строк.

Parameters:
target - Целевая часть инструкции обработки. В отличие от Document.createElementNS или Document.createAttributeNS, проверка правильности имени целевого пространства имён не выполняется. Приложения должны вызвать Document.normalizeDocument() с параметром " namespaces" установленным в true, чтобы убедиться, что целевое имя имеет правильную форму пространства имён.
data - Данные для узла.
Returns:
Новый объект ProcessingInstruction.
Throws:
DOMException - INVALID_CHARACTER_ERR: Возникает, если указанная цель не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.
NOT_SUPPORTED_ERR: Возникает, если этот документ является HTML-документом.

createAttribute

Attr createAttribute(String name)
              throws DOMException

Создаёт Attr с заданным именем. Обратите внимание, что экземпляр Attr затем можно установить на Element с помощью метода setAttributeNode.
Для создания атрибута с квалифицированным именем и URI пространства имён используйте метод createAttributeNS.

Parameters:
name - Название атрибута.
Returns:
Новый объект Attr с атрибутом nodeName установленным в name, и localName, prefix, и namespaceURI установлены в null . Значение атрибута — пустая строка.
Throws:
DOMException - INVALID_CHARACTER_ERR: Возникает, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.

createEntityReference

EntityReference createEntityReference(String name)
                               throws DOMException

Создаёт объект EntityReference . Кроме того, если связанная сущность известна, список дочерних узлов узла EntityReference устанавливается таким же, как и у соответствующего узла Entity.

Примечание: Если у любого потомка узла Entity есть не привязанный префикс пространства имён, то соответствующий потомок созданного узла EntityReference также не привязан; (его namespaceURI равен null). DOM Level 2 и 3 не поддерживают механизм разрешения префиксов пространства имён в этом случае.

Parameters:
name - Название сущности для ссылки. В отличие от Document.createElementNS или Document.createAttributeNS, проверка правильности имени сущности пространства имён не выполняется. Приложения должны вызвать Document.normalizeDocument() с параметром " namespaces" установленным в true, чтобы убедиться, что имя сущности имеет правильную форму пространства имён.
Returns:
Новый объект EntityReference.
Throws:
DOMException - INVALID_CHARACTER_ERR: Возникает, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.
NOT_SUPPORTED_ERR: Возникает, если этот документ является HTML-документом.

getElementsByTagName

NodeList getElementsByTagName(String tagname)

Возвращает коллекцию NodeList всех элементов Elements в порядке документа с заданным именем тега и находящихся внутри документа.

Parameters:
tagname - Имя тега для сопоставления. Специальное значение "*" соответствует всем тегам. Для XML параметр tagname чувствителен к регистру, в противном случае это зависит от чувствительности к регистру используемого языка разметки.
Returns:
Новый объект NodeList, содержащий все соответствующие элементы Elements.

importNode

Node importNode(Node importedNode,
                boolean deep)
         throws DOMException

Импортирует узел из другого документа в этот документ, не изменяя и не удаляя исходный узел из исходного документа; этот метод создаёт новую копию исходного узла. Возвращённый узел не имеет родителя; (parentNode это null).
Для всех узлов импорт узла создаёт объект узла, принадлежащий импортирующему документу, со значениями атрибутов, идентичными значениям атрибутов исходного узла nodeName и nodeType, плюс атрибуты, связанные с пространствами имён (prefix, localName, и namespaceURI). Как и в операции cloneNode, исходный узел не изменяется. Данные пользователя, связанные с импортированным узлом, не переносятся. Однако, если какие-либо UserDataHandlers были указаны вместе с ассоциированными данными, эти обработчики будут вызваны с соответствующими параметрами до возврата этого метода.
Дополнительная информация копируется в nodeType, пытаясь отобразить поведение, ожидаемое при копировании фрагмента XML или HTML исходного кода из одного документа в другой, учитывая, что два документа могут иметь разные DTD в случае XML. Следующий список описывает особенности для каждого типа узла.

ATTRIBUTE_NODE
Атрибут ownerElement устанавливается в значение null, а флаг specified устанавливается в значение true на сгенерированном Attr. Потомки исходного Attr рекурсивно импортируются, а полученные узлы собираются для формирования соответствующего поддерева. Обратите внимание, что параметр deep не оказывает влияния на узлы Attr; они всегда переносят своих потомков вместе с собой при импорте.
DOCUMENT_FRAGMENT_NODE
Если опция deep была установлена в значение true, потомки исходного DocumentFragment рекурсивно импортируются, а полученные узлы собираются под импортированным DocumentFragment для формирования соответствующего поддерева. В противном случае это просто генерирует пустой DocumentFragment.
DOCUMENT_NODE
Узлы Document импортировать нельзя.
DOCUMENT_TYPE_NODE
Узлы DocumentType импортировать нельзя.
ELEMENT_NODE
Узлы атрибутов, указанные, исходного элемента импортируются, и сгенерированные Attr узлы прикрепляются к сгенерированному Element. Значения атрибутов по умолчанию не копируются, хотя если импортируемый документ определяет атрибуты по умолчанию для этого имени элемента, они назначаются. Если параметр importNode deep был установлен в значение true, потомки исходного элемента рекурсивно импортируются, а полученные узлы собираются для формирования соответствующего поддерева.
ENTITY_NODE
Узлы Entity могут быть импортированы, однако в текущей версии DOM атрибут DocumentType является только для чтения. Возможность добавления этих импортированных узлов в DocumentType будет рассмотрена для добавления в будущие версии DOM. При импорте атрибуты publicId, systemId, и notationName копируются. Если запрос импорта deep был сделан, потомки исходного Entity рекурсивно импортируются, а полученные узлы собираются для формирования соответствующего поддерева.
ENTITY_REFERENCE_NODE
Копируется только сам EntityReference, даже если запрос импорта deep был сделан, так как исходный и целевой документы могут по-разному определить сущность. Если импортируемый документ предоставляет определение для этого имени сущности, его значение назначается.
NOTATION_NODE
Узлы Notation могут быть импортированы, однако в текущей версии DOM атрибут DocumentType является только для чтения. Возможность добавления этих импортированных узлов в DocumentType будет рассмотрена для добавления в будущие версии DOM. При импорте атрибуты publicId и systemId копируются. Обратите внимание, что параметр deep не оказывает влияния на этот тип узлов, так как они не могут иметь потомков.
PROCESSING_INSTRUCTION_NODE
Импортированный узел копирует свои значения target и data из значений исходного узла. Обратите внимание, что параметр deep не оказывает влияния на этот тип узлов, так как они не могут иметь потомков.
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
Эти три типа узлов, наследующие от CharacterData, копируют свои атрибуты data и length из атрибутов исходного узла. Обратите внимание, что параметр deep не оказывает влияния на эти типы узлов, так как они не могут иметь потомков.

Параметры:
importedNode - Узел для импорта.
deep - Если true, рекурсивно импортировать поддерево под указанным узлом; если false, импортировать только сам узел, как описано выше. Это не влияет на узлы, которые не могут иметь потомков, и на узлы Attr и EntityReference.
Возвращает:
Импортированный узел, принадлежащий этому Document.
Выбрасывает:
DOMException - NOT_SUPPORTED_ERR: Выбрасывается, если тип импортируемого узла не поддерживается.
INVALID_CHARACTER_ERR: Выбрасывается, если одно из импортируемых имён не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion. Это может произойти, например, при импорте XML 1.1 [XML 1.1] элемента в документ XML 1.0.
С:
1.4, DOM Level 2

createElementNS

Element createElementNS(String namespaceURI,
                        String qualifiedName)
                 throws DOMException

Создаёт элемент с заданным полным именем и URI пространства имён.
В соответствии с [XML Namespaces] приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они хотят не использовать пространство имён.

Параметры:
namespaceURI - URI пространства имён создаваемого элемента.
qualifiedName - Полное имя типа элемента, подлежащего созданию.
Возвращает:
Новый объект Element с следующими атрибутами:
Атрибут Значение
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix префикс, извлечённый из qualifiedName, или null если префикса нет
Node.localName локальное имя, извлечённое из qualifiedName
Element.tagName qualifiedName
Выбрасывает:
DOMException - INVALID_CHARACTER_ERR: Выбрасывается, если указанное qualifiedName не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.
NAMESPACE_ERR: Выбрасывается, если qualifiedName является некорректным полным именем, если у qualifiedName есть префикс и namespaceURI имеет значение null, или если у qualifiedName есть префикс «xml» и namespaceURI отличается от " http://www.w3.org/XML/1998/namespace". [XML Namespaces] , или если у qualifiedName или его префикса значение «xmlns» и namespaceURI отличается от "http://www.w3.org/2000/xmlns/", или если namespaceURI имеет значение "http://www.w3.org/2000/xmlns/" и ни у qualifiedName ни у его префикса значение «xmlns».
NOT_SUPPORTED_ERR: Всегда выбрасывается, если текущий документ не поддерживает функцию "XML", так как пространства имён определены XML.
С:
1.4, DOM Level 2

createAttributeNS

Attr createAttributeNS(String namespaceURI,
                       String qualifiedName)
                throws DOMException

Создаёт атрибут с заданным полным именем и URI пространства имён.
В соответствии с [XML Namespaces] приложения должны использовать значение null в качестве параметра namespaceURI для методов, если они хотят не использовать пространство имён.

Параметры:
namespaceURI - URI пространства имён создаваемого атрибута.
qualifiedName - Полное имя типа атрибута, подлежащего созданию.
Возвращает:
Новый объект Attr с следующими атрибутами:
Атрибут Значение
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix префикс, извлечённый из qualifiedName, или null если префикса нет
Node.localName локальное имя, извлечённое из qualifiedName
Attr.name qualifiedName
Node.nodeValue пустая строка
Выбрасывает:
DOMException - INVALID_CHARACTER_ERR: Выбрасывается, если указанное qualifiedName не является именем XML в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.
NAMESPACE_ERR: Выбрасывается, если qualifiedName является некорректным полным именем, если у qualifiedName есть префикс и namespaceURI имеет значение null, если у qualifiedName есть префикс «xml» и namespaceURI отличается от " http://www.w3.org/XML/1998/namespace", если у qualifiedName или его префикса значение «xmlns» и namespaceURI отличается от "http://www.w3.org/2000/xmlns/", или если namespaceURI имеет значение "http://www.w3.org/2000/xmlns/" и ни у qualifiedName ни у его префикса значение «xmlns».
NOT_SUPPORTED_ERR: Всегда выбрасывается, если текущий документ не поддерживает функцию "XML", так как пространства имён определены XML.
С:
1.4, DOM Level 2

getElementsByTagNameNS

NodeList getElementsByTagNameNS(String namespaceURI,
                                String localName)

Возвращает коллекцию всех NodeList с заданным локальным именем и URI пространства имён в порядке документа.

Параметры:
namespaceURI - URI пространства имён элементов для сопоставления. Специальное значение "*" соответствует всем пространствам имён.
localName - Локальное имя элементов для сопоставления. Специальное значение "*" соответствует всем локальным именам.
Возвращает:
Новый объект NodeList , содержащий все соответствующие элементы Elements.
С:
1.4, DOM Level 2

getElementById

Element getElementById(String elementId)

Возвращает элемент Element с атрибутом ID, имеющим заданное значение. Если такого элемента нет, возвращает null . Если более одного элемента имеет атрибут ID с этим значением, возвращаемое значение не определено.
Реализация DOM должна использовать атрибут Attr.isId для определения, является ли атрибут типом ID.

Примечание: Атрибуты с именем "ID" или "id" не являются типа ID, если не определено иначе.

Параметры:
elementId - Уникальное значение id для элемента.
Возвращает:
Соответствующий элемент или null , если его нет.
С:
1.4, DOM Level 2

getInputEncoding

String getInputEncoding()

Атрибут, определяющий кодировку, используемую для этого документа во время парсинга. Это null , когда она неизвестна, например, когда Document был создан в памяти.

С:
1.5, DOM Level 3

getXmlEncoding

String getXmlEncoding()

Атрибут, определяющий, как часть XML-декларации, кодировку этого документа. Это null , когда не указано или когда она неизвестна, например, когда Document был создан в памяти.

С:
1.5, DOM Level 3

getXmlStandalone

boolean getXmlStandalone()

Атрибут, определяющий, как часть XML-декларации, является ли этот документ автономным. Это false , когда не указано.

Примечание: При установке этого атрибута проверка значения не выполняется. Приложения должны использовать Document.normalizeDocument() с параметром "validate" для проверки, соответствует ли значение ограничению валидности для объявления автономного документа, как определено в [XML 1.0].

С:
1.5, DOM Level 3

setXmlStandalone

void setXmlStandalone(boolean xmlStandalone)
               throws DOMException

Атрибут, определяющий, как часть XML-декларации, является ли этот документ автономным. Это false , когда не указано.

Примечание: При установке этого атрибута проверка значения не выполняется. Приложения должны использовать Document.normalizeDocument() с параметром "validate" для проверки, соответствует ли значение ограничению валидности для объявления автономного документа, как определено в [XML 1.0].

Исключения:
DOMException - NOT_SUPPORTED_ERR: Возникает, если этот документ не поддерживает функцию "XML".
С:
1.5, DOM Level 3

getXmlVersion

String getXmlVersion()

Атрибут, определяющий, как часть XML-декларации, номер версии этого документа. Если декларации нет и этот документ поддерживает функцию "XML", значение равно "1.0". Если этот документ не поддерживает функцию "XML", значение всегда равно null. Изменение этого атрибута повлияет на методы, проверяющие недопустимые символы в именах XML. Приложение должно вызвать Document.normalizeDocument() для проверки недопустимых символов в Node , которые уже являются частью этого Document.
Приложения DOM могут использовать метод DOMImplementation.hasFeature(feature, version) с параметрами "XMLVersion" и "1.0" (соответственно) для определения, поддерживает ли реализация [XML 1.0]. Приложения DOM могут использовать тот же метод с параметрами "XMLVersion" и "1.1" (соответственно) для определения, поддерживает ли реализация [XML 1.1]. В обоих случаях, чтобы поддерживать XML, реализация должна также поддерживать функцию "XML", определённую в этом спецификации. Document объекты, поддерживающие версию функции "XMLVersion", не должны генерировать исключение NOT_SUPPORTED_ERR для того же номера версии при использовании Document.xmlVersion.

С:
1.5, DOM Level 3

setXmlVersion

void setXmlVersion(String xmlVersion)
            throws DOMException

Атрибут, определяющий, как часть XML-декларации, номер версии этого документа. Если декларации нет и этот документ поддерживает функцию "XML", значение равно "1.0". Если этот документ не поддерживает функцию "XML", значение всегда равно null. Изменение этого атрибута повлияет на методы, проверяющие недопустимые символы в именах XML. Приложение должно вызвать Document.normalizeDocument() для проверки недопустимых символов в Node , которые уже являются частью этого Document.
Приложения DOM могут использовать метод DOMImplementation.hasFeature(feature, version) с параметрами "XMLVersion" и "1.0" (соответственно) для определения, поддерживает ли реализация [XML 1.0]. Приложения DOM могут использовать тот же метод с параметрами "XMLVersion" и "1.1" (соответственно) для определения, поддерживает ли реализация [XML 1.1]. В обоих случаях, чтобы поддерживать XML, реализация должна также поддерживать функцию "XML", определённую в этом спецификации. Document объекты, поддерживающие версию функции "XMLVersion", не должны генерировать исключение NOT_SUPPORTED_ERR для того же номера версии при использовании Document.xmlVersion.

Исключения:
DOMException - NOT_SUPPORTED_ERR: Возникает, если версия установлена на значение, которое не поддерживается этим Document или если этот документ не поддерживает функцию "XML".
С:
1.5, DOM Level 3

getStrictErrorChecking

boolean getStrictErrorChecking()

Атрибут, определяющий, выполняется ли проверка ошибок. При установке в значение false, реализация свободна не проверять все возможные ошибки, обычно определяемые операциями DOM, и не генерировать DOMException при операциях DOM или сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию этот атрибут true.

С:
1.5, DOM Level 3

setStrictErrorChecking

void setStrictErrorChecking(boolean strictErrorChecking)

Атрибут, определяющий, выполняется ли проверка ошибок. При установке в значение false, реализация свободна не проверять все возможные ошибки, обычно определяемые операциями DOM, и не генерировать DOMException при операциях DOM или сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию этот атрибут true.

С:
1.5, DOM Level 3

getDocumentURI

String getDocumentURI()

Расположение документа или null , если не определено или если DOMImplementation.createDocument был создан с использованием DOMImplementation.createDocument. Лексическая проверка при установке этого атрибута не выполняется; это может привести к возврату null значения при использовании Node.baseURI .
Обратите внимание, что когда Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.

С:
1.5, DOM Level 3

setDocumentURI

void setDocumentURI(String documentURI)

Расположение документа или null , если не определено или если Document был создан с использованием DOMImplementation.createDocument. Лексическая проверка при установке этого атрибута не выполняется; это может привести к возврату null значения при использовании Node.baseURI .
Обратите внимание, что когда Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.

С:
1.5, DOM Level 3

adoptNode

Node adoptNode(Node source)
        throws DOMException

Попытка принять узел из другого документа в этот документ. Если поддерживается, изменяет ownerDocument исходного узла, его дочерних элементов, а также присоединённых атрибутных узлов, если таковые имеются. Если у исходного узла есть родитель, он сначала удаляется из списка дочерних элементов своего родителя. Это эффективно позволяет перемещать поддерево из одного документа в другой (в отличие от importNode() , которое создаёт копию исходного узла вместо перемещения). При неудаче приложения должны использовать Document.importNode() вместо этого. Обратите внимание, что если принятый узел уже является частью этого документа (т.е. исходный и целевой документы одинаковы), этот метод всё равно имеет эффект удаления исходного узла из списка дочерних элементов его родителя, если таковой имеется. Следующий список описывает особенности для каждого типа узла.

ATTRIBUTE_NODE
Атрибут ownerElement устанавливается в null, а флаг specified устанавливается в true на принятом Attr. Потомки исходного Attr рекурсивно принимаются.
DOCUMENT_FRAGMENT_NODE
Потомки исходного узла рекурсивно принимаются.
DOCUMENT_NODE
Узлы Document не могут быть приняты.
DOCUMENT_TYPE_NODE
Узлы DocumentType не могут быть приняты.
ELEMENT_NODE
Указанные атрибутные узлы исходного элемента принимаются. Значения по умолчанию игнорируются, хотя если документ, в который принимается узел, определяет значения по умолчанию для этого имени элемента, они присваиваются. Потомки исходного элемента рекурсивно принимаются.
ENTITY_NODE
Узлы Entity не могут быть приняты.
ENTITY_REFERENCE_NODE
Принимается только сам узел EntityReference, потомки отбрасываются, так как исходный и целевой документы могут по-разному определять сущность. Если импортируемый документ предоставляет определение для этого имени сущности, его значение присваивается.
NOTATION_NODE
Узлы Notation не могут быть приняты.
PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
Все эти узлы могут быть приняты. Нет особых указаний.

Примечание: Поскольку он не создаёт новые узлы в отличие от метода Document.importNode(), этот метод не вызывает исключение INVALID_CHARACTER_ERR, и приложения должны использовать метод Document.normalizeDocument() для проверки, является ли импортируемое имя не XML-именем в соответствии с используемой версией XML.

Параметры:
source - Узел, который необходимо переместить в этот документ.
Возвращает:
Принятый узел или null , если операция не удалась, например, когда исходный узел происходит от другой реализации.
Вызывает:
DOMException - NOT_SUPPORTED_ERR: Вызывается, если исходный узел имеет тип DOCUMENT, DOCUMENT_TYPE.
NO_MODIFICATION_ALLOWED_ERR: Вызывается, когда исходный узел является только для чтения.
С:
1.5, DOM Level 3

getDomConfig

DOMConfiguration getDomConfig()

Конфигурация, используемая при вызове Document.normalizeDocument().

С:
1.5, DOM Level 3

normalizeDocument

void normalizeDocument()

Этот метод действует так, как если бы документ проходил цикл сохранения и загрузки, помещая документ в «нормальную» форму. Вследствие этого этот метод обновляет дерево замещения узлов EntityReference и нормализует узлы Text , как определено в методе Node.normalize().
В противном случае фактический результат зависит от настроек, установленных в объекте Document.domConfig , и определяющих, какие операции фактически выполняются. Заметно, что этот метод также может сделать пространство имён документа хорошо сформированным в соответствии с алгоритмом, описанным в , проверить нормализацию символов, удалить узлы CDATASection и т. д. См. DOMConfiguration для получения подробностей.

// Keep in the document
 the information defined // in the XML Information Set (Java example)
 DOMConfiguration docConfig = myDocument.getDomConfig();
 docConfig.setParameter("infoset", Boolean.TRUE);
 myDocument.normalizeDocument();

События мутации, когда поддерживаются, генерируются для отражения изменений, происходящих в документе.
Если при вызове этого метода возникнут ошибки, такие как попытка обновить узел только для чтения или Node.nodeName содержит недопустимый символ в соответствии с используемой версией XML, ошибки или предупреждения (DOMError.SEVERITY_ERROR или DOMError.SEVERITY_WARNING) будут сообщены с использованием объекта DOMErrorHandler , связанного с параметром «обработчик ошибок». Обратите внимание, что этот метод также может сообщать об ошибках (DOMError.SEVERITY_FATAL_ERROR) , если реализация не может восстановиться от ошибки.

С:
1.5, DOM Level 3

renameNode

Node renameNode(Node n,
                String namespaceURI,
                String qualifiedName)
         throws DOMException

Переименование существующего узла типа ELEMENT_NODE или ATTRIBUTE_NODE.
Когда это возможно, это просто изменяет имя данного узла, в противном случае это создаёт новый узел с указанным именем и заменяет существующий узел новым узлом, как описано ниже.
Если простое изменение имени данного узла невозможно, выполняются следующие операции: создаётся новый узел, любой зарегистрированный обработчик событий регистрируется на новом узле, любые данные пользователя, прикреплённые к старому узлу, удаляются с этого узла, старый узел удаляется из своего родителя, если таковой имеется, дочерние элементы перемещаются на новый узел, если переименованный узел является Element, его атрибуты перемещаются на новый узел, новый узел вставляется в позицию, которую занимал старый узел в списке дочерних элементов родительского узла, если таковой имеется, данные пользователя, которые были прикреплены к старому узлу, прикрепляются к новому узлу.
Когда переименовываемый узел является Element, перемещаются только указанные атрибуты, атрибуты по умолчанию, полученные из DTD, обновляются в соответствии с новым именем элемента. Кроме того, реализация может обновить атрибуты по умолчанию из других схем. Приложения должны использовать Document.normalizeDocument() для гарантии актуальности этих атрибутов.
Когда переименовываемый узел является Attr, который прикреплён к Element, узел сначала удаляется из карты атрибутов Element. Затем, после переименования, либо путём изменения существующего узла, либо путём создания нового, как описано выше, он возвращается.
Кроме того,

  • генерируется событие данных пользователя NODE_RENAMED,
  • когда реализация поддерживает функцию «события изменения имени», каждая операция изменения, участвующая в этом методе, генерирует соответствующее событие, и в конце генерируется событие { http://www.w3.org/2001/xml-events, DOMElementNameChanged} или { http://www.w3.org/2001/xml-events, DOMAttributeNameChanged}.

Параметры:
n - Узел для переименования.
namespaceURI - Новый URI пространства имён.
qualifiedName - Новое полное имя.
Возвращает:
Переименованный узел. Это либо указанный узел, либо новый узел, который был создан для замены указанного узла.
Вызывает:
DOMException - NOT_SUPPORTED_ERR: Вызывается, когда тип указанного узла не является ни ELEMENT_NODE, ни ATTRIBUTE_NODE, или если реализация не поддерживает переименование элемента документа.
INVALID_CHARACTER_ERR: Вызывается, если новое полное имя не является XML-именем в соответствии с используемой версией XML, указанной в атрибуте Document.xmlVersion.
WRONG_DOCUMENT_ERR: Вызывается, когда указанный узел был создан из другого документа, чем этот.
NAMESPACE_ERR: Вызывается, если qualifiedName является неправильно сформированным полным именем, если у qualifiedName есть префикс и namespaceURI имеет значение null, или если у qualifiedName есть префикс «xml» и namespaceURI отличается от " http://www.w3.org/XML/1998/namespace" [XML Namespaces]. Также вызывается, когда переименовываемый узел является атрибутом, если qualifiedName, или его префикс, равен «xmlns» и namespaceURI отличается от "http://www.w3.org/2000/xmlns/".
С:
1.5, DOM Level 3

© 1993, 2020, 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/11/docs/api/java.xml/org/w3c/dom/Document.html

Spec-Zone .ru
спецификации, руководства, описания, API