public interface Node
Node
インタフェースはDocument Object Model全体の主要なデータ型です。これはドキュメント・ツリーの単一のノードを表します。Node
インタフェースを実装するすべてのオブジェクトが子を処理するためのメソッドを公開していますが、Node
インタフェースを実装するすべてのオブジェクトが子を持てるわけではありません。たとえば、Text
ノードは子を持つことができないため、このようなノードに子を追加するとDOMException
が発生します。
nodeName
、nodeValue
、attributes
の各属性は、特定の派生インタフェースにとらわれずにノード情報を取得するメカニズムとして含まれています。これらの属性の特定のnodeType
への明確なマッピング(たとえば、Element
へのnodeValue
やComment
へのattributes
)が存在しない場合はnull
を返します。各種専用インタフェースは、これ以外にも、関連情報を取得および設定する便利なメカニズムを多数備えています。
nodeName
、nodeValue
、およびattributes
の値は、次のようにノード型によって異なります。
インタフェース | nodeName | nodeValue | attributes |
---|---|---|---|
Attr |
Attr.name と同じ |
Attr.value と同じ |
null |
CDATASection |
"#cdata-section" |
CharacterData.data (CDATAセクションの内容)と同じ |
null |
Comment |
"#comment" |
CharacterData.data (コメントの内容)と同じ |
null |
Document |
"#document" |
null |
null |
DocumentFragment |
"#document-fragment" |
null |
null |
DocumentType |
DocumentType.name と同じ |
null |
null |
Element |
Element.tagName と同じ |
null |
NamedNodeMap |
Entity |
エンティティ名 | null |
null |
EntityReference |
参照されるエンティティの名前 |
null |
null |
Notation |
表記法名 |
null |
null |
ProcessingInstruction |
ProcessingInstruction.target と同じ |
ProcessingInstruction.data と同じ |
null |
Text |
"#text" |
CharacterData.data (テキスト・ノードの内容)と同じ |
null |
「Document Object Model (DOM) Level 3 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_POSITION_CONTAINED_BY
ノードは参照ノードに含まれています。
|
static short |
DOCUMENT_POSITION_CONTAINS
ノードは参照ノードを含みます。
|
static short |
DOCUMENT_POSITION_DISCONNECTED
2つのノードは切断されます。
|
static short |
DOCUMENT_POSITION_FOLLOWING
ノードは参照ノードのあとに続きます。
|
static short |
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
先行するかあとにくるかは実装に固有です。
|
static short |
DOCUMENT_POSITION_PRECEDING
2番目のノードは参照ノードの前にあります。
|
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)
ノードのジェネリック・コピー・コンストラクタとして、このノードの複製を返します。
|
short |
compareDocumentPosition(Node other)
参照ノードを比較します。
|
NamedNodeMap |
getAttributes()
このノードが
Element の場合、このノードの属性を含むNamedNodeMap 。それ以外の場合はnull 。 |
String |
getBaseURI()
このノードの絶対ベースURI。実装が絶対URIを取得できなかった場合は
null 。 |
NodeList |
getChildNodes()
このノードの子をすべて含む
NodeList 。 |
Object |
getFeature(String feature, String version)
このメソッドは、指定した機能とバージョンを持つ特殊な形式のAPIを指定されたとおりに実装する特殊な形式のオブジェクトを返します。
|
Node |
getFirstChild()
このノードの最初の子ノードです。
|
Node |
getLastChild()
このノードの最後の子ノードです。
|
String |
getLocalName()
このノードの修飾名のローカル部分を返します。
|
String |
getNamespaceURI()
このノードの名前空間URI。未指定の場合は
null 。 |
Node |
getNextSibling()
このノードの直後のノードです。
|
String |
getNodeName()
このノードの名前です。この名前は型によって異なります。上記の表を参照してください。
|
short |
getNodeType()
オブジェクトの型を表すコードです。上記の定義を参照してください。
|
String |
getNodeValue()
このノードの値です。この値は型によって異なります。前述の表を参照してください。
|
Document |
getOwnerDocument()
このノードに関連付けられた
Document オブジェクト。 |
Node |
getParentNode()
このノードの親ノードです。
|
String |
getPrefix()
このノードの名前空間接頭辞です。未指定の場合は
null になります。 |
Node |
getPreviousSibling()
このノードの直前のノードです。
|
String |
getTextContent()
この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。
|
Object |
getUserData(String key)
このノードのキーに関連付けられたオブジェクトを取得します。
|
boolean |
hasAttributes()
このノードが要素である場合、属性を持っているかどうかを判断します。
|
boolean |
hasChildNodes()
このノードが子ノードを持っているかどうかを判断します。
|
Node |
insertBefore(Node newChild, Node refChild)
既存の
refChild 子ノードの前にnewChild ノードを挿入します。 |
boolean |
isDefaultNamespace(String namespaceURI)
このメソッドは、指定された
namespaceURI がデフォルトの名前空間であるかどうかをチェックします。 |
boolean |
isEqualNode(Node arg)
2つのノードが等しいかどうかをテストします。
|
boolean |
isSameNode(Node other)
このノードが指定されたノードと同じノードであるかどうかを返します。
|
boolean |
isSupported(String feature, String version)
DOM実装が特定の機能を実装しており、このノードがその機能を指定されたとおりにサポートしているかどうかを判定します。
|
String |
lookupNamespaceURI(String prefix)
指定したノードから開始して、所定の接頭辞に関連する名前空間URIを検索します。
|
String |
lookupPrefix(String namespaceURI)
指定されたノードから開始して、所定の名前空間URIに関連する接頭辞を検索します。
|
void |
normalize()
この
Node のサブツリーの最深部までに存在するすべてのText ノード(属性ノードを含む)を、Text ノードが構造(要素、コメント、処理命令、CDATAセクション、エンティティ参照など)のみによって分離される、「正規」形式にします。その結果、隣接する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 になります。 |
void |
setTextContent(String textContent)
この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。
|
Object |
setUserData(String key, Object data, UserDataHandler handler)
このノードのキーにオブジェクトを関連付けます。
|
static final short ELEMENT_NODE
Element
です。static final short ATTRIBUTE_NODE
Attr
です。static final short TEXT_NODE
Text
ノードです。static final short CDATA_SECTION_NODE
CDATASection
です。static final short ENTITY_REFERENCE_NODE
EntityReference
です。static final short ENTITY_NODE
Entity
です。static final short PROCESSING_INSTRUCTION_NODE
ProcessingInstruction
です。static final short COMMENT_NODE
Comment
です。static final short DOCUMENT_NODE
Document
です。static final short DOCUMENT_TYPE_NODE
DocumentType
です。static final short DOCUMENT_FRAGMENT_NODE
DocumentFragment
です。static final short NOTATION_NODE
Notation
です。static final short DOCUMENT_POSITION_DISCONNECTED
static final short DOCUMENT_POSITION_PRECEDING
static final short DOCUMENT_POSITION_FOLLOWING
static final short DOCUMENT_POSITION_CONTAINS
static final short DOCUMENT_POSITION_CONTAINED_BY
static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
String getNodeName()
String getNodeValue() throws DOMException
null
と定義されている場合、ノードが読取り専用である場合を含めて、設定は何も影響を与えません。DOMException
- DOMSTRING_SIZE_ERR: 実装プラットフォームのDOMString
変数に収まらない多数の文字を返す場合に発生します。void setNodeValue(String nodeValue) throws DOMException
null
と定義されている場合、ノードが読取り専用である場合を含めて、設定は何も影響を与えません。DOMException
- NO_MODIFICATION_ALLOWED_ERR: ノードが読取り専用の場合、およびnull
であると定義されていない場合に発生します。short getNodeType()
Node getParentNode()
Attr
、Document
、DocumentFragment
、Entity
、およびNotation
を除くすべてのノードは、親ノードを持つ可能性があります。ただし、ノードが作成されたばかりでまだツリーに追加されていない場合や、ツリーから削除された場合はnull
になります。NodeList getChildNodes()
NodeList
。子が存在しない場合は、ノードが含まれていないNodeList
になります。Node getFirstChild()
null
が返されます。Node getLastChild()
null
が返されます。Node getPreviousSibling()
null
が返されます。Node getNextSibling()
null
が返されます。NamedNodeMap getAttributes()
Element
の場合、このノードの属性を含むNamedNodeMap
。それ以外の場合はnull
。Document getOwnerDocument()
Document
オブジェクト。これはまた、新しいノードを作成するために使用されるDocument
オブジェクトでもあります。このノードが、まだどのDocument
でも使用されていないDocument
またはDocumentType
である場合は、null
になります。Node insertBefore(Node newChild, Node refChild) throws DOMException
refChild
子ノードの前にnewChild
ノードを挿入します。refChild
がnull
の場合は、子のリストの最後にnewChild
を挿入します。newChild
がDocumentFragment
オブジェクトである場合は、そのすべての子が同じ順序でrefChild
の前に挿入されます。newChild
がツリー内にすでに存在する場合、最初に既存のものが削除されます。
注: ノードのそのノード自体の前の挿入は実装に依存します。
newChild
- 挿入するノード。refChild
- 参照ノード、新しいノードはこのノードの直前に挿入される。DOMException
- HIERARCHY_REQUEST_ERR: このノードがnewChild
ノードの型の子を許可しない型のノードである場合、挿入するノードがこのノードの先祖のいずれかまたはこのノード自体である場合、またはこのノードがDocument
型であり、かつDOMアプリケーションが2番目のDocumentType
またはElement
ノードを挿入しようとした場合に発生します。newChild
がこのノードを作成した文書とは異なる文書から作成された場合に発生します。refChild
がこのノードの子でない場合に発生します。Document
型の場合、この例外は、DOM実装がDocumentType
またはElement
ノードの挿入をサポートしていない場合に発生する可能性があります。Node replaceChild(Node newChild, Node oldChild) throws DOMException
oldChild
をnewChild
で置き換え、oldChild
ノードを返します。newChild
がDocumentFragment
オブジェクトである場合、oldChild
はDocumentFragment
のすべての子に置き換えられます。これらの子は、同じ順序で挿入されます。newChild
がツリー内にすでに存在する場合、最初に既存のものが削除されます。
注: ノードのそのノード自体への置換えは実装に依存します。
newChild
- 子リストに挿入する新しいノード。oldChild
- リスト内の置き換えられるノード。DOMException
- HIERARCHY_REQUEST_ERR: このノードがnewChild
ノードの型の子を許可しない型のノードである場合、挿入するノードがこのノードの先祖のいずれかまたはこのノード自体である場合、またはこのノードがDocument
型であり、かつ置換操作の結果としてDocument
ノードに2番目のDocumentType
またはElement
が追加される場合に発生します。newChild
がこのノードを作成した文書とは異なる文書から作成された場合に発生します。oldChild
がこのノードの子でない場合に発生します。Document
型である場合、この例外は、DOM実装がDocumentType
の子またはElement
の子の置換をサポートしていない場合に発生する可能性があります。Node removeChild(Node oldChild) throws DOMException
oldChild
で示される子ノードを削除し、この子ノードを返します。oldChild
- 削除されるノード。DOMException
- NO_MODIFICATION_ALLOWED_ERR: このノードが読取り専用の場合に発生します。oldChild
がこのノードの子でない場合に発生します。Document
型である場合、この例外は、DOM実装がDocumentType
の子またはElement
の子の削除をサポートしていない場合に発生する可能性があります。Node appendChild(Node newChild) throws DOMException
newChild
をこのノードの子のリストの末尾に追加します。newChild
がツリー内にすでに存在する場合、最初に既存のものが削除されます。newChild
- 追加するノード。これがDocumentFragment
オブジェクトである場合は、文書フラグメントのコンテンツ全体がこのノードの子リストに移動されるDOMException
- HIERARCHY_REQUEST_ERR: このノードがnewChild
ノードの型の子を許可しない型のノードである場合、追加するノードがこのノードの先祖のいずれかまたはこのノード自体である場合、またはこのノードがDocument
型であり、かつDOMアプリケーションが2番目のDocumentType
またはElement
ノードを追加しようとした場合に発生します。newChild
がこのノードを作成した文書とは異なる文書から作成された場合に発生します。newChild
ノードがDocument
ノードの子である場合、この例外は、DOM実装がDocumentType
の子またはElement
の子の削除をサポートしていない場合に発生する可能性があります。boolean hasChildNodes()
true
を、それ以外の場合はfalse
を返す。Node cloneNode(boolean deep)
parentNode
はnull
)、ユーザー・データもありません。インポートされているノードに関連するユーザー・データは持ち越されません。ただし、関連するデータとともにUserDataHandlers
が指定された場合は、このメソッドから戻る前に、それらのハンドラが該当するパラメータで呼び出されます。Element
を複製すると、デフォルトの属性を表すためにすべての属性とその値(XMLプロセッサによって生成されたものを含む)がコピーされますが、これが深い複製でないかぎり、このメソッドではそこに含まれている子はコピーされません。テキストは子のText
ノードに含まれているため、これにはElement
に含まれているテキストが含まれます。Element
の複製操作の一部として複製するのではなく、直接Attr
を複製すると、指定された属性が返されます(specified
はtrue
)。Attr
を複製すると、常にその子が複製されます。それは、これが深い複製かどうかにかかわらず、それらの子がその値を表すためです。EntityReference
を複製すると、これが深い複製かどうかにかかわらず、対応するEntity
が使用可能な場合はそのサブツリーが自動的に構築されます。別の型のノードを複製すると、このノードのコピーが返されます。EntityReference
の複製の子は読取り専用になります。さらに、未指定のAttr
ノードの複製が指定されます。また、Document
、DocumentType
、Entity
およびNotation
ノードの複製は実装に依存します。deep
- true
の場合は指定されたノードの下のサブツリーを再帰的に複製し、false
の場合は指定されたノードのみを(これがElement
である場合はその属性も)複製する。void normalize()
Node
のサブツリーの最深部までに存在するすべてのText
ノード(属性ノードを含む)を、Text
ノードが構造(要素、コメント、処理命令、CDATAセクション、エンティティ参照など)のみによって分離される、「正規」形式にします。その結果、隣接するText
ノードも空のText
ノードも存在しない状態になります。これは、文書のDOMビューを保存後ロードしなおした状態にすることができるという点で、特定の文書ツリー構造に依存する操作(XPointer「XPointer」ルックアップなどの)を使用する必要がある場合に便利です。Node.ownerDocument
に接続されたDOMConfiguration
オブジェクトの「normalize-characters」パラメータがtrue
の場合、このメソッドは、Text
ノードの文字の完全な正規化も行います。
注: 文書にCDATASections
が含まれている場合は、XPointersがText
ノードとCDATASection
ノードを区別しないため、正規化操作だけでは十分でない可能性があります。
boolean isSupported(String feature, String version)
feature
- テストする機能の名前。version
- テストする機能のバージョン番号。true
を、それ以外の場合はfalse
を返す。String getNamespaceURI()
null
。ELEMENT_NODE
およびATTRIBUTE_NODE
以外の型のノードと、Document.createElement()
などのDOMレベル1メソッドで作成されたノードに対しては、常にnull
が返されます。
注: 「Namespaces in XML」仕様の「XML名前空間」に従い、属性は、接続先の要素からその名前空間を継承しません。属性に対して明示的に名前空間を指定しないかぎり、その属性は名前空間を持たないことになります。
String getPrefix()
null
になります。null
と定義されている場合、ノードが読取り専用である場合を含めて、設定は何も影響を与えません。nodeName
属性が変更されます。この属性は、Element
インタフェースとAttr
インタフェースのtagName
およびname
属性とともに、修飾名を保持しています(それが適切な場合)。null
に設定すると、接頭辞は指定されません。また、空の文字列に設定することは実装依存です。namespaceURI
とlocalName
がそのままなので、そのデフォルト値と元の接頭辞を持つ新しい属性は作成されません。ELEMENT_NODE
とATTRIBUTE_NODE
以外の型のノードと、Document
インタフェースのcreateElement
のようにDOMレベル1メソッドで作成されたノードに対しては、常にnull
が返されます。void setPrefix(String prefix) throws DOMException
null
になります。null
と定義されている場合、ノードが読取り専用である場合を含めて、設定は何も影響を与えません。nodeName
属性が変更されます。この属性は、Element
インタフェースとAttr
インタフェースのtagName
およびname
属性とともに、修飾名を保持しています(それが適切な場合)。null
に設定すると、接頭辞は指定されません。また、空の文字列に設定することは実装依存です。namespaceURI
とlocalName
がそのままなので、そのデフォルト値と元の接頭辞を持つ新しい属性は作成されません。ELEMENT_NODE
とATTRIBUTE_NODE
以外の型のノードと、Document
インタフェースのcreateElement
のようにDOMレベル1メソッドで作成されたノードに対しては、常にnull
が返されます。DOMException
- INVALID_CHARACTER_ERR: 指定された接頭辞に、Document.xmlVersion
属性で指定された使用中のXMLバージョンで定められている不正な文字が含まれている場合に発生します。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」の「XML名前空間」である場合に発生します。String getLocalName()
ELEMENT_NODE
およびATTRIBUTE_NODE
以外の型のノードと、Document.createElement()
などのDOMレベル1メソッドで作成されたノードに対しては、常にnull
が返されます。boolean hasAttributes()
true
を、それ以外の場合はfalse
を返す。String getBaseURI()
null
。この値は、説明に従って計算されます。ただし、Document
が「HTML」機能の「DOM Level 2 HTML」をサポートしている場合、ベースURIはまず、HTML BASE要素のhref属性の値が存在する場合はその値を、それ以外の場合はDocument
インタフェースのdocumentURI
属性の値を使用して計算されます。short compareDocumentPosition(Node other) throws DOMException
other
- 参照ノードと比較するノード。DOMException
- NOT_SUPPORTED_ERR: 比較されたノードが、一貫した実装固有の結果を返すようになっていない、異なるDOM実装からのものである場合に発生する。String getTextContent() throws DOMException
null
に定義した場合、設定による影響はありません。設定時には、このノードが持つことができると考えられる子はすべて削除され、新しい文字列が空またはnull
でない場合、この属性が設定されている文字列を含む単一のText
ノードに置き換えられます。Text.isElementContentWhitespace
属性を参照)。同様に、設定では、解析も行われません。入力文字列は純粋なテキスト形式のコンテンツとして取得されます。ノード型 | コンテンツ |
---|---|
ELEMENT_NODE、ATTRIBUTE_NODE、ENTITY_NODE、ENTITY_REFERENCE_NODE、DOCUMENT_FRAGMENT_NODE | COMMENT_NODEノードとPROCESSING_INSTRUCTION_NODEノードを除く、すべての子ノードのtextContent 属性値の連結。ノードが子を持たない場合は、空の文字列。 |
TEXT_NODE、CDATA_SECTION_NODE、COMMENT_NODE、PROCESSING_INSTRUCTION_NODE | nodeValue |
DOCUMENT_NODE、DOCUMENT_TYPE_NODE、NOTATION_NODE | null |
DOMException
- DOMSTRING_SIZE_ERR: 実装プラットフォームのDOMString
変数に収まらない多数の文字を返す場合に発生します。void setTextContent(String textContent) throws DOMException
null
に定義した場合、設定による影響はありません。設定時には、このノードが持つことができると考えられる子はすべて削除され、新しい文字列が空またはnull
でない場合、この属性が設定されている文字列を含む単一のText
ノードに置き換えられます。Text.isElementContentWhitespace
属性を参照)。同様に、設定では、解析も行われません。入力文字列は純粋なテキスト形式のコンテンツとして取得されます。ノード型 | コンテンツ |
---|---|
ELEMENT_NODE、ATTRIBUTE_NODE、ENTITY_NODE、ENTITY_REFERENCE_NODE、DOCUMENT_FRAGMENT_NODE | COMMENT_NODEノードとPROCESSING_INSTRUCTION_NODEノードを除く、すべての子ノードのtextContent 属性値の連結。ノードが子を持たない場合は、空の文字列。 |
TEXT_NODE、CDATA_SECTION_NODE、COMMENT_NODE、PROCESSING_INSTRUCTION_NODE | nodeValue |
DOCUMENT_NODE、DOCUMENT_TYPE_NODE、NOTATION_NODE | null |
DOMException
- NO_MODIFICATION_ALLOWED_ERR: ノードが読取り専用の場合に発生します。boolean isSameNode(Node other)
Node
参照が同じオブジェクトを参照しているかどうかを判定するための方法を提供します。2つのNode
参照が同じオブジェクトへの参照であるときは(プロキシ経由の場合であっても)、すべての属性が同じ値を持ち、同じDOMメソッドをどちらの参照で呼び出しても常に正確に同じ効果が得られるように、これらの参照を完全に区別なく使用できます。other
- テスト対象のノード。true
を、それ以外の場合はfalse
を返す。String lookupPrefix(String namespaceURI)
namespaceURI
- 検索する名前空間URI。null
を返す。複数の接頭辞が名前空間接頭辞に関連付けられている場合、返される名前空間接頭辞は実装に応じて異なる。boolean isDefaultNamespace(String namespaceURI)
namespaceURI
がデフォルトの名前空間であるかどうかをチェックします。namespaceURI
- 検索する名前空間URI。namespaceURI
がデフォルトの名前空間である場合はtrue
を、それ以外の場合はfalse
を返す。String lookupNamespaceURI(String prefix)
prefix
- 検索する接頭辞。このパラメータがnull
の場合、このメソッドはデフォルトの名前空間URI (存在する場合)を返す。null
を返す。boolean isEqualNode(Node arg)
Node.isSameNode()
でテストできる同一性(つまり、2つのノードが同じオブジェクトへの参照であるかどうか)ではなく、ノードの同等性をテストします。同じであるすべてのノードは同等でもありますが、その逆は必ずしも当てはまりません。nodeName
、localName
、namespaceURI
、prefix
、nodeValue
が等しい。つまり、両方ともnull
であるか、または同じ長さを持ち、かつ文字と文字を比較したときに同一である。
attributes
NamedNodeMaps
が等しい。つまり、両方ともnull
であるか、または同じ長さを持ち、1つのマップに存在する各ノードに対してほかのマップに存在するノードがあり、等しいが、必ずしも同じインデックスにはない。
childNodes
NodeLists
が等しい。つまり、両方ともnull
であるか、または同じ長さを持ち、同じインデックスに等しいノードを持つ。正規化は、同等性に影響を及ぼす可能性がある。この影響を避けるには、ノードを正規化してから比較を行う必要がある。
DocumentType
ノードが同等であるには、次の条件も満たされている必要があります。
publicId
、systemId
、internalSubset
が等しい。
entities
NamedNodeMaps
が等しい。
notations
NamedNodeMaps
が等しい。
ownerDocument
、baseURI
、parentNode
の各属性、Attr
ノードのspecified
属性、Attr
ノードとElement
ノードのschemaTypeInfo
属性、Text
ノードのText.isElementContentWhitespace
属性、およびノードに登録されているすべてのユーザー・データまたはイベント・リスナー。
注: 一般に、上の説明で挙げられていないものはどれも、同等性チェックの面で有意ではありません。この仕様の将来バージョンでは、より多くの属性を考慮し、この仕様に準拠する実装を適宜更新する予定です。
arg
- 同等性を比較する対象のノード。true
を、それ以外の場合はfalse
を返す。Object getFeature(String feature, String version)
Node
インタフェースをサポートしない特殊な形式のオブジェクトを利用できます。feature
- 要求された機能の名前。機能名の前に追加されるプラス記号「+」は、このメソッドのコンテキストでは有意ではないので無視される。version
- テストする機能のバージョン番号。null
を返します。このメソッドによって返されたDOMObject
がNode
インタフェースを実装する場合は、主要コアNode
に委譲し、attributesやchildNodesなどの主要コアNode
と整合性のない結果を返さないようにする必要がある。Object setUserData(String key, Object data, UserDataHandler handler)
getUserData
を呼び出すことによってこのノードから取得できます。key
- オブジェクトを関連付けるキー。data
- 指定されたキーに関連付けるオブジェクト。そのキーへの既存の関連付けをすべて削除する場合はnull
。handler
- そのキーに関連付けるハンドラ、またはnull
。DOMUserData
を返す。何も関連付けられていなかった場合はnull
。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.