Интерфейс Document
- Все суперинтерфейсы:
Node
- Все известные подинтерфейсы:
HTMLDocument
public interface Document extends Node
Document представляет весь документ HTML или XML. Концептуально он является корнем дерева документа и обеспечивает основной доступ к данным документа. Поскольку элементы, текстовые узлы, комментарии, инструкции по обработке и т. д. не могут существовать вне контекста Document, интерфейс Document также содержит фабричные методы, необходимые для создания этих объектов. Созданные объекты Node имеют атрибут ownerDocument, связывающий их с Document, в контексте которого они были созданы.
См. также Спецификацию базовой модели объектов документа (DOM) уровня 3.
- Начиная с:
- 1.4, DOM уровня 2
Краткое описание полей
Поля, объявленные в интерфейсе Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE | Модификатор и тип | Поле | Описание |
|---|---|---|
static final short |
ATTRIBUTE_NODE |
Узел является Attr. |
static final short |
CDATA_SECTION_NODE |
Узел является CDATASection. |
static final short |
COMMENT_NODE |
Узел является Comment. |
static final short |
DOCUMENT_FRAGMENT_NODE |
Узел является DocumentFragment. |
static final short |
DOCUMENT_NODE |
Узел является Document. |
static final short |
DOCUMENT_POSITION_CONTAINED_BY |
Узел содержится в опорном узле. |
static final short |
DOCUMENT_POSITION_CONTAINS |
Узел содержит опорный узел. |
static final short |
DOCUMENT_POSITION_DISCONNECTED |
Узлы не связаны. |
static final short |
DOCUMENT_POSITION_FOLLOWING |
Узел следует за опорным узлом. |
static final short |
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
Определение порядка следования узлов зависит от реализации. |
static final short |
DOCUMENT_POSITION_PRECEDING |
Второй узел предшествует опорному узлу. |
static final short |
DOCUMENT_TYPE_NODE |
Узел является DocumentType. |
static final short |
ELEMENT_NODE |
Узел является Element. |
static final short |
ENTITY_NODE |
Узел является Entity. |
static final short |
ENTITY_REFERENCE_NODE |
Узел является EntityReference. |
static final short |
NOTATION_NODE |
Узел является Notation. |
static final short |
PROCESSING_INSTRUCTION_NODE |
Узел является ProcessingInstruction. |
static final short |
TEXT_NODE |
Узел является узлом Text. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Node |
adoptNode |
Пытается принять узел из другого документа в этот документ. |
Attr |
createAttribute |
Создает Attr с указанным именем. |
Attr |
createAttributeNS |
Создает атрибут с указанным квалифицированным именем и URI пространства имен. |
CDATASection |
createCDATASection |
Создает узел CDATASection, значением которого является указанная строка. |
Comment |
createComment |
Создает узел Comment с указанной строкой. |
DocumentFragment |
createDocumentFragment() |
Создает пустой объект DocumentFragment. |
Element |
createElement |
Создает элемент указанного типа. |
Element |
createElementNS |
Создает элемент с указанным квалифицированным именем и URI пространства имен. |
EntityReference |
createEntityReference |
Создает объект EntityReference. |
ProcessingInstruction |
createProcessingInstruction |
Создает узел ProcessingInstruction с указанными строками имени и данных. |
Text |
createTextNode |
Создает узел Text с указанной строкой. |
DocumentType |
getDoctype() |
Объявление типа документа (см. DocumentType), связанное с этим документом. |
Element |
getDocumentElement() |
Этот вспомогательный атрибут обеспечивает прямой доступ к дочернему узлу, являющемуся элементом документа. |
String |
getDocumentURI() |
Местоположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. |
DOMConfiguration |
getDomConfig() |
Конфигурация, используемая при вызове Document.normalizeDocument(). |
Element |
getElementById |
Возвращает Element, имеющий атрибут ID с указанным значением. |
NodeList |
getElementsByTagName |
Возвращает NodeList всех Elements в порядке документа, имеющих указанное имя тега и содержащихся в документе. |
NodeList |
getElementsByTagNameNS |
Возвращает NodeList всех Elements с указанным локальным именем и URI пространства имен в порядке документа. |
DOMImplementation |
getImplementation() |
Объект DOMImplementation, обрабатывающий этот документ. |
String |
getInputEncoding() |
Атрибут, задающий кодировку, использованную для этого документа во время разбора. |
boolean |
getStrictErrorChecking() |
Атрибут, указывающий, включена ли проверка ошибок. |
String |
getXmlEncoding() |
Атрибут, задающий в составе объявления XML кодировку этого документа. |
boolean |
getXmlStandalone() |
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. |
String |
getXmlVersion() |
Атрибут, задающий в составе объявления XML номер версии этого документа. |
Node |
importNode |
Импортирует узел из другого документа в этот документ, не изменяя и не удаляя исходный узел из оригинального документа; этот метод создает новую копию исходного узла. |
void |
normalizeDocument() |
Этот метод действует так, как если бы документ прошел цикл сохранения и загрузки, приводя его к «нормальной» форме. |
Node |
renameNode |
Переименовывает существующий узел типа ELEMENT_NODE или ATTRIBUTE_NODE. |
void |
setDocumentURI |
Местоположение документа или null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. |
void |
setStrictErrorChecking |
Атрибут, указывающий, включена ли проверка ошибок. |
void |
setXmlStandalone |
Атрибут, указывающий в составе объявления XML, является ли этот документ автономным. |
void |
setXmlVersion |
Атрибут, задающий в составе объявления XML номер версии этого документа. |
Методы, объявленные в интерфейсе Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData | Модификатор и тип | Метод | Описание |
|---|---|---|
Node |
appendChild |
Добавляет узел newChild в конец списка дочерних узлов этого узла. |
Node |
cloneNode |
Возвращает дубликат этого узла, то есть служит универсальным конструктором копирования для узлов. |
short |
compareDocumentPosition |
Сравнивает опорный узел, то есть узел, для которого вызывается этот метод, с другим узлом, переданным в качестве параметра, с точки зрения их положения в документе и порядка документа. |
NamedNodeMap |
getAttributes() |
NamedNodeMap, содержащий атрибуты этого узла (если он является Element), или null в противном случае. |
String |
getBaseURI() |
Абсолютный базовый URI этого узла или null, если реализации не удалось получить абсолютный URI. |
NodeList |
getChildNodes() |
NodeList, содержащий все дочерние узлы этого узла. |
Object |
getFeature |
Этот метод возвращает специализированный объект, реализующий специализированные API указанной функциональности и версии, как указано в . |
Node |
getFirstChild() |
Первый дочерний узел этого узла. |
Node |
getLastChild() |
Последний дочерний узел этого узла. |
String |
getLocalName() |
Возвращает локальную часть квалифицированного имени этого узла. |
String |
getNamespaceURI() |
URI пространства имен этого узла или null, если он не задан (см. ). |
Node |
getNextSibling() |
Узел, непосредственно следующий за этим узлом. |
String |
getNodeName() |
Имя этого узла в зависимости от его типа; см. таблицу выше. |
short |
getNodeType() |
Код, представляющий тип базового объекта, как определено выше. |
String |
getNodeValue() |
Значение этого узла в зависимости от его типа; см. таблицу выше. |
Document |
getOwnerDocument() |
Объект Document, связанный с этим узлом. |
Node |
getParentNode() |
Родительский узел этого узла. |
String |
getPrefix() |
Префикс пространства имен этого узла или null, если он не задан. |
Node |
getPreviousSibling() |
Узел, непосредственно предшествующий этому узлу. |
String |
getTextContent() |
Этот атрибут возвращает текстовое содержимое данного узла и его потомков. |
Object |
getUserData |
Получает объект, связанный с ключом этого узла. |
boolean |
hasAttributes() |
Возвращает, имеются ли у этого узла (если он является элементом) какие-либо атрибуты. |
boolean |
hasChildNodes() |
Возвращает, имеются ли у этого узла дочерние узлы. |
Node |
insertBefore |
Вставляет узел newChild перед существующим дочерним узлом refChild. |
boolean |
isDefaultNamespace |
Этот метод проверяет, является ли указанный namespaceURI пространством имен по умолчанию. |
boolean |
isEqualNode |
Проверяет, равны ли два узла. |
boolean |
isSameNode |
Возвращает, является ли этот узел тем же узлом, что и указанный. |
boolean |
isSupported |
Проверяет, реализует ли реализация DOM определенную функциональность и поддерживается ли эта функциональность данным узлом, как указано в . |
String |
lookupNamespaceURI |
Ищет URI пространства имен, связанный с указанным префиксом, начиная с этого узла. |
String |
lookupPrefix |
Ищет префикс, связанный с указанным URI пространства имен, начиная с этого узла. |
void |
normalize() |
Приводит все узлы Text на всю глубину поддерева под этим Node, включая узлы атрибутов, к «нормальной» форме, в которой узлы Text разделяются только структурой (например, элементами, комментариями, инструкциями по обработке, секциями CDATA и ссылками на сущности), то есть отсутствуют смежные узлы Text и пустые узлы Text. |
Node |
removeChild |
Удаляет дочерний узел, указанный параметром oldChild, из списка дочерних узлов и возвращает его. |
Node |
replaceChild |
Заменяет дочерний узел oldChild узлом newChild в списке дочерних узлов и возвращает узел oldChild. |
void |
setNodeValue |
Значение этого узла в зависимости от его типа; см. таблицу выше. |
void |
setPrefix |
Префикс пространства имен этого узла или null, если он не задан. |
void |
setTextContent |
Этот атрибут возвращает текстовое содержимое данного узла и его потомков. |
Object |
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 из одного документа в другой, учитывая, что в случае XML документы могут иметь разные DTD. Ниже описаны особенности для каждого типа узла. - ATTRIBUTE_NODE
- Для созданного
AttrатрибутownerElementустанавливается вnull, а флагspecified— вtrue. Потомки исходногоAttrрекурсивно импортируются, а полученные узлы собираются заново, образуя соответствующее поддерево. Обратите внимание, что параметрdeepне влияет на узлыAttr; при импорте они всегда переносят с собой дочерние узлы. - DOCUMENT_FRAGMENT_NODE
- Если параметр
deepустановлен вtrue, потомки исходногоDocumentFragmentрекурсивно импортируются, а полученные узлы собираются под импортированнымDocumentFragment, образуя соответствующее поддерево. В противном случае создаётся только пустойDocumentFragment. - DOCUMENT_NODE
-
Узлы
Documentнельзя импортировать. - DOCUMENT_TYPE_NODE
-
Узлы
DocumentTypeнельзя импортировать. - ELEMENT_NODE
-
Узлы атрибутов исходного элемента, для которых задано значение, импортируются, а созданные узлы
Attrприсоединяются к созданномуElement. Атрибуты по умолчанию не копируются, однако если документ, в который выполняется импорт, определяет атрибуты по умолчанию для этого имени элемента, они назначаются. Если параметрdeepimportNodeустановлен в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не влияет на эти типы узлов, поскольку у них не может быть дочерних узлов.
- Параметры:
-
importedNode- Узел для импорта. -
deep- Если значениеtrue, рекурсивно импортировать поддерево указанного узла; если значениеfalse, импортировать только сам узел, как описано выше. Это не влияет на узлы, у которых не может быть дочерних узлов, а также на узлыAttrиEntityReference. - Возвращает:
- Импортированный узел, принадлежащий этому
Document. - Вызывает исключение:
-
DOMException- NOT_SUPPORTED_ERR: возникает, если тип импортируемого узла не поддерживается.
INVALID_CHARACTER_ERR: возникает, если одно из импортируемых имён не является именем XML согласно используемой версии XML, указанной в атрибутеDocument.xmlVersion. Например, это может произойти при импорте элемента XML 1.1 [XML 1.1] в документ XML 1.0. - Начиная с:
- 1.4, DOM Level 2
createElementNS
Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
Согласно [XML Namespaces], приложения должны использовать значение
null в качестве параметра namespaceURI для методов, если элемент не должен принадлежать пространству имён.- Параметры:
-
namespaceURI- URI пространства имён создаваемого элемента. -
qualifiedName- Квалифицированное имя создаваемого типа элемента. - Возвращает:
- Новый объект
Elementсо следующими атрибутами:Атрибуты объекта ElementАтрибут Значение Node.nodeNamequalifiedNameNode.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameElement.tagNamequalifiedName - Вызывает исключение:
-
DOMException- INVALID_CHARACTER_ERR: возникает, если указанноеqualifiedNameне является именем XML согласно используемой версии XML, указанной в атрибутеDocument.xmlVersion.
NAMESPACE_ERR: возникает, еслиqualifiedNameявляется некорректным квалифицированным именем; если уqualifiedNameесть префикс, аnamespaceURIравноnull; если уqualifiedNameесть префикс «xml», аnamespaceURIотличается от « http://www.w3.org/XML/1998/namespace» [XML Namespaces]; еслиqualifiedNameили его префикс равен «xmlns», аnamespaceURIотличается от «http://www.w3.org/2000/xmlns/»; либо еслиnamespaceURIравно «http://www.w3.org/2000/xmlns/», а ниqualifiedName, ни его префикс не равен «xmlns».
NOT_SUPPORTED_ERR: всегда возникает, если текущий документ не поддерживает возможность"XML", поскольку пространства имён были определены в XML. - Начиная с:
- 1.4, DOM Level 2
createAttributeNS
Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
Согласно [XML Namespaces], приложения должны использовать значение
null в качестве параметра namespaceURI для методов, если атрибут не должен принадлежать пространству имён.- Параметры:
-
namespaceURI- URI пространства имён создаваемого атрибута. -
qualifiedName- Квалифицированное имя создаваемого атрибута. - Возвращает:
- Новый объект
Attrсо следующими атрибутами:Атрибуты объекта AttrАтрибут Значение Node.nodeNamequalifiedName Node.namespaceURInamespaceURINode.prefixпрефикс, извлечённый из qualifiedName, илиnull, если префикса нетNode.localNameлокальное имя, извлечённое из qualifiedNameAttr.namequalifiedNameNode.nodeValueпустая строка - Вызывает исключение:
-
DOMException- INVALID_CHARACTER_ERR: возникает, если указанноеqualifiedNameне является именем XML согласно используемой версии XML, указанной в атрибутеDocument.xmlVersion.
NAMESPACE_ERR: возникает, еслиqualifiedNameявляется некорректным квалифицированным именем; если уqualifiedNameесть префикс, аnamespaceURIравноnull; если уqualifiedNameесть префикс «xml», аnamespaceURIотличается от « http://www.w3.org/XML/1998/namespace»; еслиqualifiedNameили его префикс равен «xmlns», аnamespaceURIотличается от «http://www.w3.org/2000/xmlns/»; либо еслиnamespaceURIравно «http://www.w3.org/2000/xmlns/», а ниqualifiedName, ни его префикс не равен «xmlns».
NOT_SUPPORTED_ERR: всегда возникает, если текущий документ не поддерживает возможность"XML", поскольку пространства имён были определены в XML. - Начиная с:
- 1.4, DOM Level 2
getElementsByTagNameNS
NodeList getElementsByTagNameNS(String namespaceURI, String localName)
NodeList всех Elements с заданными локальным именем и URI пространства имён в порядке следования в документе.- Параметры:
-
namespaceURI- URI пространства имён элементов для поиска. Специальное значение"*"соответствует всем пространствам имён. -
localName- Локальное имя элементов для поиска. Специальное значение «*» соответствует всем локальным именам. - Возвращает:
- Новый объект
NodeList, содержащий все найденныеElements. - Начиная с:
- 1.4, DOM Level 2
getElementById
Element getElementById(String elementId)
Element, у которого атрибут ID имеет указанное значение. Если такого элемента нет, возвращается null. Если атрибут ID с таким значением есть у нескольких элементов, результат не определён. Предполагается, что реализация DOM использует атрибут
Attr.isId для определения того, является ли атрибут атрибутом типа ID. Примечание: Атрибуты с именем «ID» или «id» не относятся к типу ID, если это не определено явно.
- Параметры:
-
elementId- Уникальное значениеidэлемента. - Возвращает:
- Соответствующий элемент или
null, если такого элемента нет. - Начиная с:
- 1.4, DOM Level 2
getInputEncoding
String getInputEncoding()
Document был создан в памяти, значение равно null.- Начиная с:
- 1.5, DOM Level 3
getXmlEncoding
String getXmlEncoding()
Document был создан в памяти, значение равно null.- Начиная с:
- 1.5, DOM Level 3
getXmlStandalone
boolean getXmlStandalone()
false. Примечание: При установке значения атрибута проверка не выполняется. Приложениям следует использовать Document.normalizeDocument() с параметром «validate», чтобы проверить соответствие значения ограничению корректности объявления автономного документа, определённому в [XML 1.0].
- Начиная с:
- 1.5, DOM Level 3
setXmlStandalone
void setXmlStandalone(boolean xmlStandalone) throws DOMException
false. Примечание: При установке значения атрибута проверка не выполняется. Приложениям следует использовать Document.normalizeDocument() с параметром «validate», чтобы проверить соответствие значения ограничению корректности объявления автономного документа, определённому в [XML 1.0].
- Вызывает исключение:
-
DOMException- NOT_SUPPORTED_ERR: возникает, если этот документ не поддерживает возможность «XML». - Начиная с:
- 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.- Начиная с:
- 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.- Вызывает исключение:
-
DOMException- NOT_SUPPORTED_ERR: возникает, если для версии задано неподдерживаемое этимDocumentзначение или если документ не поддерживает возможность «XML». - Начиная с:
- 1.5, DOM Level 3
getStrictErrorChecking
boolean getStrictErrorChecking()
false, реализация может не проверять все возможные случаи ошибок, обычно определённые для операций DOM, не вызывать исключения DOMException при выполнении операций DOM и не сообщать об ошибках при использовании Document.normalizeDocument(). Поведение в случае ошибки не определено. По умолчанию атрибут имеет значение true.- Начиная с:
- 1.5, DOM Level 3
setStrictErrorChecking
void setStrictErrorChecking(boolean strictErrorChecking)
false, реализация может не проверять все возможные случаи ошибок, обычно определённые для операций DOM, не вызывать исключения DOMException при выполнении операций DOM и не сообщать об ошибках при использовании Document.normalizeDocument(). Поведение в случае ошибки не определено. По умолчанию атрибут имеет значение true.- Начиная с:
- 1.5, DOM Level 3
getDocumentURI
String getDocumentURI()
null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута лексическая проверка не выполняется; при использовании Node.baseURI может быть возвращено значение null. Обратите внимание: если
Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.- Начиная с:
- 1.5, DOM Level 3
setDocumentURI
void setDocumentURI(String documentURI)
null, если оно не определено или если Document был создан с помощью DOMImplementation.createDocument. При установке этого атрибута лексическая проверка не выполняется; при использовании Node.baseURI может быть возвращено значение null. Обратите внимание: если
Document поддерживает функцию "HTML" [DOM Level 2 HTML], атрибут href элемента HTML BASE имеет приоритет над этим атрибутом при вычислении Node.baseURI.- Начиная с:
- 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
- Узлы атрибутов исходного элемента, для которых задано значение Specified, принимаются. Атрибуты по умолчанию отбрасываются, однако, если в документе, в который принимается узел, для этого имени элемента определены атрибуты по умолчанию, они назначаются. Потомки исходного элемента принимаются рекурсивно.
- ENTITY_NODE
- Узлы
Entityнельзя принимать. - ENTITY_REFERENCE_NODE
- Принимается только сам узел
EntityReference, а его потомки отбрасываются, поскольку в исходном и целевом документах сущность может быть определена по-разному. Если в документе, в который выполняется импорт, есть определение этой сущности, ему присваивается её значение. - NOTATION_NODE
-
Узлы
Notationнельзя принимать. - PROCESSING_INSTRUCTION_NODE, TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
- Все эти узлы можно принимать. Особых условий нет.
Примечание: Поскольку этот метод, в отличие от метода Document.importNode(), не создаёт новые узлы, он не вызывает исключение INVALID_CHARACTER_ERR. Для проверки того, что импортируемое имя является допустимым XML-именем согласно используемой версии XML, приложениям следует использовать метод Document.normalizeDocument().
- Параметры:
-
source- Узел, который нужно переместить в этот документ. - Возвращает:
- Принятый узел или
null, если операция завершается неудачей, например, когда исходный узел принадлежит другой реализации. - Вызывает исключения:
-
DOMException- NOT_SUPPORTED_ERR: возникает, если исходный узел имеет типDOCUMENT,DOCUMENT_TYPE.
NO_MODIFICATION_ALLOWED_ERR: возникает, если исходный узел доступен только для чтения. - Начиная с:
- 1.5, DOM Level 3
getDomConfig
DOMConfiguration getDomConfig()
Document.normalizeDocument().- Начиная с:
- 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), если реализация не может восстановиться после ошибки.- Начиная с:
- 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}.
- Параметры:
-
n- Узел, который нужно переименовать. -
namespaceURI- Новый URI пространства имён. -
qualifiedName- Новое квалифицированное имя. - Возвращает:
- Переименованный узел. Это либо указанный узел, либо новый узел, созданный для замены указанного узла.
- Вызывает исключения:
-
DOMException- NOT_SUPPORTED_ERR: возникает, если тип указанного узла неELEMENT_NODEи неATTRIBUTE_NODE, либо если реализация не поддерживает переименование элемента документа.
INVALID_CHARACTER_ERR: возникает, если новое квалифицированное имя не является допустимым XML-именем согласно используемой версии XML, указанной в атрибутеDocument.xmlVersion.
WRONG_DOCUMENT_ERR: возникает, если указанный узел был создан в другом документе.
NAMESPACE_ERR: возникает, еслиqualifiedNameявляется некорректным квалифицированным именем, если уqualifiedNameесть префикс, аnamespaceURIравноnull, либо если префиксqualifiedNameравен "xml", аnamespaceURIотличается от " http://www.w3.org/XML/1998/namespace" [Пространства имён XML]. Исключение также возникает, если переименовываемый узел является атрибутом, аqualifiedNameили его префикс равен "xmlns", иnamespaceURIотличается от "http://www.w3.org/2000/xmlns/". - Начиная с:
- 1.5, DOM 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.