共通 DOM API

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

すべてのスーパーインタフェース:
Node
既知のサブインタフェースの一覧:
HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLBaseElement, HTMLBaseFontElement, HTMLBodyElement, HTMLBRElement, HTMLButtonElement, HTMLDirectoryElement, HTMLDivElement, HTMLDListElement, HTMLElement, HTMLFieldSetElement, HTMLFontElement, HTMLFormElement, HTMLFrameElement, HTMLFrameSetElement, HTMLHeadElement, HTMLHeadingElement, HTMLHRElement, HTMLHtmlElement, HTMLIFrameElement, HTMLImageElement, HTMLInputElement, HTMLIsIndexElement, HTMLLabelElement, HTMLLegendElement, HTMLLIElement, HTMLLinkElement, HTMLMapElement, HTMLMenuElement, HTMLMetaElement, HTMLModElement, HTMLObjectElement, HTMLOListElement, HTMLOptGroupElement, HTMLOptionElement, HTMLParagraphElement, HTMLParamElement, HTMLPreElement, HTMLQuoteElement, HTMLScriptElement, HTMLSelectElement, HTMLStyleElement, HTMLTableCaptionElement, HTMLTableCellElement, HTMLTableColElement, HTMLTableElement, HTMLTableRowElement, HTMLTableSectionElement, HTMLTextAreaElement, HTMLTitleElement, HTMLUListElement

public interface Element
extends Node

Element インタフェースは、HTML または XML ドキュメントの要素を表します。要素は、ドキュメントに関連付けられた属性を持っています。Element インタフェースは Node を継承しているので、一般的な Node インタフェース属性 attributes を使って要素のすべての属性セットを取得できます。Element インタフェースには複数のメソッドがあり、これらのメソッドは名前を指定して Attr オブジェクトを取得するか、名前を指定して属性値を取得します。XML では、属性値に実体参照が含まれる場合、属性値を表すかなり複雑なサブツリーを調べるために Attr オブジェクトを取得する必要があります。一方 HTML では、すべての属性が単純な文字列の値を持つ場合、属性値に直接アクセスするメソッドが便利かつ安全に使用できます。

注: DOM レベル 2 では、normalize メソッドが移動した Node インタフェースから継承されます。

「Document Object Model (DOM) Level 3 Core Specification」も参照してください。


フィールドの概要
 
インタフェース org.w3c.dom.Node から継承されたフィールド
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
メソッドの概要
 String getAttribute(String name)
          属性値を名前で取得します。
 Attr getAttributeNode(String name)
          指定された名前を持つ属性ノードを取得します。
 Attr getAttributeNodeNS(String namespaceURI, String localName)
          ローカル名と名前空間 URI を指定して Attr ノードを取得します。
 String getAttributeNS(String namespaceURI, String localName)
          ローカル名と名前空間 URI を指定して属性値を取得します。
 NodeList getElementsByTagName(String name)
          特定のタグ名を持つすべての下位クラス ElementsNodeList をドキュメント順に返します。
 NodeList getElementsByTagNameNS(String namespaceURI, String localName)
          指定されたローカル名と名前空間 URI を持つすべての ElementsNodeList をドキュメント順に返す
 TypeInfo getSchemaTypeInfo()
          この要素に関連付けられた型情報
 String getTagName()
          この要素の名前。
 boolean hasAttribute(String name)
          特定の名前がこの要素で指定されているか、またはデフォルト値を持つ場合は true、そうでない場合は false を返します。
 boolean hasAttributeNS(String namespaceURI, String localName)
          特定のローカル名と名前空間 URI を持つ属性がこの要素で指定された場合またはデフォルト値を持つ場合は true、そうでない場合は false
 void removeAttribute(String name)
          指定された名前を持つ属性を削除します。
 Attr removeAttributeNode(Attr oldAttr)
          指定された名前を持つ属性を削除します。
 void removeAttributeNS(String namespaceURI, String localName)
          指定されたローカル名と名前空間 URI を持つ属性を削除します。
 void setAttribute(String name, String value)
          新しい属性を追加します。
 Attr setAttributeNode(Attr newAttr)
          新しい属性ノードを追加します。
 Attr setAttributeNodeNS(Attr newAttr)
          新しい属性ノードを追加します。
 void setAttributeNS(String namespaceURI, String qualifiedName, String value)
          新しい属性を追加します。
 void setIdAttribute(String name, boolean isId)
          isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。
 void setIdAttributeNode(Attr idAttr, boolean isId)
          isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。
 void setIdAttributeNS(String namespaceURI, String localName, boolean isId)
          isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。
 
インタフェース org.w3c.dom.Node から継承されたメソッド
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

メソッドの詳細

getTagName

String getTagName()
この要素の名前。Node.localNamenull ではない場合、この属性は修飾名です。次に例を示します。
 <elementExample id="demo">
 ... 
 </elementExample> , 
tagName は、値「elementExample」を持ちます。これは、DOM のすべてのオペレーションと同様に XML では大文字小文字を区別します。HTML DOM は、HTML ソースドキュメントの文字形式にかかわらず、HTML 要素の tagName を標準的な大文字形式で返します。


getAttribute

String getAttribute(String name)
属性値を名前で取得します。

パラメータ:
name - 取得する属性の名前
戻り値:
属性値が特定の値またはデフォルト値を持たない場合、文字列としての Attr の値または空の文字列

setAttribute

void setAttribute(String name,
                  String value)
                  throws DOMException
新しい属性を追加します。その名前を持つ属性がすでに要素にある場合は、その値は値パラメータの値に変更されます。この値は簡単な文字列です。設定されたとおりに構文解析されません。このように、すべてのマークアップ (実体参照として認識される構文など) がリテラル文字列として扱われ、書き出されるときには実装によって適切にエスケープされる必要があります。実体参照を含む属性値を割り当てるためには、ユーザは Attr ノードに任意の TextEntityReference ノードを加え、適切なサブツリーを構築し、それを setAttributeNode を使って属性値として設定する必要があります。
修飾名と名前空間 URI を持つ属性を設定するには、setAttributeNS メソッドを使います。

パラメータ:
name - 作成または変更する属性名
value - 設定する文字列値
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された名前が、Document.xmlVersion 属性で指定された使用中の XML バージョンに従う XML 名ではない場合に発生する
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する

removeAttribute

void removeAttribute(String name)
                     throws DOMException
指定された名前を持つ属性を削除します。削除された属性のデフォルト値が DTD で定義されている場合は、そのデフォルト値と、それに対応する名前空間 URI、ローカル名、および接頭辞を含む、新しい属性が追加されます。実装はほかのスキーマのデフォルト値を同様に処理できますが、アプリケーションは Document.normalizeDocument() を使って、この情報が最新の情報であることを保証する必要があります。
この名前を持つ属性が見つからない場合、このメソッドは効果はありません。
ローカル名と名前空間 URI を指定して属性を削除するには、removeAttributeNS メソッドを使います。

パラメータ:
name - 削除する属性の名前
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合に発生する

getAttributeNode

Attr getAttributeNode(String name)
指定された名前を持つ属性ノードを取得します。
修飾名と名前空間 URI を指定して属性ノードを取得するには、getAttributeNodeNS メソッドを使います。

パラメータ:
name - 取得する属性の名前 (nodeName)
戻り値:
特定の名前 (nodeName) を持つ Attr ノード、このような属性がない場合は null

setAttributeNode

Attr setAttributeNode(Attr newAttr)
                      throws DOMException
新しい属性ノードを追加します。同じ名前 ( nodeName) の属性が要素内にすでに存在する場合、その既存の属性は新しい属性で置換されます。属性ノードをそれ自体で置換しても何も効果はありません。
修飾名と名前空間 URI を指定して新しい属性ノードを追加するには、setAttributeNodeNS メソッドを使います。

パラメータ:
newAttr - 属性リストに追加する Attr ノード
戻り値:
newAttr 属性が既存の属性を置き換える場合、置き換えられた Attr ノードが返される。そうでない場合は、null が返される
例外:
DOMException - WRONG_DOCUMENT_ERR: newAttr を作成したドキュメントがこの要素を作成したドキュメントと異なっている場合に発生する
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
INUSE_ATTRIBUTE_ERR: newAttr がすでに別の Element オブジェクトの属性として使われている場合に発生する。DOM ユーザは、目的の Attr ノードを明示的にコピーしないと、ほかの要素内でそれを再利用できない

removeAttributeNode

Attr removeAttributeNode(Attr oldAttr)
                         throws DOMException
指定された名前を持つ属性を削除します。削除された Attr ノードのデフォルト値が DTD で定義されている場合は、そのデフォルト値と、それに対応する名前空間 URI、ローカル名、および接頭辞 (適用可能な場合) を含む新しい属性が追加されます。実装はほかのスキーマのデフォルト値を同様に処理できますが、アプリケーションは Document.normalizeDocument() を使って、この情報が最新の情報であることを保証する必要があります。

パラメータ:
oldAttr - 属性リストから削除する Attr ノード
戻り値:
削除された Attr ノード
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NOT_FOUND_ERR: oldAttr がその要素の属性でない場合に発生する

getElementsByTagName

NodeList getElementsByTagName(String name)
特定のタグ名を持つすべての下位クラス ElementsNodeList をドキュメント順に返します。

パラメータ:
name - 一致させるタグ名。特殊な値 "*" はすべてのタグに一致する
戻り値:
一致する Element ノードのリスト

getAttributeNS

String getAttributeNS(String namespaceURI,
                      String localName)
                      throws DOMException
ローカル名と名前空間 URI を指定して属性値を取得します。
[XML Namespaces] に従って、名前空間を持ちたくない場合、アプリケーションではメソッドの namespaceURI パラメータに null 値を使用しなければなりません。

パラメータ:
namespaceURI - 取得する属性の名前空間 URI
localName - 取得する属性のローカル名
戻り値:
属性値が特定の値またはデフォルト値を持たない場合、文字列としての Attr の値または空の文字列
例外:
DOMException - NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する可能性がある
導入されたバージョン:
DOM Level 2

setAttributeNS

void setAttributeNS(String namespaceURI,
                    String qualifiedName,
                    String value)
                    throws DOMException
新しい属性を追加します。同じローカル名と URI 名前空間を持つ属性がすでに要素にある場合は、その接頭辞が qualifiedName の接頭辞部に変更され、その値が value パラメータに変更されます。この値は簡単な文字列です。設定されたとおりに構文解析されません。このように、すべてのマークアップ (実体参照として認識される構文など) がリテラル文字列として扱われ、書き出されるときには実装によって適切にエスケープされる必要があります。実体参照を含む属性値を割り当てるためには、ユーザは Attr ノードに任意の TextEntityReference ノードを加え、適切なサブツリーを構築し、setAttributeNodeNS または setAttributeNode を使用してそれを属性値として割り当てる必要があります。
名前空間を持ちたくない場合、アプリケーションは [XML Namespaces] に従って、メソッドの namespaceURI パラメータとして null 値を使用しなければなりません。

パラメータ:
namespaceURI - 作成または変更する属性の名前空間 URI
qualifiedName - 作成または変更する属性の修飾名
value - 設定する文字列値
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された修飾名が、Document.xmlVersion 属性で指定された使用中の XML バージョンに従う XML 名ではない場合に発生する
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NAMESPACE_ERR: qualifiedNameの形式が Namespaces in XML 仕様に準拠していない場合、qualifiedName が接頭辞を持つのに namespaceURInull の場合、qualifiedName の接頭辞が「xml」であるのに namespaceURI が 「http://www.w3.org/XML/1998/namespace」ではない場合、qualifiedName またはその接頭辞が「xmlns」であるのに namespaceURI が「http://www.w3.org/2000/xmlns/」ではない場合、namespaceURI が「http://www.w3.org/2000/xmlns/」であるのに、qualifiedName ばかりでなく接頭辞も「xmlns」でない場合に発生する
NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する可能性がある
導入されたバージョン:
DOM Level 2

removeAttributeNS

void removeAttributeNS(String namespaceURI,
                       String localName)
                       throws DOMException
指定されたローカル名と名前空間 URI を持つ属性を削除します。削除された属性のデフォルト値が DTD で定義されている場合は、そのデフォルト値と、それに対応する名前空間 URI、ローカル名、および接頭辞を含む、新しい属性が追加されます。実装はほかのスキーマのデフォルト値を同様に処理できますが、アプリケーションは Document.normalizeDocument() を使って、この情報が最新の情報であることを保証する必要があります。
このローカル名と名前空間 URI を持つ属性が見つからない場合、このメソッドは効果はありません。
名前空間を持ちたくない場合、[XML Namespaces] に従って、アプリケーションはメソッドの namespaceURI パラメータに null 値を使用する必要があります。

パラメータ:
namespaceURI - 削除する属性の名前空間 URI
localName - 削除する属性のローカル名
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する可能性がある
導入されたバージョン:
DOM Level 2

getAttributeNodeNS

Attr getAttributeNodeNS(String namespaceURI,
                        String localName)
                        throws DOMException
ローカル名と名前空間 URI を指定して Attr ノードを取得します。
名前空間を持ちたくない場合、アプリケーションは [XML Namespaces] に従って、メソッドの namespaceURI パラメータに null 値を使用しなければなりません。

パラメータ:
namespaceURI - 取得する属性の名前空間 URI
localName - 取得する属性のローカル名
戻り値:
特定の属性のローカル名と URI 名前空間を持つ Attr ノード、このような属性がない場合は null
例外:
DOMException - NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する
導入されたバージョン:
DOM Level 2

setAttributeNodeNS

Attr setAttributeNodeNS(Attr newAttr)
                        throws DOMException
新しい属性ノードを追加します。同じ名前 ( nodeName) の属性が要素内にすでに存在する場合、その既存の属性は新しい属性で置換されます。属性ノードをそれ自体で置換しても何も効果はありません。
名前空間を持ちたくない場合、アプリケーションは [XML Namespaces] に従って、メソッドの namespaceURI パラメータに null 値を使用しなければなりません。

パラメータ:
newAttr - 属性リストに追加する Attr ノード
戻り値:
newAttr 属性が同じローカル名と URI 名前空間を持つ既存の属性を置き換える場合、置き換えられた Attr ノードが返される。そうでない場合は、null が返される
例外:
DOMException - WRONG_DOCUMENT_ERR: newAttr を作成したドキュメントがこの要素を作成したドキュメントと異なっている場合に発生する
NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
INUSE_ATTRIBUTE_ERR: newAttr がすでに別の Element オブジェクトの属性として使われている場合に発生する。DOM ユーザは、目的の Attr ノードを明示的にコピーしないと、ほかの要素内でそれを再利用できない
NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する
導入されたバージョン:
DOM Level 2

getElementsByTagNameNS

NodeList getElementsByTagNameNS(String namespaceURI,
                                String localName)
                                throws DOMException
指定されたローカル名と名前空間 URI を持つすべての ElementsNodeList をドキュメント順に返す

パラメータ:
namespaceURI - 一致させる要素の URI 名前空間。特殊な値 "*" はすべての名前空間に一致する
localName - 一致させる要素のローカル名。特殊な値 "*" は、すべてのローカル名に一致する
戻り値:
一致するすべての Elements を含む新しい NodeList オブジェクト
例外:
DOMException - NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する可能性がある
導入されたバージョン:
DOM Level 2

hasAttribute

boolean hasAttribute(String name)
特定の名前がこの要素で指定されているか、またはデフォルト値を持つ場合は true、そうでない場合は false を返します。

パラメータ:
name - 検索する属性の名前
戻り値:
特定の名前がこの要素で指定されているか、あるいはデフォルト値を持つ場合は true、そうでない場合は false
導入されたバージョン:
DOM Level 2

hasAttributeNS

boolean hasAttributeNS(String namespaceURI,
                       String localName)
                       throws DOMException
特定のローカル名と名前空間 URI を持つ属性がこの要素で指定された場合またはデフォルト値を持つ場合は true、そうでない場合は false
名前空間を持ちたくない場合、アプリケーションは [XML Namespaces] に従って、メソッドの namespaceURI パラメータに null 値を使用しなければなりません。

パラメータ:
namespaceURI - 検索する属性の名前空間 URI
localName - 検索する属性のローカル名
戻り値:
特定のローカル名または URI 名前空間がこの要素で指定されているか、あるいはデフォルト値を持つ場合は true、そうでない場合は false
例外:
DOMException - NOT_SUPPORTED_ERR: 実装が「XML」機能をサポートしていない場合、および Document を通じて公開された言語が XML 名前空間 ([HTML 4.01] など) をサポートしていない場合に発生する可能性がある
導入されたバージョン:
DOM Level 2

getSchemaTypeInfo

TypeInfo getSchemaTypeInfo()
この要素に関連付けられた型情報

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

setIdAttribute

void setIdAttribute(String name,
                    boolean isId)
                    throws DOMException
isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。この宣言は、Attr.isId の値と Document.getElementById の動作に影響を与えますが、使用されているスキーマを変更しません。特に、この宣言は指定された Attr ノードの Attr.schemaTypeInfo に影響を与えません。isId パラメータに false 値を使用して、属性がユーザ決定 ID 属性であるという宣言を解除します。
ローカル名と名前空間を使用して属性を指定するには、setIdAttributeNS メソッドを使います。

パラメータ:
name - この属性の名前
isId - 属性が ID 型の属性であるかどうか
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NOT_FOUND_ERR: 指定されたノードがこの要素の属性でない場合に発生する
導入されたバージョン:
DOM Level 3

setIdAttributeNS

void setIdAttributeNS(String namespaceURI,
                      String localName,
                      boolean isId)
                      throws DOMException
isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。この宣言は、Attr.isId の値と Document.getElementById の動作に影響を与えますが、使用されているスキーマを変更しません。特に、この宣言は指定された Attr ノードの Attr.schemaTypeInfo に影響を与えません。isId パラメータに false 値を使用して、属性がユーザ決定 ID 属性であることの宣言を解除します。

パラメータ:
namespaceURI - 属性の名前空間 URI
localName - 属性のローカル名
isId - 属性が ID 型の属性であるかどうか
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NOT_FOUND_ERR: 指定されたノードがこの要素の属性でない場合に発生する
導入されたバージョン:
DOM Level 3

setIdAttributeNode

void setIdAttributeNode(Attr idAttr,
                        boolean isId)
                        throws DOMException
isId パラメータが true の場合、このメソッドは指定された属性をユーザ決定 ID として宣言します。この宣言は、Attr.isId の値と Document.getElementById の動作に影響を与えますが、使用されているスキーマを変更しません。特に、この宣言は指定された Attr ノードの Attr.schemaTypeInfo に影響を与えません。isId パラメータに false 値を使用して、属性がユーザ決定 ID 属性であるという宣言を解除します。

パラメータ:
idAttr - 属性ノード
isId - 属性が ID 型の属性であるかどうか
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: このノードが読み取り専用の場合に発生する
NOT_FOUND_ERR: 指定されたノードがこの要素の属性でない場合に発生する
導入されたバージョン:
DOM Level 3

共通 DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.