表2-11にDocumentRefインタフェースで使用できるメソッドの概要を示します。
表2-11 DocumentRefメソッドの概要: DOMパッケージ
| 関数 | 概要 |
|---|---|
|
|
コンストラクタです。 |
|
|
属性ノードを作成します。 |
|
|
名前空間の情報を含む属性ノードを作成します。 |
|
|
CDATAノードを作成します。 |
|
|
コメント・ノードを作成します。 |
|
|
ドキュメント・フラグメントを作成します。 |
|
|
要素ノードを作成します。 |
|
|
名前空間の情報を含む要素ノードを作成します。 |
|
|
実体参照ノードを作成します。 |
|
|
|
|
|
テキスト・ノードを作成します。 |
|
|
ドキュメントに対応するDTDを取得します。 |
|
|
このドキュメントの最上位要素を取得します。 |
|
|
指定されたIDの要素を取得します。 |
|
|
ドキュメント内の要素をタグ名で取得します。 |
|
|
ドキュメント内の要素をタグ名で取得します(名前空間認識バージョン)。 |
|
|
ドキュメントに関連付けられた |
|
|
別のDOMからノードをインポートします。 |
|
|
デフォルトのパブリック・デストラクタです。 |
これはコンストラクタです。
| 構文 | 説明 |
|---|---|
DocumentRef( const NodeRef< Node>& nref, Node* nptr); |
デフォルトのコンストラクタです。 |
DocumentRef( const DocumentRef< Node>& nref); |
コピー・コンストラクタです。 |
| パラメータ | 説明 |
|---|---|
nref |
コンテキストを提供するための参照 |
nptr |
参照されるノード |
戻り値
(DocumentRef) Node参照オブジェクト。
指定された名前の属性ノードを作成します。これは名前空間を認識しない関数です。新しい属性は、名前空間URIおよび接頭辞がNULLとなり、指定された名前が修飾名である場合も、属性のローカル名は属性名と同じになります。新しいノードは、親を持たない孤立した子です。名前はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createAttribute( oratext* name) throw (DOMException);
| パラメータ | 説明 |
|---|---|
name |
名前 |
戻り値
(Node*) 新しい属性ノード。
指定された名前空間URIおよび修飾名を持つ属性ノードを作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createAttributeNS( oratext* namespaceURI, oratext* qualifiedName) throw (DOMException);
| パラメータ | 説明 |
|---|---|
namespaceURI |
名前空間URI |
qualifiedName |
修飾名 |
戻り値
(Node*) 新しい属性ノード。
指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つCDATAセクション・ノードを作成します。CDATAセクションは文字どおりとみなされ、解析されません。つまり、正規化処理によって隣接したテキスト・ノードと結合されることはありません。初期データにNULLが指定されている場合、検証、変換、確認は行われません。CDATAノードの名前は、常に「#cdata-section」となります。新しいノードは、親を持たない孤立した子です。CDATAはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createCDATASection( oratext* data) throw (DOMException);
| パラメータ | 説明 |
|---|---|
data |
新しいノードのデータ |
戻り値
(Node*) 新しいCDATAノード。
指定された初期データ(データ・エンコーディングに含まれている必要があります)を持つコメント・ノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません。コメント・ノードの名前は、常に「#comment」となります。新しいノードは、親を持たない孤立した子です。コメント・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createComment( oratext* data) throw (DOMException);
| パラメータ | 説明 |
|---|---|
data |
新しいノードのデータ |
戻り値
(Node*) 新しいコメント・ノード。
空のドキュメント・フラグメント・ノードを作成します。ドキュメント・フラグメントは、DOMツリーに挿入されると特殊な方法で処理されます。フラグメント・ノード自体ではなく、フラグメントの子が順番に挿入されます。挿入後、フラグメント・ノードは存続しますが、子はなくなります。フラグメント・ノードの名前は、常に「#document-fragment」となります。
構文
Node* createDocumentFragment() throw (DOMException);
戻り値
(Node*) 新しいドキュメント・フラグメント・ノード。
指定されたタグ名(データ・エンコーディングに含まれている必要があります)を持つ要素ノードを作成します。新しいノードは、親を持たない孤立した子です。tagnameはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
要素のタグ名では大/小文字が区別されることに注意してください。これは、名前空間を認識しない関数です。したがって、新しいノードは、名前空間URIおよび接頭辞がNULLとなり、指定されたタグ名が修飾名である場合も、ノードのローカル名はノードのタグ名と同じになります。
構文
Node* createElement( oratext* tagname) throw (DOMException);
| パラメータ | 説明 |
|---|---|
tagname |
タグ名 |
戻り値
(Node*) 新しい要素ノード。
指定された名前空間URIおよび修飾名を持つ要素を作成します。新しいノードは、親を持たない孤立した子です。URIおよび修飾名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
要素名では大/小文字が区別され、URIはNULLにできますが、修飾名は必須であることに注意してください。修飾名は、接頭辞部分とローカル部分に分割されます。tagNameが完全修飾名になります。
構文
Node* createElementNS( oratext* namespaceURI, oratext* qualifiedName) throw (DOMException);
| パラメータ | 説明 |
|---|---|
namespaceURI |
名前空間URI |
qualifiedName |
修飾名 |
戻り値
(Node*) 新しい要素ノード。
実体参照ノードを作成します。名前(データ・エンコーディングに含まれている必要があります)は、参照される実体の名前です。名前付きの実体が存在する必要はありません。名前の検証、変換、確認は行われません。新しいノードは、親を持たない孤立した子です。実体参照名はコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
パーサーは実体参照ノードを生成するのでなく、検出した実体参照を展開します。出力の際、実体参照ノードはスタイル参照の「&name;」に変換されます。
構文
Node* createEntityReference( oratext* name) throw (DOMException);
| パラメータ | 説明 |
|---|---|
name |
名前 |
戻り値
(Node*) 新しい実体参照ノード。
指定されたターゲットおよびデータ(データ・エンコーディングに含まれている必要があります)を持つ処理命令ノードを作成します。このデータはNULLにできますが、ターゲットは必須で、変更できません。ターゲットおよびデータの検証、変換、確認は行われません。ノードの名前はターゲットと同じです。新しいノードは、親を持たない孤立した子です。ターゲットおよびデータはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createProcessingInstruction( oratext* target, oratext* data) throw (DOMException);
| パラメータ | 説明 |
|---|---|
target |
ターゲット |
data |
新しいノードのデータ |
戻り値
(Node*) 新しいPIノード。
指定された初期データ(非NULLで、データ・エンコーディングに含まれている必要があります)を持つテキスト・ノードを作成します。データにNULLが指定されている場合、検証、変換、確認は行われません(エンティティは拡張されません)。ノードの名前は、常に「#text」となります。新しいノードは、親を持たない孤立した子です。テキスト・データはコピーされず、ポインタのみが保存されます。ノードのデータの保持および解放は、ユーザーが行います。
構文
Node* createTextNode( oratext* data) throw (DOMException);
| パラメータ | 説明 |
|---|---|
data |
新しいテキスト・ノードのデータ |
戻り値
(Node*) 新しいテキスト・ノード。
このドキュメントに対応するDTDノードを戻します。このコールの後、メンバー関数をコールするために、適切なコンストラクタを使用してDocumentTypeRefオブジェクトを作成する必要があります。DTDツリーは編集できません。
構文
Node* getDoctype() const;
戻り値
(Node*) DTDノード。
DOMツリーのルート要素(ノード)を戻します。各ドキュメントには、ルート要素と呼ばれる最上位の要素ノードが1つのみ含まれます。ルート要素がない場合、NULLが戻されます。これは、ドキュメント・ツリーが作成されている場合に発生することがあります。
構文
Node* getDocumentElement() const;
戻り値
(Node*) ルート要素。
指定されたIDを持つ要素ノードを戻します。要素が検出されない場合は、NOT_FOUND_ERRをスローします。指定されたIDはデータ・エンコーディングに含まれている必要があります。そうでないと一致しない場合があります。
IDという名前の属性が必ずタイプIDであるとは限らないことに注意してください。ID属性(任意の名前を指定可能)は、そのドキュメントに対応するDTDまたはXMLスキーマでタイプIDとして宣言する必要があります。
構文
Node* getElementById( oratext* elementId);
| パラメータ | 説明 |
|---|---|
elementId |
要素ID |
戻り値
(Node*) Elementノード。
ドキュメント内の指定されたタグ名を持つすべての要素のリストを、ドキュメントの順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、タグ名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。
特別な名前「*」はすべてのタグ名と一致します。NULLの名前に一致するものはありません。タグ名には大/小文字の区別があることに注意してください。また、データ・エンコーディングに含まれている必要があり、そうでないと不一致が生じる場合があります。
この関数は名前空間を認識しません。したがって、完全なタグ名が比較されます。同じURIにマップされる異なる接頭辞を持つ2つの修飾名を比較すると、比較は失敗します。
構文
NodeList< Node>* getElementsByTagName( oratext* tagname) const;
| パラメータ | 説明 |
|---|---|
tagname |
タグ名 |
戻り値
(NodeList< Node>*) ノードのリスト。
ドキュメント内の指定された名前空間URIおよびローカル名を持つすべての要素のリストを、ドキュメント順序(ツリーの先行順走査で検出された順序)で戻します。リストが不要になった場合は、ユーザーが解放する必要があります。このリストは最新のものではなく、スナップショットです。つまり、リストが戻された後に、URIとローカル名に一致する新しいノードがDOMに追加された場合、そのノードを含むようにリストが自動的に更新されることはありません。
URIとローカル名は、データ・エンコーディング内に含まれている必要があります。特別な名前「*」はすべてのローカル名と一致します。NULLのローカル名に一致するものはありません。名前空間URIは常に一致する必要がありますが、ワイルド・カードは使用できません。比較では大/小文字が区別されます。
構文
NodeList< Node>* getElementsByTagNameNS( oratext* namespaceURI, oratext* localName);
| パラメータ | 説明 |
|---|---|
namespaceURI |
|
localName |
戻り値
(NodeList< Node>*) ノードのリスト。
このドキュメントの作成に使用されたDOMImplementationオブジェクトを戻します。DOMImplementationオブジェクトが破棄された場合、これに対応するドキュメント・ツリーもすべて破棄されます。
構文
DOMImplementation< Node>* getImplementation() const;
戻り値
(DOMImplementation) DOMImplementation参照オブジェクト。
あるドキュメントから別のドキュメントにノードをインポートします。新しいノードは孤立した子であり、親を持ちません。元のノードは、変更されたりドキュメントから削除されることはありません。かわりに、元のノードの修飾名、接頭辞、名前空間URIおよびローカル名をすべてコピーした新しいノードが作成されます。
deepは、ノードの子が再帰的にインポートされるかどうかを制御します。FALSEの場合、ノード自体のみがインポートされ、子は含まれません。TRUEの場合、ノードのすべての子孫が同様にインポートされ、新しいサブツリー全体が作成されます。要素には指定された属性のみがインポートされます。指定されていない(デフォルトの)属性は省略されます。その後、インポート先ドキュメントの新しいデフォルトの属性が追加されます。ドキュメント・ノードおよびDocumentTypeノードはインポートできません。
構文
Node* importNode( NodeRef< Node>& importedNode, boolean deep) const throw (DOMException);
| パラメータ | 説明 |
|---|---|
importedNode |
|
deep |
戻り値
(Node*) インポートされた新しいノード。
これはデフォルトのデストラクタです。ノードに対する参照を消去します。ドキュメント・ノードが削除用にマークされている場合、このデストラクタがノードとその下のツリーを削除します。ドキュメント・ノードの場合は、常に深いレベルの削除となります。デストラクタは、環境からコールすることも、またユーザーが直接コールすることもできます。
構文
~DocumentRef();