|
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
、持っていない場合は false
public 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
、それ以外の場合は false
public 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.