Документация интерфейса
- Все суперинтерфейсы:
Node
- Все известные подинтерфейсы:
HTMLDocument
public interface Document extends Node
Document представляет собой весь HTML или XML документ. Понятийно, он является корнем дерева документа и обеспечивает основной доступ к данным документа. Поскольку элементы, текстовые узлы, комментарии, инструкции обработки и т.д. не могут существовать вне контекста Document, интерфейс Document также содержит фабричные методы, необходимые для создания этих объектов. Объекты Node, созданные таким образом, имеют атрибут ownerDocument, который связывает их с Document, в контексте которого они были созданы.
См. также Спецификацию DOM Level 3 Core.
Краткое описание полей
Поля, объявленные в интерфейсе org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Node |
adoptNode |
Попытка принять узел из другого документа в данный документ. |
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. |
Методы, объявленные в интерфейсе org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
Подробное описание методов
getDoctype
DocumentType getDoctype()
DocumentType) для данного документа. Для XML-документов без объявления типа документа возвращается null. Для HTML-документов может возвращаться объект DocumentType, независимо от наличия или отсутствия объявления типа документа в HTML-документе. Предоставляет прямой доступ к узлу
DocumentType, дочернему узлу данного Document. Этот узел можно задать во время создания документа и позже изменить, используя методы манипулирования дочерними узлами, такие как Node.insertBefore, или Node.replaceChild. Однако, хотя некоторые реализации могут создавать объекты разных типов Document с дополнительными функциями, отличными от «Core», например, «HTML» [DOM Level 2 HTML], исходя из указанного при создании DocumentType, изменение его впоследствии вряд ли приведёт к изменению поддерживаемых функций.- Since:
- 1.4, DOM Level 3
getImplementation
DOMImplementation getImplementation()
DOMImplementation, обрабатывающий данный документ. Приложение DOM может использовать объекты из нескольких реализаций.getDocumentElement
Element getDocumentElement()
createElement
Element createElement(String tagName) throws DOMException
Element, поэтому атрибуты можно задать непосредственно на возвращённом объекте. Кроме того, если известны атрибуты с значениями по умолчанию, узлы
Attr автоматически создаются и прикрепляются к элементу. Для создания элемента с квалифицированным именем и URI пространства имён используйте метод
createElementNS. - Parameters:
-
tagName- Название типа элемента для создания. Для XML это чувствительно к регистру, в противном случае это зависит от чувствительности к регистру используемого языка разметки. В этом случае имя отображается в канонической форме этой разметки реализацией DOM. - Returns:
- Новый объект
Elementс атрибутомnodeNameустановленным в значениеtagName, аlocalName,prefix, иnamespaceURIустановлены в значениеnull. - Throws:
-
DOMException- INVALID_CHARACTER_ERR: Вызывается, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибутеDocument.xmlVersion.
createDocumentFragment
DocumentFragment createDocumentFragment()
DocumentFragment. - Returns:
- Новый объект
DocumentFragment.
createTextNode
Text createTextNode(String data)
Text с заданной строкой.- Parameters:
-
data- Данные для узла. - Returns:
- Новый объект
Text.
createComment
Comment createComment(String data)
Comment с заданной строкой.- Parameters:
-
data- Данные для узла. - Returns:
- Новый объект
Comment.
createCDATASection
CDATASection createCDATASection(String data) throws DOMException
CDATASection с заданным значением.- Parameters:
-
data- Данные для содержимогоCDATASection. - Returns:
- Новый объект
CDATASection. - Throws:
-
DOMException- NOT_SUPPORTED_ERR: Вызывается, если этот документ является HTML-документом.
createProcessingInstruction
ProcessingInstruction createProcessingInstruction(String target, String data) throws DOMException
ProcessingInstruction с заданными именем и данными.- Parameters:
-
target- Целевая часть инструкции обработки. В отличие отDocument.createElementNSилиDocument.createAttributeNS, проверка корректности имени в пространстве имён для целевого имени не выполняется. Приложения должны вызыватьDocument.normalizeDocument()с параметром «namespaces» установленным вtrue, чтобы убедиться, что целевое имя является корректным в пространстве имён. -
data- Данные для узла. - Returns:
- Новый объект
ProcessingInstruction. - Throws:
-
DOMException- INVALID_CHARACTER_ERR: Вызывается, если указанное целевое имя не является именем XML в соответствии с используемой версией XML, указанной в атрибутеDocument.xmlVersion.
NOT_SUPPORTED_ERR: Вызывается, если этот документ является HTML-документом.
createAttribute
Attr createAttribute(String name) throws DOMException
Attr с заданным именем. Обратите внимание, что экземпляр Attr затем можно установить на Element с помощью метода setAttributeNode. Для создания атрибута с квалифицированным именем и URI пространства имён используйте метод
createAttributeNS. - Parameters:
-
name- Имя атрибута. - Returns:
- Новый объект
Attrс атрибутомnodeNameустановленным вname, аlocalName,prefix, иnamespaceURIустановлены вnull. Значение атрибута — пустая строка. - Throws:
-
DOMException- INVALID_CHARACTER_ERR: Вызывается, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибутеDocument.xmlVersion.
createEntityReference
EntityReference createEntityReference(String name) throws DOMException
EntityReference. Кроме того, если ссылаемая сущность известна, список дочерних узлов узла EntityReference устанавливается таким же, как у соответствующего узла Entity. Примечание: Если у любого потомка узла Entity есть не связанный префикс пространства имён, соответствующий потомок созданного узла EntityReference также не связан; (его namespaceURI — null). DOM Level 2 и 3 не поддерживают механизм разрешения префиксов пространства имён в этом случае.
- Parameters:
-
name- Имя сущности для ссылки. В отличие отDocument.createElementNSилиDocument.createAttributeNS, проверка корректности имени сущности в пространстве имён не выполняется. Приложения должны вызыватьDocument.normalizeDocument()с параметром «namespaces» установленным вtrue, чтобы убедиться, что имя сущности является корректным в пространстве имён. - Returns:
- Новый объект
EntityReference. - Throws:
-
DOMException- INVALID_CHARACTER_ERR: Вызывается, если указанное имя не является именем XML в соответствии с используемой версией XML, указанной в атрибутеDocument.xmlVersion.
NOT_SUPPORTED_ERR: Вызывается, если этот документ является HTML-документом.
getElementsByTagName
NodeList getElementsByTagName(String tagname)
NodeList всех Elements в порядке документа с заданным именем тега, которые содержатся в документе.- Parameters:
-
tagname- Имя тега для сопоставления. Специальное значение «*» соответствует всем тегам. Для XML параметрtagnameчувствителен к регистру, в противном случае это зависит от чувствительности к регистру используемого языка разметки. - Returns:
- Новый объект
NodeListсодержащий все совпадающиеElements.
importNode
Node importNode(Node importedNode, boolean deep) throws DOMException
parentNode — null). Для всех узлов импорт узла создаёт объект узла, принадлежащий документу импорта, со значениями атрибутов, идентичными значениям атрибутов исходного узла
nodeName и nodeType, а также атрибутами, связанными с именованными пространствами (prefix, localName, и namespaceURI). Как и в операции cloneNode, исходный узел не изменяется. Данные пользователя, связанные с импортированным узлом, не переносятся. Однако, если были указаны обработчики UserDataHandlers вместе с соответствующими данными, эти обработчики будут вызваны с соответствующими параметрами перед возвратом из этого метода. Дополнительная информация копируется, как это уместно, в
nodeType, пытаясь отобразить ожидаемое поведение, если фрагмент XML или HTML-исходника был скопирован из одного документа в другой, учитывая, что два документа могут иметь разные DTD в случае XML. Следующий список описывает особенности для каждого типа узла. - ATTRIBUTE_NODE
- Атрибут
ownerElementустанавливается в значениеnull, а флагspecifiedустанавливается в значениеtrueдля сгенерированногоAttr. Потомки исходногоAttrрекурсивно импортируются, а полученные узлы собираются заново для формирования соответствующего поддерева. Обратите внимание, что параметрdeepне оказывает влияния на узлыAttr; они всегда переносят свои потомки при импорте. - DOCUMENT_FRAGMENT_NODE
- Если опция
deepбыла установлена в значениеtrue, потомки исходногоDocumentFragmentрекурсивно импортируются, а полученные узлы собираются заново под импортированнымDocumentFragmentдля формирования соответствующего поддерева. В противном случае это просто генерирует пустойDocumentFragment. - DOCUMENT_NODE
-
Узлы
Documentне могут быть импортированы. - DOCUMENT_TYPE_NODE
-
Узлы
DocumentTypeне могут быть импортированы. - ELEMENT_NODE
- Узлы атрибутов, указанные, исходного элемента импортируются, а сгенерированные
Attrузлы присоединяются к сгенерированномуElement. Значения атрибутов по умолчанию не копируются, хотя если импортируемый документ определяет атрибуты по умолчанию для этого имени элемента, они назначаются. Если параметр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:
- Новый объект коллекции, содержащий все совпавшие элементы.
- Since:
- 1.4, DOM Level 2
getElementById
Element getElementById(String elementId)
Реализация DOM должна использовать атрибут
Attr.isId для определения типа атрибута ID. Примечание: Атрибуты с именем "ID" или "id" не являются ID-атрибутами, если явно не определено.
- Parameters:
-
elementId- Уникальное значение ID элемента. - Returns:
- Совпадающий элемент или null, если такового нет.
- Since:
- 1.4, DOM Level 2
getInputEncoding
String getInputEncoding()
- Since:
- 1.5, DOM Level 3
getXmlEncoding
String getXmlEncoding()
- Since:
- 1.5, DOM Level 3
getXmlStandalone
boolean getXmlStandalone()
Примечание: Значение не проверяется при установке. Приложения должны использовать Document.normalizeDocument() с параметром "validate", чтобы проверить соответствие значения ограничению валидности объявления автономного документа, как определено в [XML 1.0].
- Since:
- 1.5, DOM Level 3
setXmlStandalone
void setXmlStandalone(boolean xmlStandalone) throws DOMException
Примечание: Значение не проверяется при установке. Приложения должны использовать Document.normalizeDocument() с параметром "validate", чтобы проверить соответствие значения ограничению валидности объявления автономного документа, как определено в [XML 1.0].
- Throws:
-
DOMException- NOT_SUPPORTED_ERR: Вызывается, если этот документ не поддерживает функцию "XML". - Since:
- 1.5, DOM Level 3
getXmlVersion
String getXmlVersion()
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. - Since:
- 1.5, DOM Level 3
setXmlVersion
void setXmlVersion(String xmlVersion) throws DOMException
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. - Throws:
-
DOMException- NOT_SUPPORTED_ERR: Вызывается, если версия не поддерживается данным документом или если документ не поддерживает функцию "XML". - Since:
- 1.5, DOM Level 3
getStrictErrorChecking
boolean getStrictErrorChecking()
false, реализация может не тестировать все возможные ошибки, обычно определяемые операциями DOM, не генерировать исключения при операциях DOM или не сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию значение атрибута true. - Since:
- 1.5, DOM Level 3
setStrictErrorChecking
void setStrictErrorChecking(boolean strictErrorChecking)
false, реализация может не тестировать все возможные ошибки, обычно определяемые операциями DOM, не генерировать исключения при операциях DOM или не сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию значение атрибута true. - Since:
- 1.5, DOM Level 3
getDocumentURI
String getDocumentURI()
DOMImplementation.createDocument. При установке атрибута лексическая проверка не выполняется, что может привести к возвращению значения null при использовании Node.baseURI. Обратите внимание, что когда документ поддерживает функцию "HTML" [DOM Level 2 HTML] , атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении
Node.baseURI. - Since:
- 1.5, DOM Level 3
setDocumentURI
void setDocumentURI(String documentURI)
DOMImplementation.createDocument. При установке атрибута лексическая проверка не выполняется, что может привести к возвращению значения null при использовании Node.baseURI. Обратите внимание, что когда документ поддерживает функцию "HTML" [DOM Level 2 HTML] , атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении
Node.baseURI. - Since:
- 1.5, DOM Level 3
принятьУзел
Node adoptNode(Node source) throws DOMException
ownerDocument исходного узла, его потомков, а также присоединённых узлов атрибутов, если таковые имеются. Если у исходного узла есть родитель, он сначала удаляется из списка потомков своего родителя. Это эффективно позволяет перемещать поддерево из одного документа в другой (в отличие от importNode(), которое создаёт копию исходного узла вместо его перемещения). В случае неудачи приложения должны использовать Document.importNode() вместо этого. Обратите внимание, что если принятый узел уже является частью этого документа (т.е. исходный и целевой документы одинаковы), этот метод всё равно имеет эффект удаления исходного узла из списка потомков его родителя, если таковой имеется. Следующий список описывает особенности для каждого типа узла.
- ATTRIBUTE_NODE
- Атрибут
ownerElementустанавливается вnull, а флагspecifiedустанавливается вtrueна принятомAttr. Потомки исходногоAttrрекурсивно принимаются. - DOCUMENT_FRAGMENT_NODE
- Потомки исходного узла рекурсивно принимаются.
- DOCUMENT_NODE
- Узлы
Documentне могут быть приняты. - DOCUMENT_TYPE_NODE
- Узлы
DocumentTypeне могут быть приняты. - ELEMENT_NODE
- Указанные узлы атрибутов исходного элемента принимаются. Значения по умолчанию игнорируются, хотя, если документ, в который принимается узел, определяет значения по умолчанию для этого имени элемента, они присваиваются. Потомки исходного элемента рекурсивно принимаются.
- ENTITY_NODE
- Узлы
Entityне могут быть приняты. - ENTITY_REFERENCE_NODE
- Принимается только сам узел
EntityReference, потомки отбрасываются, так как исходный и целевой документы могут по-разному определить сущность. Если импортируемый документ предоставляет определение для этого имени сущности, его значение присваивается. - NOTATION_NODE
-
Узлы
Notationне могут быть приняты. - PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
- Эти узлы могут быть приняты. Без особых указаний.
Примечание: Поскольку он не создаёт новые узлы в отличие от метода Document.importNode(), этот метод не вызывает исключение INVALID_CHARACTER_ERR, и приложения должны использовать метод Document.normalizeDocument() для проверки, если импортируемое имя не является именем XML в соответствии с используемой версией XML.
- Параметры:
-
source- Узел для перемещения в этот документ. - Возвращает:
- Принятый узел или
nullесли операция завершилась неудачей, например, когда исходный узел происходит из другого модуля. - Исключения:
-
DOMException- NOT_SUPPORTED_ERR: Вызывается, если исходный узел имеет типDOCUMENT,DOCUMENT_TYPE.
NO_MODIFICATION_ALLOWED_ERR: Вызывается, когда исходный узел является только для чтения. - С:
- 1.5, DOM Level 3
getDomConfig
DOMConfiguration getDomConfig()
Document.normalizeDocument(). - С:
- 1.5, DOM Level 3
нормализоватьДокумент
void normalizeDocument()
EntityReference и нормализует узлы Text, как определено в методе Node.normalize(). В противном случае фактический результат зависит от функций, установленных в объекте
Document.domConfig и определяющих, какие операции фактически выполняются. Заметно, что этот метод также может сделать пространство имён документа хорошо сформированным в соответствии с алгоритмом, описанным в, проверить нормализацию символов, удалить узлы CDATASection и т.д. Подробнее см. в DOMConfiguration. // Keep in the document
the information defined // in the XML Information Set (Java example)
DOMConfiguration docConfig = myDocument.getDomConfig();
docConfig.setParameter("infoset", Boolean.TRUE);
myDocument.normalizeDocument(); События изменения, если поддерживаются, генерируются для отражения происходящих изменений в документе.
Если при вызове этого метода произойдут ошибки, например, попытка обновить узел только для чтения или
Node.nodeName содержит недопустимый символ в соответствии с используемой версией XML, ошибки или предупреждения (DOMError.SEVERITY_ERROR или DOMError.SEVERITY_WARNING) будут сообщены с помощью объекта DOMErrorHandler , связанного с параметром "обработчик ошибок". Обратите внимание, что этот метод также может сообщать об ошибках критичного уровня (DOMError.SEVERITY_FATAL_ERROR) если реализация не может восстановиться от ошибки.- С:
- 1.5, DOM Level 3
переименоватьУзел
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 Namespaces] . Также вызывается, когда переименовываемый узел является атрибутом, еслиqualifiedName, или его префикс, равен "xmlns" иnamespaceURIотличается от "http://www.w3.org/2000/xmlns/". - С:
- 1.5, DOM Level 3
© 1993, 2023, 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/21/docs/api/java.xml/org/w3c/dom/Document.html