Документация интерфейса
- Все суперинтерфейсы:
Node
- Все известные подинтерфейсы:
HTMLDocument
public interface Document extends Node
Document представляет собой весь HTML- или XML-документ. По концепции, он является корнем дерева документа и предоставляет основной доступ к данным документа. Поскольку элементы, текстовые узлы, комментарии, инструкции обработки и т. д. не могут существовать вне контекста Document, интерфейс Document также содержит фабричные методы, необходимые для создания этих объектов. Созданные объекты Node имеют атрибут ownerDocument, который связывает их с Document, в контексте которого они были созданы.
См. также Спецификацию Объектной модели документа (DOM) уровня 3 Core.
- С:
- 1.4, DOM Level 2
Краткое описание полей
Поля, объявленные в интерфейсе 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 |
Попытка принять узел из другого документа в этот документ. |
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 |
Возвращает список всех Elements в порядке документа с заданным именем тега, содержащихся в документе. |
NodeList |
getElementsByTagNameNS |
Возвращает список всех 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, версию этого документа. |
Методы, объявленные в интерфейсе 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, заданного во время создания, изменение его впоследствии вряд ли приведёт к изменению поддерживаемых функций.- С:
- 1.4, DOM Level 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 Level 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-источника из одного документа в другой, учитывая, что два документа могут иметь разные 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. Значения по умолчанию не копируются, хотя если импортируемый документ определяет значения по умолчанию для этого имени элемента, они назначаются. Если параметрimportNodedeepбыл установлен в значениеtrue, потомки исходного элемента импортируются рекурсивно, а результирующие узлы собираются для формирования соответствующего поддерева. - ENTITY_NODE
- Узлы
Entityмогут быть импортированы, однако в текущей версии DOMDocumentTypeявляется только для чтения. Возможность добавления этих импортированных узлов вDocumentTypeбудет рассмотрена для добавления в будущие версии DOM. При импорте атрибутыpublicId,systemIdиnotationNameкопируются. Если запрос импортаdeep, потомки исходногоEntityимпортируются рекурсивно, а результирующие узлы собираются для формирования соответствующего поддерева. - ENTITY_REFERENCE_NODE
- Копируется только сам
EntityReference, даже если запрос импортаdeep, так как исходный и целевой документы могут по-разному определять сущность. Если импортируемый документ предоставляет определение для этого имени сущности, его значение назначается. - NOTATION_NODE
- Узлы
Notationмогут быть импортированы, однако в текущей версии DOMDocumentTypeявляется только для чтения. Возможность добавления этих импортированных узлов вDocumentTypeбудет рассмотрена для добавления в будущие версии DOM. При импорте атрибутыpublicIdиsystemIdкопируются. Обратите внимание, что параметрdeepне влияет на этот тип узлов, так как они не могут иметь потомков. - PROCESSING_INSTRUCTION_NODE
- Импортированный узел копирует свои значения
targetиdataиз значений исходного узла. Обратите внимание, что параметрdeepне влияет на этот тип узлов, так как они не могут иметь потомков. - TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
- Эти три типа узлов, наследуемых от
CharacterData, копируют свои атрибутыdataиlengthиз атрибутов исходного узла. Обратите внимание, что параметрdeepне влияет на эти типы узлов, так как они не могут иметь потомков.
- Parameters:
-
importedNode- Узел для импорта. -
deep- Еслиtrue, рекурсивно импортировать поддерево под указанным узлом; еслиfalse, импортировать только сам узел, как описано выше. Это не влияет на узлы, которые не могут иметь потомков, и на узлыAttrиEntityReference. - Returns:
- Импортированный узел, принадлежащий этому
Document. - Throws:
-
DOMException- NOT_SUPPORTED_ERR: Возникает, если тип импортируемого узла не поддерживается.
INVALID_CHARACTER_ERR: Возникает, если одно из импортированных имён не является именем XML в соответствии с используемой версией XML, указанной в атрибутеDocument.xmlVersion. Это может произойти, например, при импорте элемента XML 1.1 [XML 1.1] в документ XML 1.0. - Since:
- 1.4, DOM Level 2
createElementNS
Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
Согласно [XML Namespaces], приложения должны использовать значение
null в качестве параметра namespaceURI для методов, если они хотят не использовать именованное пространство.- Parameters:
-
namespaceURI- URI именованного пространства создаваемого элемента. -
qualifiedName- Полное имя типа элемента, подлежащего созданию. - Returns:
- Новый объект
Elementсо следующими атрибутами:Атрибуты объекта ElementАтрибут Значение Node.nodeNamequalifiedNameNode.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameElement.tagNamequalifiedName - Throws:
-
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. - Since:
- 1.4, DOM Level 2
createAttributeNS
Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
В соответствии с [XML Namespaces] приложения должны использовать значение
null в качестве параметра namespaceURI для методов, если им не требуется пространство имён.- Parameters:
-
namespaceURI- URI пространства имён создаваемого атрибута. -
qualifiedName- Квалифицированное имя атрибута для создания. - Returns:
- Новый объект
Attrс указанными атрибутами:Атрибуты объекта AttrАтрибут Значение Node.nodeNamequalifiedName Node.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameAttr.namequalifiedNameNode.nodeValueпустая строка - Throws:
-
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. - Since:
- 1.4, DOM Level 2
getElementsByTagNameNS
NodeList getElementsByTagNameNS(String namespaceURI, String localName)
- Parameters:
-
namespaceURI- URI пространства имён искомых элементов. Специальное значение"*"соответствует всем пространствам имён. -
localName- Локальное имя искомых элементов. Специальное значение "*" соответствует всем локальным именам. - Returns:
- Новый объект
NodeList, содержащий все соответствующие элементыElements. - Since:
- 1.4, DOM Level 2
getElementById
Element getElementById(String elementId)
null. Если более одного элемента имеет атрибут ID с этим значением, возвращаемое значение неопределено. Реализация DOM должна использовать атрибут
Attr.isId для определения, является ли атрибут типом ID. Примечание: Атрибуты с именем "ID" или "id" не являются типа ID, если не определены как таковые.
- Parameters:
-
elementId- Уникальное значениеidэлемента. - Returns:
- Соответствующий элемент или
null, если он отсутствует. - Since:
- 1.4, DOM Level 2
getInputEncoding
String getInputEncoding()
null, если кодировка неизвестна, например, когда документ был создан в памяти.- Since:
- 1.5, DOM Level 3
getXmlEncoding
String getXmlEncoding()
null, если не указана или неизвестна, например, когда документ был создан в памяти.- Since:
- 1.5, DOM Level 3
getXmlStandalone
boolean getXmlStandalone()
false, если не указано. Примечание: Проверка значения при установке этого атрибута не выполняется. Приложения должны использовать Document.normalizeDocument() с параметром "validate", чтобы проверить, соответствует ли значение ограничению допустимости для объявления автономного документа, как определено в [XML 1.0].
- Since:
- 1.5, DOM Level 3
setXmlStandalone
void setXmlStandalone(boolean xmlStandalone) throws DOMException
false, если не указано. Примечание: Проверка значения при установке этого атрибута не выполняется. Приложения должны использовать Document.normalizeDocument() с параметром "validate", чтобы проверить, соответствует ли значение ограничению допустимости для объявления автономного документа, как определено в [XML 1.0].
- Throws:
-
DOMException- NOT_SUPPORTED_ERR: Выбрасывается, если этот документ не поддерживает функцию "XML". - Since:
- 1.5, DOM Level 3
getXmlVersion
String getXmlVersion()
"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.- Since:
- 1.5, DOM Level 3
setXmlVersion
void setXmlVersion(String xmlVersion) throws DOMException
"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.- Throws:
-
DOMException- NOT_SUPPORTED_ERR: Выбрасывается, если версия установлена на значение, которое не поддерживается этимDocument, или если этот документ не поддерживает функцию "XML". - Since:
- 1.5, DOM Level 3
getStrictErrorChecking
boolean getStrictErrorChecking()
false, реализация может не проверять каждый возможный случай ошибки, обычно определённый в операциях DOM, и не генерировать исключения DOMException в операциях DOM или сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение неопределено. По умолчанию этот атрибут установлен в значение true.- Since:
- 1.5, DOM Level 3
setStrictErrorChecking
void setStrictErrorChecking(boolean strictErrorChecking)
false, реализация может не проверять все возможные случаи ошибок, обычно определяемые операциями DOM, и не генерировать исключения DOMException при операциях DOM или сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию этот атрибут имеет значение true.- Since:
- 1.5, DOM Level 3
getDocumentURI
String getDocumentURI()
null, если оно не определено или если документ был создан с помощью DOMImplementation.createDocument. При установке этого атрибута не выполняется лексическая проверка; это может привести к возврату null значения при использовании Node.baseURI . Обратите внимание, что если реализация поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента BASE HTML имеет приоритет над этим атрибутом при вычислении
Node.baseURI.- Since:
- 1.5, DOM Level 3
setDocumentURI
void setDocumentURI(String documentURI)
null, если оно не определено или если документ был создан с помощью DOMImplementation.createDocument. При установке этого атрибута не выполняется лексическая проверка; это может привести к возврату null значения при использовании Node.baseURI . Обратите внимание, что если реализация поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента BASE HTML имеет приоритет над этим атрибутом при вычислении
Node.baseURI.- Since:
- 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.
- Parameters:
-
source- Узел для перемещения в этот документ. - Returns:
- Принятый узел или
null, если операция завершилась неудачно, например, когда исходный узел происходит из другой реализации. - Throws:
-
DOMException- NOT_SUPPORTED_ERR: Вызывается, если исходный узел является узлом типаDOCUMENT,DOCUMENT_TYPE.
NO_MODIFICATION_ALLOWED_ERR: Вызывается, когда исходный узел является только для чтения. - Since:
- 1.5, DOM Level 3
getDomConfig
DOMConfiguration getDomConfig()
Document.normalizeDocument().- Since:
- 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, связанного с параметром "error-handler". Обратите внимание, что этот метод также может сообщать об ошибках (DOMError.SEVERITY_FATAL_ERROR), если реализация не может восстановиться от ошибки.- Since:
- 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, - когда реализация поддерживает функцию "MutationNameEvents", каждая операция мутации, участвующая в этом методе, вызывает соответствующее событие, и в конце генерируется событие {
http://www.w3.org/2001/xml-events,DOMElementNameChanged} или {http://www.w3.org/2001/xml-events,DOMAttributeNameChanged}.
- Parameters:
-
n- Узел для переименования. -
namespaceURI- Новый URI пространства имён. -
qualifiedName- Новое полное имя. - Returns:
- Переименованный узел. Это либо указанный узел, либо новый узел, созданный для замены указанного узла.
- Throws:
-
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/". - Since:
- 1.5, DOM Level 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/w3c/dom/Document.html