JavaTM Platform
Standard Ed. 6

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


public interface NamedNodeMap

NamedNodeMap インタフェースを実装するオブジェクトは、名前を指定してアクセスできるノードのコレクションを表します。NamedNodeMapNodeList を継承しません。つまり、特定の順序で管理されることがありません。 NamedNodeMap を実装するオブジェクトに含まれるオブジェクトにも順序インデックスを使用してアクセスできますが、これは単に NamedNodeMap のコンテンツを列挙しやすくするためであって、DOM がこれらの Node の順序を指定するということではありません。 

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

「Document Object Model (DOM) Level 3 Core Specification」を参照してください。


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

メソッドの詳細

getNamedItem

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

パラメータ:
name - 取得するノードの nodeName
戻り値:
指定された nodeName を持つ任意の型の Node。 このマップ内のノードが特定されない場合は null

setNamedItem

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 オブジェクト内ですでに使用されている場合に発生する。DOM ユーザーは、別の要素で再使用するために、Attr ノードを明示的にコピーする必要がある
HIERARCHY_REQUEST_ERR:この NamedNodeMap に属さないノードを追加しようとした場合に発生する。たとえば、Attr 以外のノードを Element の属性マップに挿入しようとしたり、Entity 以外のノードを DocumentType のエンティティーマップに挿入しようとしたりした場合が考えられる

removeNamedItem

Node removeNamedItem(String name)
                     throws DOMException
指定された名前のノードを削除します。このマップに要素に追加された属性が含まれているとき、削除された属性にデフォルト値があるならば、名前空間 URI、ローカル名、接頭辞 (適切な場合) のほかにデフォルト値を持つ新しい属性が即座に作成されます。

パラメータ:
name - 削除するノードの nodeName
戻り値:
このマップから削除するノード (指定された名前のノードが存在する 場合)
例外:
DOMException - NOT_FOUND_ERR:このマップに name という名前のノードがない場合
NO_MODIFICATION_ALLOWED_ERR:このマップが読み取り専用の場合

item

Node item(int index)
マップ内の index 番目の項目を返します。index がこのマップ内のノード数と同じかそれよりも大きい場合は null を返します。

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

getLength

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


getNamedItemNS

Node getNamedItemNS(String namespaceURI,
                    String localName)
                    throws DOMException
指定されたローカル名と名前空間 URI を持つノードを取得します。
名前空間を保有しない場合は、XML 名前空間に従って、アプリケーションでメソッドの namespaceURI に null 値を使用する必要があります。

パラメータ:
namespaceURI - 取得するノードの名前空間 URI
localName - 取得するノードのローカル名
戻り値:
指定されたローカル名と名前空間 URI を持つ任意の型の Node。 このマップ内のノードが特定されない場合は null
例外:
DOMException - NOT_SUPPORTED_ERR:「XML」機能が実装でサポートされておらず、XML 名前空間 ([HTML 4.01] など) もドキュメントで公開される言語でサポートされていない場合、発生する可能性がある
導入されたバージョン:
DOM Level 2

setNamedItemNS

Node setNamedItemNS(Node arg)
                    throws DOMException
namespaceURIlocalName を使用してノードを追加します。このマップに名前空間 URI とローカル名を持つノードがすでに存在する場合、新しいノードに置き換えられます。ノードをノード自体で置換しても影響はまったくありません。
名前空間を保有しない場合は、XML 名前空間に従って、アプリケーションでメソッドの namespaceURI に null 値を使用する必要があります。

パラメータ:
arg - このマップに格納するノード。このノードには、あとで namespaceURI 属性と localName 属性の値を使用して アクセスできる
戻り値:
既存のノードが新しい Node で置き換えられる場合は 置き換えの対象となる Node。それ以外の場合は null
例外:
DOMException - WRONG_DOCUMENT_ERR:argが、このマップを作成した文書とは異なる文書から作成された場合に発生する
NO_MODIFICATION_ALLOWED_ERR:このマップが読み取り専用の場合
INUSE_ATTRIBUTE_ERR:arg に指定された Attr ノードが、別の Element オブジェクト内ですでに使用されている場合に発生する。DOM ユーザーは、別の要素で再使用するために、Attr ノードを明示的にコピーする必要がある
HIERARCHY_REQUEST_ERR:この NamedNodeMap に属さないノードを追加しようとした場合に発生する。たとえば、Attr 以外のノードを Element の属性マップに挿入しようとしたり、Entity 以外のノードを DocumentType のエンティティーマップに挿入しようとしたりした場合が考えられる
NOT_SUPPORTED_ERR:「XML」機能が実装でサポートされておらず、XML 名前空間 ([HTML 4.01] など) もドキュメントで公開される言語でサポートされていない場合、発生する可能性がある
導入されたバージョン:
DOM Level 2

removeNamedItemNS

Node removeNamedItemNS(String namespaceURI,
                       String localName)
                       throws DOMException
指定されたローカル名と名前空間 URI で指定されたノードを削除します。このマップが要素に接続された属性を含む場合、 Node の属性がこの属性のよって返されるので、削除された属性がデフォルト値を持っていることがわかります。その場合には、属性が対応する URI 名前空間、ローカル名、接頭辞 (適用可能の場合) とともにデフォルト値を持っていることを直に表示します。
名前空間を保有しない場合は、XML 名前空間に従って、アプリケーションでメソッドの namespaceURI に null 値を使用する必要があります。

パラメータ:
namespaceURI - 削除するノードの名前空間 URI
localName - 削除するノードのローカル名
戻り値:
このマップから削除するノード (指定されたローカル名および名前空間 URI を持つノードが存在する場合)
例外:
DOMException - NOT_FOUND_ERR:指定された namespaceURIlocalName を持つノードがこのマップにない場合
NO_MODIFICATION_ALLOWED_ERR:このマップが読み取り専用の場合
NOT_SUPPORTED_ERR:「XML」機能が実装でサポートされておらず、XML 名前空間 ([HTML 4.01] など) もドキュメントで公開される言語でサポートされていない場合、発生する可能性がある
導入されたバージョン:
DOM Level 2

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。