|
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、そうでない場合は falsepublic 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、そうでない場合は falsepublic 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 | ||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||