NamedNodeMap インターフェースを実装するオブジェクトは名前を指定してアクセスできるノードのコレクションを表すために使用されます。NamedNodeMap は NodeList からは派生していません。NamedNodeMaps は特に順番が決まっていません。NamedNodeMap を実装するオブジェクトに含まれるオブジェクトは、通常のインデックスでアクセスできますが、これは NamedNodeMap の内容を簡便に列挙できるようにしているだけです。DOM がこれらの Node の順番を指定しているのではありません。
メソッドについては、以下を参照してください。
マップ内のノードの数です。有効な子ノードの指標の範囲は 0 から length-1 までのすべてです。
構文:
public int getLength()
指定した名前のノードを取り出します。
構文:
public Node getNamedItem(java.lang.String name)
パラメータ
name - 取り出すノードの名前です。
戻り値:
指定した名前の (いずれかのタイプの) ノードです。指定した名前がマップ内で検索できなかった場合は Null です。
マップの n 番目のアイテムを返します。index (n) がマップ内のノード数以上であれば Null を返します。
構文:
public Node item(int index)
パラメータ
index - マップのインデックスです。
戻り値:
NamedNodeMap 内で n 番目にあるノードです。無効なインデックスの場合は Null です。
指定した名前のノードを削除します。削除したノードがデフォルト値を持つ Attr の場合はすぐに置換されます。
構文:
public Node removeNamedItem(java.lang.String name)
throws DOMException
パラメータ
name - 削除するノードの名前です。
戻り値:
マップから削除されたノードの名前です。指定した名前のノードが存在しない場合は Null です。
例外処理:
DOMException - NOT_FOUND_ERR: name で指定した名前のノードがマップに存在しない場合に発生します。
nodeName 属性を使用してノードを追加します。
nodeName 属性は、ノードが格納されるべき上位ノードの名前を派生するために使用されるため、「特殊な」文字列値を持つ複数のノードでは名前が不整合になるため格納できません。これは、ノードが別名を持つことを許可するよりも好ましいと考えられます。
構文:
public Node setNamedItem(Node arg)
throws DOMException
パラメータ
arg - 名前のあるノードマップに保存するノードです。ノードには nodeName 属性を使用して後でアクセスできます。すでに指定した名前のノードがマップ内に存在する場合は、新しいノードで置き換えられます。
戻り値:
名前が同じために既存のノードが新しい Node で置換されると、既存の Node が返されます。それ以外は Null が返されます。
例外処理:
DOMException - WRONG_DOCUMENT_ERR: arg が NamedNodeMap を生成した文書と異なる文書から作成された場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: この NamedNodeMap が読み込み専用の場合に発生します。
INUSE_ATTRIBUTE_ERR: arg がすでに他の Element オブジェクトの属性となっている Attr である場合に発生します。 DOM ユーザーは、Attr ノードを他の要素で再利用するときには、明示的にクローンを生成する必要があります。