Документация интерфейса
- Все суперинтерфейсы:
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 , указанного во время создания, изменение его впоследствии вряд ли приведёт к изменению поддерживаемых функций.- С:
- 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() для проверки недопустимых символов в именах XML, которые уже являются частью этого 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() для проверки недопустимых символов в именах XML, которые уже являются частью этого 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
Включить строгую проверку ошибок
void setStrictErrorChecking(boolean strictErrorChecking)
false, реализация может не проверять все возможные ошибки, обычно определяемые операциями DOM, и не генерировать никаких DOMException при операциях DOM или сообщать об ошибках при использовании Document.normalizeDocument(). В случае ошибки поведение не определено. По умолчанию этот атрибут true.- Since:
- 1.5, DOM Level 3
getDocumentURI
String getDocumentURI()
null, если неопределено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута не выполняется лексическая проверка; это может привести к возврату null значения при использовании Node.baseURI. Обратите внимание, что если
Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.
- Since:
- 1.5, DOM Level 3
setDocumentURI
void setDocumentURI(String documentURI)
null, если неопределено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута не выполняется лексическая проверка; это может привести к возврату null значения при использовании Node.baseURI. Обратите внимание, что если
Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.
- 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 , связанного с параметром «обработчик ошибок». Обратите внимание, что этот метод также может сообщать об ошибках (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, - при поддержке реализацией функции «События переименования мутаций», каждая операция мутации, связанная с этим методом, генерирует соответствующее событие, и в конце генерируется событие {
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, 2021, 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/17/docs/api/java.xml/org/w3c/dom/Document.html