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, 2014, Oracle and/or its affiliates. All rights reserved.