モジュール java.xml
パッケージ org.w3c.dom

インタフェースDocumentFragment

すべてのスーパー・インタフェース:
Node

public interface DocumentFragment
extends Node
DocumentFragmentは、「軽量(最小限度)」のDocumentオブジェクトです。 文書ツリーから一部を抽出する機能や文書から新しいフラグメントを作成する機能は、非常に実用性の高いものです。 フラグメントを移動させて、ドキュメントのカットや再構成などを行うユーザー・コマンドの実装を想像してみてください。 このようなフラグメントを保持できるオブジェクトを持つことが望まれます。また、このような目的でノードを使用することはごく当然のことです。 Documentオブジェクトがこの役割を遂行することも可能ですが、Documentオブジェクトは、実装によって重量オブジェクトになる可能性があります。 このために実際に必要なのは、非常に軽量なオブジェクトです。 DocumentFragmentは、このようなオブジェクトです。

さらに、ノードを別のNodeの子として挿入するといったさまざまな操作では、引数としてDocumentFragmentオブジェクトが必要になることがあります。これにより、DocumentFragmentのすべての子ノードがこのノードの子リストに移動されます。

DocumentFragmentノードの子は、文書の構造を定義するすべてのサブツリーのトップを表す0個以上のノードです。 DocumentFragmentノードは、整形式のXML文書である必要はありません(ただし、複数のトップ・ノードを持つことができる整形式のXML解析対象エンティティに課せられた規則には従う必要があります)。 たとえば、DocumentFragmentが子を1つだけ持ち、その子ノードがTextノードであるとします。 このような構造モデルは、HTML文書にも整形式のXML文書にも該当しません。

DocumentFragmentDocument (実際には、子を持つことのできるその他の任意のNode)に挿入されるとき、Nodeに挿入されるのはそのDocumentFragment自身ではなく、DocumentFragmentの子です。 これにより、ユーザーが兄弟ノードであるノードを作成しようとする場合にDocumentFragmentが非常に有効になります。ユーザーがNodeインタフェースからNode.insertBeforeNode.appendChildなどの標準メソッドを使用できるように、DocumentFragmentはこれらのノードの親として機能します。

Document Object Model (DOM) Level 3 Core Specification」も参照してください。