public interface DocumentFragment extends Node
DocumentFragment是一个“轻量级”或“最小” Document对象。
希望能够提取文档树的一部分或创建文档的新片段是非常常见的。
想象一下,通过移动片段来实现用户命令,如剪切或重排文档。
期望具有可以容纳这样的片段的对象,并且为此目的使用节点是很自然的。
Document对象确实可以实现此角色, Document对象可能是重量级对象,具体取决于底层实现。
真正需要的是一个非常轻量级的对象。
DocumentFragment是这样的对象。
此外,各种操作 - 例如将节点作为另一个Node子节点Node - 可能需要DocumentFragment对象作为参数;
这导致DocumentFragment所有子节点被移动到该节点的子列表。
DocumentFragment节点的DocumentFragment节点是表示定义文档结构的任何子树的顶部的零个或多个节点。
DocumentFragment节点不需要格式良好的XML文档(尽管他们确实需要遵循强大的格式好的XML解析实体的规则,可以有多个顶级节点)。
例如, DocumentFragment可能只有一个子节点,该子节点可能是Text节点。 这样的结构模型既不表示HTML文档也不表示格式良好的XML文档。
当DocumentFragment插入到Document (或任何其他Node ,可能需要子女)的子女DocumentFragment ,而不是DocumentFragment自身插入到Node 。
这使得DocumentFragment非常有用,当用户希望创建的节点是兄弟姐妹;
DocumentFragment充当这些节点的父节点,以便用户可以使用Node接口的标准方法,如Node.insertBefore和Node.appendChild 。
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_NODEappendChild,
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