|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface DocumentFragment
DocumentFragmentは 、「軽量」または「最低限」の Documentのオ
ブジェクトです。ドキュメントツリーの一部の抽出や、ドキュメントの新しいフラグメントの作成が必要となる場合は、ごく一般的に発生します。フラグメント
を移動させて、ドキュメントのカットや再構成などを行うユーザコマンドの実装を想像してみてください。このようなフラグメントを保持できるオブジェクトを
持つことが望まれます。また、このような目的でノードを使用することはごく当然のことです。Documentオブジェクトがこ
の役割を果たすことが理想的ですが、一方、基盤となる実装によっては、Documentがかなり重量のあるオブジェクトとなる
可能性があります。このような場合に必要とされるのが、極めて軽量なオブジェクトです。DocumentFragmentは、
そういった要求を満たすオブジェクトです。
さらに、別の Node の子としてノードを挿入する場合のようなさまざまな操作は、DocumentFragment
オブジェクトを引数として取ることができます。これにより、DocumentFragment
のすべての子ノードが、このノードの子リストに移動することになります。
DocumentFragment
ノードの子ノードは、ドキュメントの構造を定義するサブツリーの最高位を表す、ゼロまたはそれ以上のノードです。DocumentFragment
ノードは、整形式の XML ドキュメントである必要はありません (しかしながら、構文解析された整形式の XML
実体に求められる規則に従う必要があります。この場合、複数の最高位ノードを持つ可能性があります)。たとえば、DocumentFragment
がただ 1 つの子ノードを持ち、その子ノードが Text ノードである場合が考えられます。このような構造モデルは
HTML ドキュメントではありませんし、整形式の XML ドキュメントでもありません。
DocumentFragment が Document
(もしくは子ノードを持つまったく別のノード) に挿入される場合、DocumentFragment そのものではなく、DocumentFragment
の子ノードが、対象となるノードに挿入されます。このことは、兄弟となるノードを作成する必要がある場合に、とても役に立ちます。DocumentFragment
はこれらのノードの親として機能するため、Node.insertBefore や Node.appendChild
といった、Node インタフェースの標準的なメソッドを使用することができます。
「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
| フィールドの概要 |
|---|
| メソッドの概要 |
|---|
|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||