|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
DocumentFragment は、軽量 (最小限度) の Document オブジェクトです。文書ツリーから一部を抽出する機能や文書から新しいフラグメントを作成する機能は、非常に実用性の高いものです。たとえば、文書のフラグメントの切り取りや再配置を行うユーザコマンドを実装する際、フラグメントを格納できるオブジェクトがあれば便利です。そこでよく使用されるのが Node です。Node の代わりに Document オブジェクトを使用することもできますが、このオブジェクトには、実装によって重量オブジェクトになり得るという問題があります。最もニーズに合った最軽量のオブジェクトは、DocumentFragment オブジェクトです。
DocumentFragment オブジェクトは、このほかにもさまざまな用途で使用されます。たとえば、別の Node の子としてノードを挿入する場合、DocumentFragment の子ノード全部が挿入されるノードの子リストに移動します。
DocumentFragment ノードの子ノードは、文書の構造を定義するサブツリーのトップに位置する 0 個以上のノードです。DocumentFragment ノードは、正規の XML 文書でなくてもかまいませんが、正規の XML 解析エンティティ (複数のトップノードを持つことができる) でなければなりません。たとえば、DocumentFragment ノードの子ノードとして、Text ノードを 1 つだけ持たせることができます。このような構造モデルは、HTML 文書にも正規の XML 文書にも該当しません。
DocumentFragment を Document (あるいは、子を持たせることができるその他の Node) に挿入する際、実際に Node に挿入されるのは、DocumentFragment ではなく DocumentFragment の子になります。この機能は、兄弟ノードを作成する場合に非常に便利です。というのは、DocumentFragment がこれらのノードの親になるため、insertBefore や appendChild といった Node インタフェースの標準メソッドを使用できるのです。
「Document Object Model (DOM) Level 2 Core Specification」を参照してください。
| フィールドの概要 |
| インタフェース org.w3c.dom.Node から継承したフィールド |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
| インタフェース org.w3c.dom.Node から継承したメソッド |
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix |
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.