Spec-Zone.ru › OpenJDK 25

Интерфейс Document

Все суперинтерфейсы:
Node
Все известные подинтерфейсы:
HTMLDocument
public interface Document extends Node
Интерфейс Document представляет весь HTML- или XML-документ. Концептуально он является корнем дерева документа и обеспечивает основной доступ к данным документа.

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

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

Начиная с версии:
1.4, DOM уровня 2

Краткое описание полей

Поля, объявленные в интерфейсе 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.

Методы, объявленные в интерфейсе 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» [HTML DOM уровня 2], на основе DocumentType, указанного при создании, последующее изменение этого значения вряд ли приведёт к изменению поддерживаемых возможностей.
Начиная с:
1.4, DOM уровня 3

getImplementation

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

getDocumentElement

Element getDocumentElement()
Это вспомогательный атрибут, обеспечивающий прямой доступ к дочернему узлу, который является корневым элементом документа.

createElement

Element createElement(String tagName) throws DOMException
Создаёт элемент указанного типа. Обратите внимание, что возвращаемый экземпляр реализует интерфейс Element, поэтому атрибуты можно задавать непосредственно для возвращённого объекта.
Кроме того, если известны атрибуты со значениями по умолчанию, узлы Attr, представляющие их, создаются автоматически и присоединяются к элементу.
Чтобы создать элемент с квалифицированным именем и URI пространства имён, используйте метод createElementNS.
Параметры:
tagName — имя типа элемента, экземпляр которого необходимо создать. Для XML это имя чувствительно к регистру; в противном случае это зависит от чувствительности к регистру используемого языка разметки. В этом случае реализация DOM преобразует имя в каноническую форму соответствующего языка разметки.
Возвращает:
Новый объект Element с атрибутом nodeName, установленным в tagName, а также с localName, prefix и namespaceURI, установленными в null.
Выбрасывает:
DOMException — INVALID_CHARACTER_ERR: возникает, если указанное имя не является именем XML в соответствии с используемой версией XML, заданной в атрибуте Document.xmlVersion.

createDocumentFragment

DocumentFragment createDocumentFragment()
Создаёт пустой объект DocumentFragment.
Возвращает:
Новый DocumentFragment.

createTextNode

Text createTextNode(String data)
Создаёт текстовый узел Text из указанной строки.
Параметры:
data — данные узла.
Возвращает:
Новый объект Text.

createComment

Comment createComment(String data)
Создаёт узел комментария Comment из указанной строки.
Параметры:
data — данные узла.
Возвращает:
Новый объект Comment.

createCDATASection

CDATASection createCDATASection(String data) throws DOMException
Создаёт узел CDATASection, значением которого является указанная строка.
Параметры:
data — данные содержимого CDATASection.
Возвращает:
Новый объект CDATASection.
Выбрасывает:
DOMException — NOT_SUPPORTED_ERR: возникает, если этот документ является HTML-документом.

createProcessingInstruction

ProcessingInstruction createProcessingInstruction(String target, String data) throws DOMException
Создаёт узел ProcessingInstruction из указанных строк имени и данных.
Параметры:
target — целевая часть инструкции обработки. В отличие от Document.createElementNS или Document.createAttributeNS, проверка корректности имени цели с точки зрения пространства имён не выполняется. Приложениям следует вызывать Document.normalizeDocument() с параметром " namespaces", установленным в true, чтобы убедиться в корректности имени цели с точки зрения пространства имён.
data — данные узла.
Возвращает:
Новый объект ProcessingInstruction.
Выбрасывает:
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.
Параметры:
name — имя атрибута.
Возвращает:
Новый объект Attr с атрибутом nodeName, установленным в name, а также с localName, prefix и namespaceURI, установленными в null. Значение атрибута — пустая строка.
Выбрасывает:
DOMException — INVALID_CHARACTER_ERR: возникает, если указанное имя не является именем XML в соответствии с используемой версией XML, заданной в атрибуте Document.xmlVersion.

createEntityReference

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

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

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

getElementsByTagName

NodeList getElementsByTagName(String tagname)
Возвращает NodeList всех Elements в порядке следования в документе, которые имеют заданное имя тега и содержатся в документе.
Параметры:
tagname — имя тега для поиска. Специальное значение "*" соответствует всем тегам. Для XML параметр tagname чувствителен к регистру; в противном случае это зависит от чувствительности к регистру используемого языка разметки.
Возвращает:
Новый объект NodeList, содержащий все найденные Elements.

importNode

Node importNode(Node importedNode, boolean deep) throws DOMException
Импортирует узел из другого документа в этот документ, не изменяя и не удаляя исходный узел из исходного документа; этот метод создаёт новую копию исходного узла. У возвращённого узла нет родителя; (parentNode равен null).
Для всех узлов импорт создаёт объект узла, принадлежащий импортирующему документу, со значениями атрибутов, идентичными nodeName и nodeType исходного узла, а также атрибутами, связанными с пространствами имён (prefix, localName и namespaceURI). Как и при операции cloneNode, исходный узел не изменяется. Пользовательские данные, связанные с импортируемым узлом, не переносятся. Однако если были указаны какие-либо UserDataHandlers вместе со связанными данными, эти обработчики будут вызваны с соответствующими параметрами до возврата из этого метода.
Дополнительная информация копируется в nodeType в соответствии с типом узла. При этом делается попытка воспроизвести ожидаемое поведение при копировании фрагмента исходного кода XML или HTML из одного документа в другой с учётом того, что в случае XML у двух документов могут быть разные DTD. Ниже описаны особенности для каждого типа узла.
ATTRIBUTE_NODE
Атрибут ownerElement устанавливается в null, а флаг specified для созданного Attr устанавливается в true. Потомки исходного 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 уровня 2

createElementNS

Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
Создаёт элемент с указанными квалифицированным именем и URI пространства имён.
Согласно [Пространства имён XML], приложения должны использовать значение null в качестве параметра namespaceURI методов, если им не требуется пространство имён.
Параметры:
namespaceURI — URI пространства имён создаваемого элемента.
qualifiedName — квалифицированное имя типа создаваемого элемента.
Возвращает:
Новый объект Element со следующими атрибутами:
Атрибуты объекта 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], если 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 уровня 2

createAttributeNS

Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
Создаёт атрибут с указанными квалифицированным именем и URI пространства имён.
Согласно [Пространства имён XML], приложения должны использовать значение null в качестве параметра namespaceURI методов, если им не требуется пространство имён.
Параметры:
namespaceURI — URI пространства имён создаваемого атрибута.
qualifiedName — квалифицированное имя создаваемого атрибута.
Возвращает:
Новый объект Attr со следующими атрибутами:
Атрибуты объекта 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 уровня 2

getElementsByTagNameNS

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

getElementById

Element getElementById(String elementId)
Возвращает Element, у которого атрибут ID имеет указанное значение. Если такого элемента нет, возвращается null. Если значение атрибута ID совпадает у нескольких элементов, результат не определён.
Предполагается, что реализация DOM использует атрибут Attr.isId для определения того, является ли атрибут атрибутом типа ID.

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

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

getInputEncoding

String getInputEncoding()
Атрибут, указывающий кодировку, использованную для этого документа во время разбора. Если кодировка неизвестна, например когда Document создан в памяти, значение атрибута равно null.
Начиная с:
1.5, DOM уровня 3

getXmlEncoding

String getXmlEncoding()
Атрибут, указывающий кодировку этого документа в составе объявления XML. Если кодировка не указана или неизвестна, например когда Document создан в памяти, значение атрибута равно null.
Начиная с:
1.5, DOM уровня 3

getXmlStandalone

boolean getXmlStandalone()
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. Если значение не задано, возвращается false.

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

Начиная с:
1.5, DOM уровня 3

setXmlStandalone

void setXmlStandalone(boolean xmlStandalone) throws DOMException
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. Если значение не задано, возвращается false.

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

Выбрасывает:
DOMException — NOT_SUPPORTED_ERR: возникает, если этот документ не поддерживает возможность "XML".
Начиная с:
1.5, DOM уровня 3

getXmlVersion

String getXmlVersion()
Атрибут, указывающий номер версии этого документа в составе объявления XML. Если объявление отсутствует, а документ поддерживает возможность "XML", значение равно "1.0". Если документ не поддерживает возможность "XML", значение всегда равно null. Изменение этого атрибута влияет на методы, проверяющие недопустимые символы в именах XML. Чтобы проверить наличие недопустимых символов в Node, уже входящих в состав этого Document, приложению следует вызвать Document.normalizeDocument().
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 уровня 3

setXmlVersion

void setXmlVersion(String xmlVersion) throws DOMException
Атрибут, указывающий номер версии этого документа в составе объявления XML. Если объявление отсутствует, а документ поддерживает возможность "XML", значение равно "1.0". Если документ не поддерживает возможность "XML", значение всегда равно null. Изменение этого атрибута влияет на методы, проверяющие недопустимые символы в именах XML. Чтобы проверить наличие недопустимых символов в Node, уже входящих в состав этого Document, приложению следует вызвать Document.normalizeDocument().
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 уровня 3

getStrictErrorChecking

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

setStrictErrorChecking

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

getDocumentURI

String getDocumentURI()
Расположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута лексическая проверка не выполняется; при использовании Node.baseURI это может привести к возврату значения null.
Обратите внимание: если Document поддерживает функцию «HTML» [DOM уровня 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.
Начиная с версии:
1.5, DOM уровня 3

setDocumentURI

void setDocumentURI(String documentURI)
Расположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута лексическая проверка не выполняется; при использовании Node.baseURI это может привести к возврату значения null.
Обратите внимание: если Document поддерживает функцию «HTML» [DOM уровня 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.
Начиная с версии:
1.5, DOM уровня 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
Узлы атрибутов исходного элемента, для которых задано значение Specified, принимаются. Атрибуты по умолчанию отбрасываются, однако, если документ, в который выполняется принятие, определяет атрибуты по умолчанию для этого имени элемента, они назначаются. Потомки исходного элемента рекурсивно принимаются.
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; для проверки того, что импортируемое имя не является именем XML согласно используемой версии XML, приложениям следует использовать метод Document.normalizeDocument().

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

getDomConfig

DOMConfiguration getDomConfig()
Конфигурация, используемая при вызове Document.normalizeDocument().
Начиная с версии:
1.5, DOM уровня 3

normalizeDocument

void normalizeDocument()
Этот метод действует так, как если бы документ прошёл цикл сохранения и загрузки, приводя документ к «нормальной» форме. В результате этот метод обновляет дерево замены узлов EntityReference и нормализует узлы Text, как определено в методе Node.normalize().
В остальных случаях фактический результат зависит от функций, заданных для объекта Document.domConfig, и от того, какие операции они определяют. В частности, этот метод может также привести пространство имён документа в соответствие с правилами XML согласно алгоритму, описанному в , проверить нормализацию символов, удалить узлы 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, связанного с параметром «error-handler». Обратите внимание, что этот метод может также сообщать о неустранимых ошибках (DOMError.SEVERITY_FATAL_ERROR), если реализация не может восстановиться после ошибки.
Начиная с версии:
1.5, DOM уровня 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,
  • если реализация поддерживает функцию «MutationNameEvents», для каждой операции мутации, выполняемой этим методом, генерируется соответствующее событие, а в конце генерируется событие { 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]. Также возникает, если переименовываемый узел является атрибутом, когда qualifiedName или его префикс равен «xmlns», а namespaceURI отличается от «http://www.w3.org/2000/xmlns/».
Начиная с версии:
1.5, DOM уровня 3

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, в том числе концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

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