NamedNodeMap (Org.W3C.DOM パッケージ)

NamedNodeMap インターフェースを実装するオブジェクトは名前を指定してアクセスできるノードのコレクションを表すために使用されます。NamedNodeMap は NodeList からは派生していません。NamedNodeMaps は特に順番が決まっていません。NamedNodeMap を実装するオブジェクトに含まれるオブジェクトは、通常のインデックスでアクセスできますが、これは NamedNodeMap の内容を簡便に列挙できるようにしているだけです。DOM がこれらの Node の順番を指定しているのではありません。

メソッドについては、以下を参照してください。

getLength

マップ内のノードの数です。有効な子ノードの指標の範囲は 0 から length-1 までのすべてです。

構文:

public int getLength()

getNamedItem

指定した名前のノードを取り出します。

構文:

public Node getNamedItem(java.lang.String name)

パラメータ

name - 取り出すノードの名前です。

戻り値:

指定した名前の (いずれかのタイプの) ノードです。指定した名前がマップ内で検索できなかった場合は Null です。

item

マップの n 番目のアイテムを返します。index (n) がマップ内のノード数以上であれば Null を返します。

構文:

public Node item(int index)

パラメータ

index - マップのインデックスです。

戻り値:

NamedNodeMap 内で n 番目にあるノードです。無効なインデックスの場合は Null です。

removeNamedItem

指定した名前のノードを削除します。削除したノードがデフォルト値を持つ Attr の場合はすぐに置換されます。

構文:

public Node removeNamedItem(java.lang.String name)
           throws DOMException

パラメータ

name - 削除するノードの名前です。

戻り値:

マップから削除されたノードの名前です。指定した名前のノードが存在しない場合は Null です。

例外処理:

DOMException - NOT_FOUND_ERR: name で指定した名前のノードがマップに存在しない場合に発生します。

setNamedItem

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 ノードを他の要素で再利用するときには、明示的にクローンを生成する必要があります。