Интерфейс DocumentFragment
- Все суперинтерфейсы:
Node
public interface DocumentFragment extends Node
DocumentFragment — это «облегчённый» или «минимальный» объект Document. Часто возникает необходимость извлечь часть дерева документа или создать новый фрагмент документа. Представьте реализацию пользовательской команды, например вырезания, или реорганизацию документа путём перемещения фрагментов. Для хранения таких фрагментов желательно иметь объект, и вполне естественно использовать для этой цели Node. Хотя объект Document действительно мог бы выполнять эту роль, объект Document потенциально может быть довольно тяжеловесным — в зависимости от базовой реализации. Для этой цели действительно нужен очень лёгкий объект. DocumentFragment — именно такой объект. Кроме того, для различных операций, например вставки узлов в качестве дочерних узлов другого Node, в качестве аргументов могут использоваться объекты DocumentFragment; в результате все дочерние узлы DocumentFragment перемещаются в список дочерних узлов этого узла.
Дочерними узлами узла DocumentFragment являются ноль или более узлов, представляющих вершины поддеревьев, определяющих структуру документа. Узлы DocumentFragment не обязательно должны быть корректно сформированными XML-документами (хотя они должны соответствовать правилам, установленным для корректно сформированных XML-сущностей, разбираемых анализатором, которые могут иметь несколько корневых узлов). Например, DocumentFragment может иметь только одного дочернего узла, и этим дочерним узлом может быть узел Text. Такая модель структуры не представляет ни HTML-документ, ни корректно сформированный XML-документ.
При вставке DocumentFragment в Document (или, впрочем, в любой другой Node, у которой могут быть дочерние узлы) в Node вставляются дочерние узлы DocumentFragment, а не сам DocumentFragment. Это делает DocumentFragment очень полезным, когда пользователь хочет создать узлы-соседи; DocumentFragment выступает родителем этих узлов, поэтому пользователь может использовать стандартные методы интерфейса Node, например Node.insertBefore и Node.appendChild.
См. также спецификацию основной модели объектов документа (DOM) уровня 3.
- Начиная с версии:
- 1.4, DOM уровня 2
Краткое описание полей
Поля, объявленные в интерфейсе Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
Краткое описание методов
Методы, объявленные в интерфейсе Node
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
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/org/w3c/dom/DocumentFragment.html