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

Node インターフェースは文書オブジェクトモデル全体の主要なデータタイプです。文書ツリーの単体のノードを表します。Node インターフェースを実装するすべてのオブジェクトが子ノードを処理するためのメソッドを公開しますが、Node インターフェースを実装するすべてのオブジェクトが子ノードを持つとは限りません。例えば、Text ノードには子ノードがないことがありますが、このようなノードに子ノードを追加すると、DOMException が発生します。nodeName や nodeValue 属性は、特定の継承元のインターフェースまで対象を広げなくても、ノードの情報を取得するためのメカニズムとして組み込まれています。これらの属性を (例えば nodeValue を Element に、または属性を Comment にマップするなど) 特定の nodeType に明確にマップしていない場合は、Null が返されます。特別なインターフェースには、適切な情報を取得し設定するために、より便利な追加のメカニズムが組み込まれている可能性があります。

NodeTypes は次の通りです。

ELEMENT_NODE

public static final short ELEMENT_NODE

ATTRIBUTE_NODE

public static final short ATTRIBUTE_NODE

TEXT_NODE

public static final short TEXT_NODE

CDATA_SECTION_NODE

public static final short CDATA_SECTION_NODE

ENTITY_REFERENCE_NODE

public static final short ENTITY_REFERENCE_NODE

ENTITY_NODE

public static final short ENTITY_NODE

PROCESSING_INSTRUCTION_NODE

public static final short PROCESSING_INSTRUCTION_NODE

COMMENT_NODE

public static final short COMMENT_NODE

DOCUMENT_NODE

public static final short DOCUMENT_NODE

DOCUMENT_TYPE_NODE

public static final short DOCUMENT_TYPE_NODE

DOCUMENT_FRAGMENT_NODE

public static final short DOCUMENT_FRAGMENT_NODE

NOTATION_NODE

public static final short NOTATION_NODE .

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

appendChild

newChild ノードを、このノードの子ノードのリストの最後に追加します。newChild がツリーにすでにある場合は、先に削除されます。

構文:

public Node appendChild(Node newChild)
           throws DOMException

パラメータ

newChild - 追加するノードです。newChild が DocumentFragment オブジェクトなら、文書の断片の内容全体が、このノードの子ノードリストに移動されます。

戻り値:

追加されたノードです。

例外処理:

DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、追加するノードが、このノードの上位ノードである場合に発生します。

WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。

NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。

cloneNode

このノードの複製を返します。つまり、ノードを複製するための汎用的なコンストラクタの役割を果たします。複製したノードには親ノードは存在しません (parentNode は Null を返します)。

Element のクローンを生成すると、属性とその値もすべてコピーされます。これらは XML プロセッサがデフォルトの属性を表すために生成した情報も含みます。しかしこのメソッドでは、ノードが深層の (deep) クローンでない限り、ノードに含まれる Text はコピーされません。これは Text が子の Text ノードに含まれているためです。他のタイプのノードのクローンを生成すると、単にこのノードのコピーが返されます。

構文:

public Node cloneNode(boolean deep)

パラメータ

deep - true なら、指定したノードの下のサブツリーのクローンを再帰的に作成します。false なら、ノードのクローン (ノードが Element の場合は属性も含めて) のみを作成します。

戻り値:

複製されたノードを返します。

getAttributes

(ノードが Element なら) このノードの属性を含む NamedNodeMap です。それ以外は Null です。

構文:

public NamedNodeMap getAttributes()

getChildNodes

このノードのすべての子ノードを含む NodeList です。子ノードがない場合は、ノードを含まない NodeList になります。返される NodeList の内容は「動的」です。例えば、NodeList 生成の元になったノードオブジェクトの子ノードへの変更は、NodeList へのアクセサーによって返されるノードにすぐに反映されます。これはノードの内容の静的なスナップショットではありません。このことは、getElementsByTagName メソッドで返されたリストも含めてすべての NodeList に当てはまります。

構文:

public NodeList getChildNodes()

getFirstChild

このノードの最初の子ノードです。すぐ前のノードが存在しない場合は、Null が返されます。

構文:

public Node getFirstChild()

getLastChild

このノードの最後の子ノードです。すぐ前のノードが存在しない場合は、Null が返されます。

構文:

public Node getLastChild()

getNextSibling

このノードのすぐ次に続くノードです。すぐ前のノードが存在しない場合は、Null が返されます。

構文:

public Node getNextSibling()

getNodeName

このノードの名前です。タイプによります。上記の NodeType リストを参照してください。

構文:

public java.lang.String getNodeName()

getNodeType

下にあるオブジェクトのタイプを表すコードです。上記の NodeType リストを参照してください。

構文:

public short getNodeType()

getNodeValue

このノードの値です。タイプによります。上記の NodeType リストを参照してください。

構文:

public java.lang.String getNodeValue()
            throws DOMException

例外処理:

DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み込み専用の場合に発生します。

DOMException - DOMSTRING_SIZE_ERR: 実装プラットフォーム上の DOMString 変数の許容量を超える文字列が返された場合に発生します。

getOwnerDocument

このノードに関連する Document オブジェクトです。新規のノードを作成するのに使用される Document オブジェクトでもあります。このノードが Document の場合は、Null が返されます。

構文:

public Document getOwnerDocument()

getParentNode

このノードの親ノードです。Document、DocumentFragment、Attr 以外のすべてのノードは親を持つことができます。しかしノードが作成された直後でまだツリーに追加されていない場合、またはツリーから削除された場合は、Null になります。

構文:

public Node getParentNode()

getPreviousSibling

このノードのすぐ前のノードです。すぐ前のノードが存在しない場合は、Null が返されます。

構文:

public Node getPreviousSibling()

hasChildNodes

ノードに子ノードが存在するかを簡単に確認できるようにするためのメソッドです。

構文:

public boolean hasChildNodes()

戻り値:

ノードに子があれば true を返します。子がなければ false です。

insertBefore

既存の子ノード refChild の前に newChild ノードを挿入します。refChild が Null の場合、子ノードリストの最後に newChild を追加します。newChild が DocumentFragment オブジェクトの場合、すべての子ノードが、同じ順番で refChild の前に挿入されます。newChild がツリーにすでにある場合は、先に削除されます。

構文:

public Node insertBefore(Node newChild, Node refChild)
           throws DOMException

パラメータ

newChild - 挿入するノードです。

refChild - 参照ノードです。新規のノードがその前に挿入されます。

戻り値:

挿入されたノードです。

例外処理:

DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、挿入するノードが、このノードの上位ノードである場合に発生します。

WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。

NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。

NOT_FOUND_ERR: refChild がこのノードの子ノードでない場合に発生します。

removeChild

子ノードのリストから oldChild で指定された子ノードを削除し、削除したノードを返します。

構文:

public Node removeChild(Node oldChild)
        throws DOMException

パラメータ

oldChild - 削除するノードです。

戻り値:

削除されたノードです。

例外処理:

DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。

NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合に発生します。

replaceChild

子ノードリストで、子ノード oldChild を newChild で置き換え、oldChild ノードを返します。newChild がツリーにすでにある場合は、先に削除されます。

構文:

public Node replaceChild(Node newChild, Node oldChild)
           throws DOMException

パラメータ

newChild - 子ノードリストに追加される新規のノードです。

oldChild - 子ノードリストで置換されるノードです。

戻り値:

置換されるノードです。

例外処理:

DOMException - HIERARCHY_REQUEST_ERR: ノードが、newChild ノードのタイプの子ノードを許可しないタイプの場合に発生します。あるいは、追加するノードが、このノードの上位ノードである場合に発生します。

WRONG_DOCUMENT_ERR: newChild がこのノードを生成した文書以外の文書から生成された場合に発生します。

NO_MODIFICATION_ALLOWED_ERR: このノードが読み込み専用の場合に発生します。

NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合に発生します。

setNodeValue

構文:

public void setNodeValue(java.lang.String nodeValue)
             throws DOMException