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_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
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.