|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Node インタフェースは、文書オブジェクトモデル全体に対する主データ型であり、文書ツリー内の単一のノードを表します。Node インタフェースを実装するすべてのオブジェクトは子を処理するためのメソッドを持っていますが、Node インタフェースを実装するすべてのオブジェクトが子を持つことができるわけではありません。子を持つことができるオブジェクトの 1 つに、Text ノードがあります。Text ノードは、DOMException を生成するようなノードに自身の子を追加します。
nodeName 属性、nodeValue 属性、attributes 属性は、特定の派生インタフェースにとらわれずにノード情報を取得するメカニズムです。Element に対して nodeValue、Comment に対して attributes というように、これらの属性が特定の nodeType に明確にマッピングされていない場合は null を返します。各種専用インタフェースは、これ以外にも、関連情報を取得および設定する便利なメカニズムを多数備えています。
nodeName、nodeValue、attributes の値は、以下のようにノード型によって異なります。
| インタフェース | 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)
子リストの中の子ノード oldChild を newChild で置き換え、oldChild ノードを返します。
|
void |
setNodeValue(String nodeValue)
このノードの値です。 |
void |
setPrefix(String prefix)
このノードのネームスペース前置修飾子です。 |
| フィールドの詳細 |
public static final short ELEMENT_NODE
Element です。
public static final short ATTRIBUTE_NODE
Attr です。
public static final short TEXT_NODE
Text ノードです。
public static final short CDATA_SECTION_NODE
CDATASection です。
public static final short ENTITY_REFERENCE_NODE
EntityReference です。
public static final short ENTITY_NODE
Entity です。
public static final short PROCESSING_INSTRUCTION_NODE
ProcessingInstruction です。
public static final short COMMENT_NODE
Comment です。
public static final short DOCUMENT_NODE
Document です。
public static final short DOCUMENT_TYPE_NODE
DocumentType です。
public static final short DOCUMENT_FRAGMENT_NODE
DocumentFragment です。
public static final short NOTATION_NODE
Notation です。
| メソッドの詳細 |
public String getNodeName()
public String getNodeValue()
throws DOMException
null になるように定義した場合は、このノードを設定しても変化はありません。
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合
DOMException - DOMSTRING_SIZE_ERR: 返される文字数が多すぎて実装プラットフォーム上の DOMString 変数に収まらない場合
public void setNodeValue(String nodeValue)
throws DOMException
null になるように定義した場合は、このノードを設定しても変化はありません。
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合
DOMException - DOMSTRING_SIZE_ERR: 返される文字数が多すぎて実装プラットフォーム上の DOMString 変数に収まらない場合public short getNodeType()
public Node getParentNode()
Attr、Document、DocumentFragment、Entity、Notation を除くすべてのノードは、親ノードを持つ可能性があります。ただし、ノードが作成されたばかりでまだツリーに追加されていない場合やツリーから削除されたばかりの場合は null が返されます。
public NodeList getChildNodes()
NodeList です。子が存在しない場合、ノードを持たない NodeList が返されます。
public Node getFirstChild()
null が返されます。
public Node getLastChild()
null が返されます。
public Node getPreviousSibling()
null が返されます。
public Node getNextSibling()
null が返されます。
public NamedNodeMap getAttributes()
Element の場合、このノードの属性を含む NamedNodeMap です。それ以外の場合は null です。
public Document getOwnerDocument()
Document オブジェクトです。これは、新しいノードを作成する Document オブジェクトでもあります。このノードがまだどの Document でも使用されていない Document または DocumentType である場合、null になります。
public Node insertBefore(Node newChild,
Node refChild)
throws DOMException
refChild の前に newChild ノードを挿入します。refChild が null の場合、newChild は子リストの末尾に挿入されます。
newChild が DocumentFragment オブジェクトである場合、refChild の前に newChild の子全部が同じ順序で挿入されます。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。
newChild - 挿入されるノードrefChild - 参照ノード。新しいノードはこのノードの直前に挿入される
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、挿入されるノードがこのノードの祖先またはこのノード自体である場合
newChild がこのノードの作成元文書以外の文書で作成された場合
refChild がこのノードの子ノードでない場合
public Node replaceChild(Node newChild,
Node oldChild)
throws DOMException
oldChild を newChild で置き換え、oldChild ノードを返します。
newChild が DocumentFragment オブジェクトである場合、oldChild は削除され、その代わりに DocumentFragment の子全部が同じ順序で挿入されます。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。
newChild - 子リストに挿入する新しいノードoldChild - 置き換えの対象となるリスト内のノード
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、挿入されるノードがこのノードの祖先またはこのノード自体である場合
newChild がこのノードの作成元文書以外の文書で作成された場合
oldChild がこのノードの子ノードでない場合
public Node removeChild(Node oldChild)
throws DOMException
oldChild で示される子ノードを削除し、この子ノードを返します。
oldChild - 削除されるノード
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合
oldChild がこのノードの子ノードでない場合
public Node appendChild(Node newChild)
throws DOMException
newChild をこのノードの子リストの末尾に追加します。newChild がツリー内にすでに存在する場合、最初に既存のものが削除されます。
newChild - 追加するノード。追加するノードが DocumentFragment である場合、文書フラグメントの全コンテンツがこのノードの子リストに移動する
DOMException - HIERARCHY_REQUEST_ERR: このノードが newChild ノード型の子を受け付けない型のノードである場合。または、追加されるノードがこのノードの祖先またはこのノード自体である場合
newChild がこのノードの作成元文書以外の文書で作成された場合
public boolean hasChildNodes()
true、持っていない場合は falsepublic Node cloneNode(boolean deep)
parentNode が null)。
Element を複製すると、その属性および属性値全部 (XML プロセッサによって生成されたものを含む) がコピーされ、省略時属性となります。ただし、Element に含まれるテキストは、深い複製を行わないかぎりコピーされません。これは、テキストが Text ノードに含まれているからです。Element の複製の一環としてではなく、Attribute を直接複製すると、指定された属性が返されます (specified は true)。その他のノード型を複製すると、このノードのコピーが返されます。
EntityReference の複製の子は読み取り専用になります。また、未指定の Attr ノードの複製が指定されます。Document、DocumentType、Entity、Notation の各ノードの複製は実装依存です。
deep - true の場合、指定されたノードのサブツリーを再帰的に複製。false の場合、指定されたノードのみを複製。指定されたノードが Element である場合は、その属性も複製
public void normalize()
Node のサブツリーの最深部までに存在するすべての Text ノード (属性ノードを含む) を、Text ノードが構造 (要素、コメント、処理命令、CDATA セクション、エンティティ参照など) のみによって分離される、「通常」形式に直します。その結果、隣接するText ノードも空の Text ノードも存在しない状態になります。この操作は、文書の DOM ビューを保存後ロードし直した状態にすることができるという点で、特定の文書ツリー構造に依存する操作 (XPointer ルックアップなど) を行う必要がある場合に便利です。文書に CDATASections が含まれる場合、この normalize 操作のみが正しく行われない可能性があります。これは、XPointer が Text ノードと CDATASection ノードを区別しないからです。
public boolean isSupported(String feature,
String version)
feature - テストする機能の名前。DOMImplementation 上の hasFeature メソッドに渡される名前と同じになるversion - テストする機能のバージョン番号。レベル 2、バージョン 1 では文字列 "2.0"。バージョンを指定しないと任意のバージョンの機能がサポートされ、メソッドの戻り値は true になる
true、それ以外の場合は falsepublic String getNamespaceURI()
null になります。
ELEMENT_NODE とATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。XML 仕様のネームスペースの規定によると、属性は、その接続先要素からネームスペースを継承しません。属性に対して明示的にネームスペースを指定しないかぎり、その属性はネームスペースを持たないことになります。
public String getPrefix()
null になります。
nodeName 属性が変更されます。この属性は、Element インタフェースと Attr インタフェースの tagName および name 属性とともに、修飾名を持っています (それが適切な場合)。
namespaceURI と localName がそのままなので、デフォルト値と元の前置修飾子を持つ新しい属性は作成されません。
ELEMENT_NODE とATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。
DOMException - INVALID_CHARACTER_ERR: 指定された前置修飾子に XML 1.0 仕様に定められている不正な文字が含まれている場合
prefix が XML 仕様のネームスペースの定義に沿ったものでない場合。このノードの namespaceURI が null の場合。指定された前置修飾子が "xml" であり、このノードの namespaceURI が "http://www.w3.org/XML/1998/namespace" 以外である場合。このノードが属性であり、指定された前置修飾子が "xmlns" であり、このノードの namespaceURI が "http://www.w3.org/2000/xmlns/" 以外である場合。このノードが属性であり、このノードの qualifiedName が "xmlns" である場合
public void setPrefix(String prefix)
throws DOMException
null になります。
nodeName 属性が変更されます。この属性は、Element インタフェースと Attr インタフェースの tagName および name 属性とともに、修飾名を持っています (それが適切な場合)。
namespaceURI と localName がそのままなので、デフォルト値と元の前置修飾子を持つ新しい属性は作成されません。
ELEMENT_NODE とATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。
DOMException - INVALID_CHARACTER_ERR: 指定された前置修飾子に XML 1.0 仕様に定められている不正な文字が含まれている場合
prefix が XML 仕様のネームスペースの定義に沿ったものでない場合。このノードの namespaceURI が null の場合。指定された前置修飾子が "xml" であり、このノードの namespaceURI が "http://www.w3.org/XML/1998/namespace" 以外である場合。このノードが属性であり、指定された前置修飾子が "xmlns" であり、このノードの namespaceURI が "http://www.w3.org/2000/xmlns/" 以外である場合。このノードが属性であり、このノードの qualifiedName が "xmlns" である場合public String getLocalName()
ELEMENT_NODE とATTRIBUTE_NODE 以外の型のノードと、Document インタフェースの createElement のように DOM レベル 1 メソッドで作成されたノードに対しては、常に null が返されます。
public boolean hasAttributes()
true、持っていない場合は false
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
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.