Common DOM API

org.w3c.dom
インタフェース NamedNodeMap


public interface NamedNodeMap

NamedNodeMap インタフェースを実装するオブジェクトは、名前によってアクセスされるノードのコレクションを表示するために使用されます。NamedNodeMapNodeList から継承されず、このため NamedNodeMaps は特定の順序で保持されないことに注意してください。NamedNodeMap を実装するオブジェクトに含まれるオブジェクトは、順序を示すインデックスでアクセスできますが、単にこれは NamedNodeMap の内容が便宜上列挙できるようにするためで、DOM がこれらのノードに対する順序を指定することを意味するものではありません。

DOM 内の NamedNodeMap オブジェクトはライブです。

詳細については、 「Document Object Model (DOM) Level 2 Core Specification」 も参照してください。


メソッドの概要
 int getLength()
          このマップのノード数。
 Node getNamedItem(String name)
          指定された名前のノードを取得します。
 Node getNamedItemNS(String namespaceURI, String localName)
          指定されたローカル名と名前空間 URI を持つノードを取得します。
 Node item(int index)
          このマップの indexth 項目を返します。
 Node removeNamedItem(String name)
          名前により指定されたノードを削除します。
 Node removeNamedItemNS(String namespaceURI, String localName)
          指定されたローカル名と名前空間 URI を持つノードを削除します。
 Node setNamedItem(Node arg)
          特定のノードをその nodeName 属性を使って追加します。
 Node setNamedItemNS(Node arg)
          namespaceURIlocalName を使用してノードを追加します。
 

メソッドの詳細

getNamedItem

public Node getNamedItem(String name)
指定された名前のノードを取得します。

パラメータ:
name - 取得するノードの nodeName
戻り値:
特定の nodeName を持つ Node (すべてのタイプ)、またはこのマップでノードとして識別されない場合は null

setNamedItem

public Node setNamedItem(Node arg)
                  throws DOMException
特定のノードをその nodeName 属性を使って追加します。同じ名前を持つノードがマップ内に存在していた場合、そのノードは新しいノードで置き換えられます。マップ内のノード名は、
nodeName 属性に基づいて決定されるため、「特殊な」文字列値を持つタイプのノードを複数格納することはできません。これは、名前が衝突してしまうからです。この動作は、ノードの別名を認めるよりは好ましいと言えます。

パラメータ:
arg - このマップに格納するノード。このノードには追加後、nodeName 属性の値を指定してアクセスできる
戻り値:
新しい Node が既存の属性を置き換える場合、置き換えられた Node が返され、そうでない場合は null が返される
例外:
DOMException - WRONG_DOCUMENT_ERR: arg を作成したドキュメントとこのマップを作成したドキュメントとが異なる場合に発行される
NO_MODIFICATION_ALLOWED_ERR: このマップが読み取り専用の場合に発行される
INUSE_ATTRIBUTE_ERR: arg に指定された Attr ノードが、別の Element オブジェクト内ですでに使用されている場合に発行される。ほかの要素内の Attr ノードを使用するには、その属性を明示的にコピーする必要がある
HIERARCHY_REQUEST_ERR: この NamedNodeMap に属さないノードを追加しようとした場合に発行される。たとえば、Attr 以外のノードを Element の属性マップに挿入しようとしたり、Entity 以外のノードを DocumentType のエンティティマップに挿入しようとした場合が考えられる

removeNamedItem

public Node removeNamedItem(String name)
                     throws DOMException
名前により指定されたノードを削除します。このマップが要素に接続された属性を含む場合、削除された属性がデフォルト値を持っていることがわかるときは、属性は、対応する名前空間 URI、ローカルの名前、接頭辞 (適用可能の場合) とともに直ちにデフォルト値を含んでいることを表示します。

パラメータ:
name - 削除するノードの nodeName
戻り値:
ノードに同じ名前が存在する場合、このマップから削除されるノード
例外:
DOMException - NOT_FOUND_ERR: name を名前に持つノードがこのマップ内に存在しない場合に発行される
NO_MODIFICATION_ALLOWED_ERR: このマップが読み取り専用の場合に発行される

item

public Node item(int index)
このマップの indexth 項目を返します。index がこのマップのノード数より大きいかまたは等しい場合、 null を返します。

パラメータ:
index - このマップ内のインデックス
戻り値:
マップの indexth の位置にあるノード、または有効なインデックスではない場合 null

getLength

public int getLength()
このマップのノード数。有効な子ノードのインデックスの範囲は 0 から length-1 です。


getNamedItemNS

public Node getNamedItemNS(String namespaceURI,
                           String localName)
指定されたローカル名と名前空間 URI を持つノードを取得します。
XML 機能をサポートしないドキュメントで呼び出せるのは、DOM Level 1 の要素または属性を作成・設定するメソッドだけです。したがって、XML 機能をサポートしない DOM で null 以外の名前空間 URI が指定された場合、それに一致するノードが検出されることはありません。

パラメータ:
namespaceURI - 取得するノードの名前空間 URI
localName - 取得するノードのローカル名
戻り値:
特定のローカル名と名前空間 URI を持つ Node (すべてのタイプ)、またはこのマップでノードとして識別されない場合は null
導入されたバージョン:
DOM Level 2

setNamedItemNS

public Node setNamedItemNS(Node arg)
                    throws DOMException
namespaceURIlocalName を使用してノードを追加します。そのローカル名と名前空間 URI を持つノードがすでにこのマップにある場合は、新しいノードに置き換えられます。

パラメータ:
arg - このマップに格納するノード。このノードには、あとでその namespaceURIlocalName の属性値を使用してアクセスできる
戻り値:
新しい Node が既存の属性を置き換える場合、置き換えられた Node が返され、そうでない場合は null が返される
例外:
DOMException - WRONG_DOCUMENT_ERR: arg を作成したドキュメントとこのマップを作成したドキュメントとが異なる場合に発行される
NO_MODIFICATION_ALLOWED_ERR: このマップが読み取り専用の場合に発行される
INUSE_ATTRIBUTE_ERR: arg に指定された Attr ノードが、別の Element オブジェクト内ですでに使用されている場合に発行される。ほかの要素内の Attr ノードを使用するには、その属性を明示的にコピーする必要がある
HIERARCHY_REQUEST_ERR: この NamedNodeMap に属さないノードを追加しようとした場合に発行される。たとえば、Attr 以外のノードを Element の属性マップに挿入しようとしたり、Entity 以外のノードを DocumentType のエンティティマップに挿入しようとした場合が考えられる
導入されたバージョン:
DOM Level 2

removeNamedItemNS

public Node removeNamedItemNS(String namespaceURI,
                              String localName)
                       throws DOMException
指定されたローカル名と名前空間 URI を持つノードを削除します。ただし、このマップが Node インタフェースの attributes 属性から返されるマップのように、ある要素の属性マップである場合、削除された属性がデフォルト値を持っている可能性があります。その場合は削除後すぐに、デフォルト値と対応する名前空間 URI、ローカル名、および接頭辞を持つ新しい属性がマップに追加されます。
XML 機能をサポートしないドキュメントで呼び出せるのは、DOM Level 1 の要素または属性を作成・設定するメソッドだけです。したがって、XML 機能をサポートしない DOM で null 以外の名前空間 URI が指定された場合、それに一致するノードが検出されることはありません。

パラメータ:
namespaceURI - 削除するノードの名前空間 URI
localName - 削除するノードのローカル名
戻り値:
このマップからの削除対象として指定されたローカル名と名前空間 URI を持つノードが存在する場合はそのノード
例外:
DOMException - NOT_FOUND_ERR: 指定された namespaceURIlocalName を持つノードがこのマップ内に存在しない場合に発行される
NO_MODIFICATION_ALLOWED_ERR: このマップが読み取り専用の場合に発行される
導入されたバージョン:
DOM Level 2

Common DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.