JavaTM 2
Platform
Std. Ed. v1.4.0

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

既知のサブインタフェースの一覧:
Attr, CDATASection, CharacterData, Comment, Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, Notation, ProcessingInstruction, Text
既知の実装クラスの一覧:
IIOMetadataNode

public interface Node

Node インタフェースは、文書オブジェクトモデル全体に対する主データ型であり、文書ツリー内の単一のノードを表します。Node インタフェースを実装するすべてのオブジェクトは子を処理するためのメソッドを持っていますが、Node インタフェースを実装するすべてのオブジェクトが子を持つことができるわけではありません。子を持つことができるオブジェクトの 1 つに、Text ノードがあります。Text ノードは、DOMException を生成するようなノードに自身の子を追加します。

nodeName 属性、nodeValue 属性、attributes 属性は、特定の派生インタフェースにとらわれずにノード情報を取得するメカニズムです。Element に対して nodeValueComment に対して attributes というように、これらの属性が特定の nodeType に明確にマッピングされていない場合は null を返します。各種専用インタフェースは、これ以外にも、関連情報を取得および設定する便利なメカニズムを多数備えています。

nodeNamenodeValueattributes の値は、以下のようにノード型によって異なります。
インタフェース nodeName nodeValue 属性
Attr 属性名 属性値 null
CDATASection "#cdata-section" CDATA セクションのコンテンツ null
Comment "#comment" コメントのコンテンツ null
Document "#document" null null
DocumentFragment "#document-fragment" null null
DocumentType 文書型名 null null
Element タグ名 null NamedNodeMap
Entity エンティティ名 null null
EntityReference 参照されるエンティティの名前 null null
Notation 表記法名 null null
ProcessingInstruction ターゲット ターゲットを除くすべてのコンテンツ null
Text "#text" テキストノードのコンテンツ null

Document Object Model (DOM) Level 2 Core Specification』を参照してください。


フィールドの概要
static short ATTRIBUTE_NODE
          ノードは Attr です。
static short CDATA_SECTION_NODE
          ノードは CDATASection です。
static short COMMENT_NODE
          ノードは Comment です。
static short DOCUMENT_FRAGMENT_NODE
          ノードは DocumentFragment です。
static short DOCUMENT_NODE
          ノードは Document です。
static short DOCUMENT_TYPE_NODE
          ノードは DocumentType です。
static short ELEMENT_NODE
          ノードは Element です。
static short ENTITY_NODE
          ノードは Entity です。
static short ENTITY_REFERENCE_NODE
          ノードは EntityReference です。
static short NOTATION_NODE
          ノードは Notation です。
static short PROCESSING_INSTRUCTION_NODE
          ノードは ProcessingInstruction です。
static short TEXT_NODE
          ノードは Text ノードです。
 
メソッドの概要
 Node appendChild(Node newChild)
          ノード newChild をこのノードの子リストの末尾に追加します。
 Node cloneNode(boolean deep)
          ノードの汎用コピーコンストラクタとして、このノードの複製を返します。
 NamedNodeMap getAttributes()
          このノードが Element の場合、このノードの属性を含む NamedNodeMap です。
 NodeList getChildNodes()
          このノードの子をすべて含む NodeList です。
 Node getFirstChild()
          このノードの最初の子ノードです。
 Node getLastChild()
          このノードの最後の子ノードです。
 String getLocalName()
          このノードの修飾名のローカル部分を返します。
 String getNamespaceURI()
          このノードのネームスペース URI です。
 Node getNextSibling()
          このノードの直下のノードです。
 String getNodeName()
          このノードの名前です。
 short getNodeType()
          オブジェクトの型を表すコードです。
 String getNodeValue()
          このノードの値です。
 Document getOwnerDocument()
          このノードに関連付けられた Document オブジェクトです。
 Node getParentNode()
          このノードの親ノードです。
 String getPrefix()
          このノードのネームスペース前置修飾子です。
 Node getPreviousSibling()
          このノードのすぐ上のノードです。
 boolean hasAttributes()
          このノードが要素である場合、属性を持っているかどうかを判断します。
 boolean hasChildNodes()
          このノードが子ノードを持っているかどうかを判断します。
 Node insertBefore(Node newChild, Node refChild)
          既存の子ノード refChild の前に newChild ノードを挿入します。
 boolean isSupported(String feature, String version)
          DOM 実装が特定の機能を実装しており、このノードがその機能をサポートしているかどうかを判断します。
 void normalize()
          この Node のサブツリーの最深部までに存在するすべての Text ノード (属性ノードを含む) を、Text ノードが構造 (要素、コメント、処理命令、CDATA セクション、エンティティ参照など) のみによって分離される、「通常」形式に直します。
 Node removeChild(Node oldChild)
          子リストから oldChild で示される子ノードを削除し、この子ノードを返します。
 Node replaceChild(Node newChild, Node oldChild)
          子リストの中の子ノード oldChildnewChild で置き換え、oldChild ノードを返します。
 void setNodeValue(String nodeValue)
          このノードの値です。
 void setPrefix(String prefix)
          このノードのネームスペース前置修飾子です。
 

フィールドの詳細

ELEMENT_NODE

public static final short ELEMENT_NODE
ノードは Element です。

関連項目:
定数フィールド値

ATTRIBUTE_NODE

public static final short ATTRIBUTE_NODE
ノードは Attr です。

関連項目:
定数フィールド値

TEXT_NODE

public static final short TEXT_NODE
ノードは Text ノードです。

関連項目:
定数フィールド値

CDATA_SECTION_NODE

public static final short CDATA_SECTION_NODE
ノードは CDATASection です。

関連項目:
定数フィールド値

ENTITY_REFERENCE_NODE

public static final short ENTITY_REFERENCE_NODE
ノードは EntityReference です。

関連項目:
定数フィールド値

ENTITY_NODE

public static final short ENTITY_NODE
ノードは Entity です。

関連項目:
定数フィールド値

PROCESSING_INSTRUCTION_NODE

public static final short PROCESSING_INSTRUCTION_NODE
ノードは ProcessingInstruction です。

関連項目:
定数フィールド値

COMMENT_NODE

public static final short COMMENT_NODE
ノードは Comment です。

関連項目:
定数フィールド値

DOCUMENT_NODE

public static final short DOCUMENT_NODE
ノードは Document です。

関連項目:
定数フィールド値

DOCUMENT_TYPE_NODE

public static final short DOCUMENT_TYPE_NODE
ノードは DocumentType です。

関連項目:
定数フィールド値

DOCUMENT_FRAGMENT_NODE

public static final short DOCUMENT_FRAGMENT_NODE
ノードは DocumentFragment です。

関連項目:
定数フィールド値

NOTATION_NODE

public static final short NOTATION_NODE
ノードは Notation です。

関連項目:
定数フィールド値
メソッドの詳細

getNodeName

public String getNodeName()
このノードの名前です。この名前は型によって異なります。上記の表を参照してください。


getNodeValue

public String getNodeValue()
                    throws DOMException
このノードの値です。この値は型によって異なります。上記の表を参照してください。null になるように定義した場合は、このノードを設定しても変化はありません。

例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合
DOMException - DOMSTRING_SIZE_ERR: 返される文字数が多すぎて実装プラットフォーム上の DOMString 変数に収まらない場合

setNodeValue

public void setNodeValue(String nodeValue)
                  throws DOMException
このノードの値です。この値は型によって異なります。上記の表を参照してください。null になるように定義した場合は、このノードを設定しても変化はありません。

例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合
DOMException - DOMSTRING_SIZE_ERR: 返される文字数が多すぎて実装プラットフォーム上の DOMString 変数に収まらない場合

getNodeType

public short getNodeType()
オブジェクトの型を表すコードです。上記の定義を参照してください。


getParentNode

public Node getParentNode()
このノードの親ノードです。AttrDocumentDocumentFragmentEntityNotation を除くすべてのノードは、親ノードを持つ可能性があります。ただし、ノードが作成されたばかりでまだツリーに追加されていない場合やツリーから削除されたばかりの場合は null が返されます。


getChildNodes

public NodeList getChildNodes()
このノードの子をすべて含む NodeList です。子が存在しない場合、ノードを持たない NodeList が返されます。


getFirstChild

public Node getFirstChild()
このノードの最初の子ノードです。該当するノードが存在しない場合は null が返されます。


getLastChild

public Node getLastChild()
このノードの最後の子ノードです。該当するノードが存在しない場合は null が返されます。


getPreviousSibling

public Node getPreviousSibling()
このノードのすぐ上のノードです。該当するノードが存在しない場合は null が返されます。


getNextSibling

public Node getNextSibling()
このノードの直下のノードです。該当するノードが存在しない場合は null が返されます。


getAttributes

public NamedNodeMap getAttributes()
このノードが Element の場合、このノードの属性を含む NamedNodeMap です。それ以外の場合は null です。


getOwnerDocument

public Document getOwnerDocument()
このノードに関連付けられた Document オブジェクトです。これは、新しいノードを作成する Document オブジェクトでもあります。このノードがまだどの Document でも使用されていない Document または DocumentType である場合、null になります。


insertBefore

public Node insertBefore(Node newChild,
                         Node refChild)
                  throws DOMException
既存の子ノード refChild の前に newChild ノードを挿入します。refChildnull の場合、newChild は子リストの末尾に挿入されます。
newChildDocumentFragment オブジェクトである場合、refChild の前に newChild の子全部が同じ順序で挿入されます。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。

パラメータ:
newChild - 挿入されるノード
refChild - 参照ノード。新しいノードはこのノードの直前に挿入される
戻り値:
挿入されるノード
例外:
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、挿入されるノードがこのノードの祖先またはこのノード自体である場合
WRONG_DOCUMENT_ERR: newChild がこのノードの作成元文書以外の文書で作成された場合
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用である場合。または、挿入されるノードの親ノードが読み取り専用である場合
NOT_FOUND_ERR: refChild がこのノードの子ノードでない場合

replaceChild

public Node replaceChild(Node newChild,
                         Node oldChild)
                  throws DOMException
子リストの中の子ノード oldChildnewChild で置き換え、oldChild ノードを返します。
newChildDocumentFragment オブジェクトである場合、oldChild は削除され、その代わりに DocumentFragment の子全部が同じ順序で挿入されます。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。

パラメータ:
newChild - 子リストに挿入する新しいノード
oldChild - 置き換えの対象となるリスト内のノード
戻り値:
置き換えの対象となったノード
例外:
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、挿入されるノードがこのノードの祖先またはこのノード自体である場合
WRONG_DOCUMENT_ERR: newChild がこのノードの作成元文書以外の文書で作成された場合
NO_MODIFICATION_ALLOWED_ERR: このノードまたは新しいノードの親ノードが読み取り専用である場合
NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合

removeChild

public Node removeChild(Node oldChild)
                 throws DOMException
子リストから oldChild で示される子ノードを削除し、この子ノードを返します。

パラメータ:
oldChild - 削除されるノード
戻り値:
削除されるノード
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合
NOT_FOUND_ERR: oldChild がこのノードの子ノードでない場合

appendChild

public Node appendChild(Node newChild)
                 throws DOMException
ノード newChild をこのノードの子リストの末尾に追加します。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。

パラメータ:
newChild - 追加するノード。追加するノードが DocumentFragment である場合、文書フラグメントの全コンテンツがこのノードの子リストに移動する
戻り値:
追加されたノード
例外:
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、追加されるノードがこのノードの祖先またはこのノード自体である場合
WRONG_DOCUMENT_ERR: newChild がこのノードの作成元文書以外の文書で作成された場合
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用である場合。または、挿入されるノードの以前の親ノードが読み取り専用である場合

hasChildNodes

public boolean hasChildNodes()
このノードが子ノードを持っているかどうかを判断します。

戻り値:
このノードが子を持っている場合は true、持っていない場合は false

cloneNode

public Node cloneNode(boolean deep)
ノードの汎用コピーコンストラクタとして、このノードの複製を返します。複製ノードは親ノードを持ちません (parentNodenull)。
Element を複製すると、その属性および属性値全部 (XML プロセッサによって生成されたものを含む) がコピーされ、省略時属性となります。ただし、Element に含まれるテキストは、深い複製を行わないかぎりコピーされません。これは、テキストが Text ノードに含まれているからです。Element の複製の一環としてではなく、Attribute を直接複製すると、指定された属性が返されます (specifiedtrue)。その他のノード型を複製すると、このノードのコピーが返されます。
不変のサブツリーを複製すると可変のコピーが作成されますが、EntityReference の複製の子は読み取り専用になります。また、未指定の Attr ノードの複製が指定されます。DocumentDocumentTypeEntityNotation の各ノードの複製は実装依存です。

パラメータ:
deep - true の場合、指定されたノードのサブツリーを再帰的に複製。false の場合、指定されたノードのみを複製。指定されたノードが Element である場合は、その属性も複製
戻り値:
複製ノード

normalize

public void normalize()
この Node のサブツリーの最深部までに存在するすべての Text ノード (属性ノードを含む) を、Text ノードが構造 (要素、コメント、処理命令、CDATA セクション、エンティティ参照など) のみによって分離される、「通常」形式に直します。その結果、隣接するText ノードも空の Text ノードも存在しない状態になります。この操作は、文書の DOM ビューを保存後ロードし直した状態にすることができるという点で、特定の文書ツリー構造に依存する操作 (XPointer ルックアップなど) を行う必要がある場合に便利です。文書に CDATASections が含まれる場合、この normalize 操作のみが正しく行われない可能性があります。これは、XPointer が Text ノードと CDATASection ノードを区別しないからです。


isSupported

public boolean isSupported(String feature,
                           String version)
DOM 実装が特定の機能を実装しており、このノードがその機能をサポートしているかどうかを判断します。

パラメータ:
feature - テストする機能の名前。DOMImplementation 上の hasFeature メソッドに渡される名前と同じになる
version - テストする機能のバージョン番号。レベル 2、バージョン 1 では文字列 "2.0"。バージョンを指定しないと任意のバージョンの機能がサポートされ、メソッドの戻り値は true になる
戻り値:
指定された機能がこのノードでサポートされている場合は true、それ以外の場合は false
導入されたバージョン:
DOM Level 2

getNamespaceURI

public String getNamespaceURI()
このノードのネームスペース URI です。未指定の場合は null になります。
この値は、スコープ内のネームスペース宣言の検査に基づいたネームスペース検索の結果として計算された値ではなく、作成時に指定されたネームスペース URI です。
ELEMENT_NODEATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。XML 仕様のネームスペースの規定によると、属性は、その接続先要素からネームスペースを継承しません。属性に対して明示的にネームスペースを指定しないかぎり、その属性はネームスペースを持たないことになります。

導入されたバージョン:
DOM Level 2

getPrefix

public String getPrefix()
このノードのネームスペース前置修飾子です。未指定の場合は null になります。
この属性を設定すると、許容される場合は、nodeName 属性が変更されます。この属性は、Element インタフェースと Attr インタフェースの tagName および name 属性とともに、修飾名を持っています (それが適切な場合)。
デフォルト値を持つ属性の前置修飾子を変更しても、namespaceURIlocalName がそのままなので、デフォルト値と元の前置修飾子を持つ新しい属性は作成されません。
ELEMENT_NODEATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。

例外:
DOMException - INVALID_CHARACTER_ERR: 指定された前置修飾子に XML 1.0 仕様に定められている不正な文字が含まれている場合
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合
NAMESPACE_ERR: 指定されたprefix が XML 仕様のネームスペースの定義に沿ったものでない場合。このノードの namespaceURInull の場合。指定された前置修飾子が "xml" であり、このノードの namespaceURI が "http://www.w3.org/XML/1998/namespace" 以外である場合。このノードが属性であり、指定された前置修飾子が "xmlns" であり、このノードの namespaceURI が "http://www.w3.org/2000/xmlns/" 以外である場合。このノードが属性であり、このノードの qualifiedName が "xmlns" である場合
導入されたバージョン:
DOM Level 2

setPrefix

public void setPrefix(String prefix)
               throws DOMException
このノードのネームスペース前置修飾子です。未指定の場合は null になります。
この属性を設定すると、許容される場合は、nodeName 属性が変更されます。この属性は、Element インタフェースと Attr インタフェースの tagName および name 属性とともに、修飾名を持っています (それが適切な場合)。
デフォルト値を持つ属性の前置修飾子を変更しても、namespaceURIlocalName がそのままなので、デフォルト値と元の前置修飾子を持つ新しい属性は作成されません。
ELEMENT_NODEATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。

例外:
DOMException - INVALID_CHARACTER_ERR: 指定された前置修飾子に XML 1.0 仕様に定められている不正な文字が含まれている場合
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合
NAMESPACE_ERR: 指定されたprefix が XML 仕様のネームスペースの定義に沿ったものでない場合。このノードの namespaceURInull の場合。指定された前置修飾子が "xml" であり、このノードの namespaceURI が "http://www.w3.org/XML/1998/namespace" 以外である場合。このノードが属性であり、指定された前置修飾子が "xmlns" であり、このノードの namespaceURI が "http://www.w3.org/2000/xmlns/" 以外である場合。このノードが属性であり、このノードの qualifiedName が "xmlns" である場合
導入されたバージョン:
DOM Level 2

getLocalName

public String getLocalName()
このノードの修飾名のローカル部分を返します。
ELEMENT_NODEATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。

導入されたバージョン:
DOM Level 2

hasAttributes

public boolean hasAttributes()
このノードが要素である場合、属性を持っているかどうかを判断します。

戻り値:
このノードが属性を持っている場合は true、持っていない場合は false
導入されたバージョン:
DOM Level 2

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.