|
Common DOM API | ||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Node
インタフェースは Document Object Model 全体の主要なデータ型です。これはドキュメントツリーの単一のノードを表します。Node
インタフェースを実装するすべてのオブジェクトは子を扱うメソッドを公開しますが、Node
インタフェースを実装するすべてのオブジェクトが、子を持つわけではありません。たとえば、Text
ノードは子を持ちませんが、このノードに子を追加すると DOMException
が発行されます。
属性 nodeName
、nodeValue
、attributes
は、特定の派生インタフェースに投げ出すことなく、ノード情報を取得する機構として含まれます。特定の nodeType
(たとえば、Element
の nodeValue
、または Comment
の attributes
など) に対して、これらの属性の明確なマッピングがない場合は、これは null
を返します。専門化されたインタフェースには、関連する情報を取得して設定するための、より詳細でより便利な機構があります。
nodeName
、nodeValue
、および attributes
の値は、以下のようにノード型に応じて異なります。
インタフェース | nodeName | nodeValue | attributes |
---|---|---|---|
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 、そうでない場合は null 。 |
NodeList |
getChildNodes()
このノードのすべての子を含む NodeList 。 |
Node |
getFirstChild()
このノードの最初の子。 |
Node |
getLastChild()
このノードの最後の子。 |
String |
getLocalName()
このノードの修飾名からローカル名を抽出して返します。 |
String |
getNamespaceURI()
このノードに名前空間 URI が指定されている場合はその URI、そうでない場合は null を返します。 |
Node |
getNextSibling()
このノードの直後のノード。 |
String |
getNodeName()
このノードの名前はその型によって決まります。 |
short |
getNodeType()
基盤となるオブジェクトの型を表すコードです (上記の定義を参照)。 |
String |
getNodeValue()
このノードの値はその型によって決まります。 |
Document |
getOwnerDocument()
このノードに関連付けられた Document 。 |
Node |
getParentNode()
このノードの親。 |
String |
getPrefix()
このノードの名前空間接頭辞が指定されている場合はその接頭辞、そうでない場合は null 。 |
Node |
getPreviousSibling()
このノードの直前のノード。 |
boolean |
hasAttributes()
このノード (要素の場合) が属性を持っているかどうかを返します。 |
boolean |
hasChildNodes()
このノードが子を持っているかどうかを返します。 |
Node |
insertBefore(Node newChild,
Node refChild)
ノード newChild を既存の子ノード refChild の直前に挿入します。 |
boolean |
isSupported(String feature,
String version)
DOM 実装が指定された機能を実装しているか、またその機能がこのノードによりサポートされているかどうかをテストします。 |
void |
normalize()
属性ノードを含む Node の下にあるサブツリーの最も深い所にあるすべての Text ノードを、構造 (たとえば、要素、コメント、処理命令、CDATA セクション、エンティティ参照など) だけが Text ノードを分離する「標準」形式 (つまり,隣接する Text ノードも空の Text ノードもない形式) に変更します。 |
Node |
removeChild(Node oldChild)
子リストから oldChild で指定された子ノードを削除し、それを返します。 |
Node |
replaceChild(Node newChild,
Node oldChild)
子リスト内の子ノード oldChild を newChild で置き換え、oldChild ノードを返します。 |
void |
setNodeValue(String nodeValue)
このノードの値はその型によって決まります。 |
void |
setPrefix(String prefix)
このノードの名前空間接頭辞が指定されている場合はその接頭辞、そうでない場合は null 。 |
フィールドの詳細 |
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
newChild
を既存の子ノード refChild
の直前に挿入します。refChild
が null
の場合、子ノードのリストの末尾に newChild
を挿入します。newChild
が DocumentFragment
オブジェクトの場合、その子ノードのすべてを元の順番どおりに、refChild
の直前に挿入します。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 プロセッサによって自動生成されたデフォルトの属性も含め、すべての属性とその値がいっしょにコピーされますが、その要素に含まれているテキストがコピーされるのは、deep パラメータが指定された場合だけです。というのも、要素のテキストは子である Text
ノード内に格納されるからです。Attribute
のコピーを、Element
のコピー処理の一環としてではなく個別に行う場合、指定属性が返されます。つまり、specified
に true
が設定されます。その他のノード型をコピーする場合、このノードの単純コピーが返されます。EntityReference
の子は読み取り専用になりますので注意してください。さらに、指定 Attr
ノードのコピーはやはり指定属性になります。そのほか、Document
、DocumentType
、Entity
、および Notation
の各ノードのコピーは実装に依存します。
deep
- true
の場合、指定されたノードにあるサブツリーを再帰的にコピーする。false
の場合、ノード自身 (および Element
の場合はその属性) だけをコピーする
public void normalize()
Node
の下にあるサブツリーの最も深い所にあるすべての Text
ノードを、構造 (たとえば、要素、コメント、処理命令、CDATA セクション、エンティティ参照など) だけが Text
ノードを分離する「標準」形式 (つまり,隣接する Text
ノードも空の Text
ノードもない形式) に変更します。これは、ドキュメントの DOM 表示が、あたかも保存されて再ロードされたときと同じようにするために使用されます。また、特殊なドキュメントツリー構造に依存するオペレーション (XPointer 検索など) を行うときに役立ちます。 ドキュメントが CDATASections
を含む場合には、Xpointer は Text
ノードと CDATASection
ノードを区別しないので、標準のオペレーションだけでは不十分です。
public boolean isSupported(String feature, String version)
feature
- テストする機能の名前。この名前は、DOMImplementation
の hasFeature
メソッドに指定する名前と同じであるversion
- テストする機能のバージョン番号。Level 2、バージョン 1 では文字列「2.0」である。バージョンが指定されなかった場合、指定された機能の少なくとも 1 つのバージョンがサポートされていれば、このメソッドの戻り値は true
になる
true
、そうでない場合は false
public String getNamespaceURI()
null
を返します。ELEMENT_NODE
と ATTRIBUTE_NODE
以外の型を持つノード、および Document
インタフェースの createElement
などのような DOM Level 1 のメソッドを使って作成されたノードでは、戻り値は常に null
になります。Namespaces in XML 仕様によれば、属性は所属する要素の名前空間を継承しません。よって、名前空間が明示的に指定されない限り、属性が名前空間を持つことはありません。
public String getPrefix()
null
。nodeName
属性も同時に変更されます。また、ノードが Element
や Attr
の場合は、tagName
属性や name
属性も変更されます。namespaceURI
と localName
は変わらないため、デフォルト値と元の接頭辞を持つ新しい属性が生成されることはありません。ELEMENT_NODE
と ATTRIBUTE_NODE
以外の型を持つノード、および Document
インタフェースの createElement
などのような DOM Level 1 のメソッドを使って作成されたノードでは、戻り値は常に null
になります。
DOMException
- INVALID_CHARACTER_ERR: 指定された接頭辞に XML 1.0 仕様に準拠しない不正な文字が含まれている場合に発行されるprefix
の形式が Namespaces in 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 Level 1 のメソッドを使って作成されたノードでは、戻り値は常に null
になります。
DOMException
- INVALID_CHARACTER_ERR: 指定された接頭辞に XML 1.0 仕様に準拠しない不正な文字が含まれている場合に発行されるprefix
の形式が Namespaces in 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 Level 1 のメソッドを使って作成されたノードでは、戻り値は常に null
になります。
public boolean hasAttributes()
true
、そうでない場合は false
|
Common DOM API | ||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |