Интерфейс 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 |
Пытается принять узел из другого документа в этот документ. |
Attr |
createAttribute |
Создает Attr с указанным именем. |
Attr |
createAttributeNS |
Создает атрибут с указанным квалифицированным именем и URI пространства имен. |
CDATASection |
createCDATASection |
Создает узел CDATASection, значением которого является указанная строка. |
Comment |
createComment |
Создает узел Comment на основе указанной строки. |
DocumentFragment |
createDocumentFragment() |
Создает пустой объект DocumentFragment. |
Element |
createElement |
Создает элемент указанного типа. |
Element |
createElementNS |
Создает элемент с указанным квалифицированным именем и URI пространства имен. |
EntityReference |
createEntityReference |
Создает объект EntityReference. |
ProcessingInstruction |
createProcessingInstruction |
Создает узел ProcessingInstruction на основе указанных строк имени и данных. |
Text |
createTextNode |
Создает узел Text на основе указанной строки. |
DocumentType |
getDoctype() |
Объявление типа документа (см. DocumentType), связанное с этим документом. |
Element |
getDocumentElement() |
Это вспомогательный атрибут, обеспечивающий прямой доступ к дочернему узлу, который является элементом документа в данном документе. |
String |
getDocumentURI() |
Местоположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. |
DOMConfiguration |
getDomConfig() |
Конфигурация, используемая при вызове Document.normalizeDocument(). |
Element |
getElementById |
Возвращает Element, у которого значение атрибута ID совпадает с указанным. |
NodeList |
getElementsByTagName |
Возвращает NodeList всех Elements, содержащихся в документе и имеющих указанное имя тега, в порядке следования в документе. |
NodeList |
getElementsByTagNameNS |
Возвращает NodeList всех Elements с указанным локальным именем и URI пространства имен в порядке следования в документе. |
DOMImplementation |
getImplementation() |
Объект DOMImplementation, управляющий этим документом. |
String |
getInputEncoding() |
Атрибут, задающий кодировку, использованную для этого документа во время разбора. |
boolean |
getStrictErrorChecking() |
Атрибут, указывающий, включена ли проверка ошибок. |
String |
getXmlEncoding() |
Атрибут, задающий кодировку этого документа в составе объявления XML. |
boolean |
getXmlStandalone() |
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. |
String |
getXmlVersion() |
Атрибут, задающий номер версии этого документа в составе объявления XML. |
Node |
importNode |
Импортирует узел из другого документа в этот документ, не изменяя и не удаляя исходный узел из исходного документа; этот метод создает новую копию исходного узла. |
void |
normalizeDocument() |
Этот метод имитирует цикл сохранения и загрузки документа, приводя документ к «нормальной» форме. |
Node |
renameNode |
Переименовывает существующий узел типа ELEMENT_NODE или ATTRIBUTE_NODE. |
void |
setDocumentURI |
Местоположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. |
void |
setStrictErrorChecking |
Атрибут, указывающий, включена ли проверка ошибок. |
void |
setXmlStandalone |
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. |
void |
setXmlVersion |
Атрибут, задающий номер версии этого документа в составе объявления 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. Атрибуты по умолчанию не копируются, однако если документ, в который выполняется импорт, определяет атрибуты по умолчанию для этого имени элемента, они назначаются. Если параметрimportNodedeepустановлен в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
Согласно [Пространства имён XML], приложения должны использовать значение
null в качестве параметра namespaceURI методов, если им не требуется пространство имён.- Параметры:
-
namespaceURI— URI пространства имён создаваемого элемента. -
qualifiedName— квалифицированное имя типа создаваемого элемента. - Возвращает:
- Новый объект
Elementсо следующими атрибутами:Атрибуты объекта ElementАтрибут Значение Node.nodeNamequalifiedNameNode.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameElement.tagNamequalifiedName - Выбрасывает:
-
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
Согласно [Пространства имён XML], приложения должны использовать значение
null в качестве параметра namespaceURI методов, если им не требуется пространство имён.- Параметры:
-
namespaceURI— URI пространства имён создаваемого атрибута. -
qualifiedName— квалифицированное имя создаваемого атрибута. - Возвращает:
- Новый объект
Attrсо следующими атрибутами:Атрибуты объекта AttrАтрибут Значение Node.nodeNamequalifiedName Node.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameAttr.namequalifiedNameNode.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()
Document создан в памяти, значение атрибута равно null.- Начиная с:
- 1.5, DOM уровня 3
getXmlStandalone
boolean getXmlStandalone()
false. Примечание: При установке этого атрибута проверка значения не выполняется. Приложениям следует использовать Document.normalizeDocument() с параметром "validate", чтобы проверить соответствие значения ограничению корректности для объявления автономного документа, определённому в [XML 1.0].
- Начиная с:
- 1.5, DOM уровня 3
setXmlStandalone
void setXmlStandalone(boolean xmlStandalone) throws DOMException
false. Примечание: При установке этого атрибута проверка значения не выполняется. Приложениям следует использовать Document.normalizeDocument() с параметром "validate", чтобы проверить соответствие значения ограничению корректности для объявления автономного документа, определённому в [XML 1.0].
- Выбрасывает:
-
DOMException— NOT_SUPPORTED_ERR: возникает, если этот документ не поддерживает возможность "XML". - Начиная с:
- 1.5, DOM уровня 3
getXmlVersion
String getXmlVersion()
"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
"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
© 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