public interface DocumentFragment extends Node
DocumentFragment は、「軽量 (最小限度)」の Document オブジェクトです。文書ツリーから一部を抽出する機能や文書から新しいフラグメントを作成する機能は、非常に実用性の高いものです。フラグメントを移動させて、ドキュメントのカットや再構成などを行うユーザーコマンドの実装を想像してみてください。このようなフラグメントを保持できるオブジェクトを持つことが望まれます。また、このような目的でノードを使用することはごく当然のことです。Document オブジェクトがこの役割を遂行することも可能ですが、Document オブジェクトは、実装によって重量オブジェクトになる可能性があります。このために実際に必要なのは、非常に軽量なオブジェクトです。DocumentFragment は、このようなオブジェクトです。
さらに、ノードを別の Node の子として挿入するといったさまざまな操作では、引数として DocumentFragment オブジェクトが必要になることがあります。これにより、DocumentFragment のすべての子ノードがこのノードの子リストに移動されます。
DocumentFragment ノードの子は、文書の構造を定義するすべてのサブツリーのトップを表す 0 個以上のノードです。DocumentFragment ノードは、整形式の XML 文書である必要はありません (ただし、複数のトップノードを持つことができる整形式の XML 解析対象エンティティーに課せられた規則には従う必要があります)。たとえば、DocumentFragment が子を 1 つだけ持ち、その子ノードが Text ノードであるとします。このような構造モデルは、HTML 文書にも整形式の XML 文書にも該当しません。
DocumentFragment が Document (実際には、子を持つことのできるその他の任意の Node) に挿入されるとき、Node に挿入されるのはその DocumentFragment 自身ではなく、DocumentFragment の子です。これにより、ユーザーが兄弟ノードであるノードを作成しようとする場合に DocumentFragment が非常に有効になります。ユーザーが Node インタフェースから Node.insertBefore や Node.appendChild などの標準メソッドを使用できるように、DocumentFragment はこれらのノードの親として機能します。
「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
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 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.