JavaTM 2 Platform
Standard Ed. 5.0

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

すべてのスーパーインタフェース:
Node

public interface Document
extends Node

Document インタフェースは、HTML 文書または XML 文書全体を表します。概念上は文書ツリーのルートであり、文書データに最初にアクセスする手段を提供します。

要素、テキストノード、コメント、処理命令などのオブジェクトは、Document のコンテキスト外では存在し得ません。このため、Document インタフェースには、これらのオブジェクトを作成するために必要なファクトリメソッドが含まれています。作成された Node オブジェクトは、その作成コンテキスト内で自身と Document を関連付ける ownerDocument 属性を持っています。

「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
 
メソッドの概要
 Node adoptNode(Node source)
          ほかの文書のノードを現在の文書にインポートします。
 Attr createAttribute(String name)
          所定の名前の Attr を作成します。
 Attr createAttributeNS(String namespaceURI, String qualifiedName)
          所定の修飾名と名前空間 URI の属性を作成します。
 CDATASection createCDATASection(String data)
          指定された文字列を値として持つ CDATASection ノードを作成します。
 Comment createComment(String data)
          指定された文字列を持つ Comment ノードを作成します。
 DocumentFragment createDocumentFragment()
          空の DocumentFragment オブジェクトを生成します。
 Element createElement(String tagName)
          指定された型の要素を作成します。
 Element createElementNS(String namespaceURI, String qualifiedName)
          所定の修飾名と名前空間 URI の要素を作成します。
 EntityReference createEntityReference(String name)
          EntityReference オブジェクトを作成します。
 ProcessingInstruction createProcessingInstruction(String target, String data)
          指定された名前およびデータの文字列を持つ ProcessingInstruction ノードを作成します。
 Text createTextNode(String data)
          指定された文字列を持つ Text ノードを作成します。
 DocumentType getDoctype()
          このドキュメントに関連付けられている文書型宣言 (DocumentType を参照)。
 Element getDocumentElement()
          文書の文書要素になっている子ノードへの直接アクセスを可能にする便利な属性です。
 String getDocumentURI()
          文書の場所。
 DOMConfiguration getDomConfig()
          Document.normalizeDocument() が呼び出されたときに使用される設定。
 Element getElementById(String elementId)
          所定の値の ID 属性を持つ Element を返します。
 NodeList getElementsByTagName(String tagname)
          所定のタグ名とともに、文書に含まれるすべての ElementsNodeList を文書順に返します。
 NodeList getElementsByTagNameNS(String namespaceURI, String localName)
          所定のローカル名と名前空間 URI とともに、すべての ElementsNodeList を文書順に返します。
 DOMImplementation getImplementation()
          この文書を処理する DOMImplementation オブジェクトです。
 String getInputEncoding()
          このドキュメントを解析するときに使用するエンコーディングを指定します。
 boolean getStrictErrorChecking()
          エラーチェックを適用するかどうかを指定します。
 String getXmlEncoding()
          この文書のエンコーディングを XML 宣言の一部として指定します。
 boolean getXmlStandalone()
          この文書がスタンドアロンかどうかを XML 宣言の一部として指定します。
 String getXmlVersion()
          この文書のバージョン番号を XML 宣言の一部として指定します。
 Node importNode(Node importedNode, boolean deep)
          別の文書から現在の文書へノードをインポートします。
 void normalizeDocument()
          このメソッドは、文書を通常の形式に変換して、保存およびロードするように動作します。
 Node renameNode(Node n, String namespaceURI, String qualifiedName)
          ELEMENT_NODE または ATTRIBUTE_NODE 型の既存のノードの名前を変更します。
 void setDocumentURI(String documentURI)
          文書の場所。
 void setStrictErrorChecking(boolean strictErrorChecking)
          エラーチェックを適用するかどうかを指定します。
 void setXmlStandalone(boolean xmlStandalone)
          この文書がスタンドアロンかどうかを XML 宣言の一部として指定します。
 void setXmlVersion(String xmlVersion)
          この文書のバージョン番号を XML 宣言の一部として指定します。
 
インタフェース 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
 

メソッドの詳細

getDoctype

DocumentType getDoctype()
このドキュメントに関連付けられている文書型宣言 (DocumentType を参照)。文書型宣言を持たない XML 文書の場合は null を返します。HTML 文書では、文書内の文書型宣言の有無とは関係なく DocumentType オブジェクトを返すことができます。
これにより、DocumentType ノードとこの Document の子ノードへ直接アクセスします。このノードは文書作成時に設定され、それ以降は Node.insertBeforeNode.replaceChild などの子ノード操作メソッドを使用して変更できます。ただし、一部の実装では、作成時に指定された DocumentType に基づいて、「HTML」の「DOM Level 2 HTML」などの「Core」以外の追加機能をサポートしているさまざまな Document オブジェクトをインスタンス化できます。あとで変更してもサポートされている機能が変化することはほとんどありません。


getImplementation

DOMImplementation getImplementation()
この文書を処理する DOMImplementation オブジェクトです。DOM アプリケーションは、複数の実装からのオブジェクトを使用できます。


getDocumentElement

Element getDocumentElement()
文書の文書要素になっている子ノードへの直接アクセスを可能にする便利な属性です。


createElement

Element createElement(String tagName)
                      throws DOMException
指定された型の要素を作成します。返されるインスタンスは Element インタフェースを実装するため、属性は返されるオブジェクトに直接指定できます。
さらに、デフォルト値を持つ既知の属性が存在する場合は、これらを表す Attr ノードが自動的に作成され、要素に付加されます。
修飾名と名前空間 URI を持つ要素を作成するには、createElementNS メソッドを使用します。

パラメータ:
tagName - インスタンス化する要素型の名前。XML の場合、アルファベットの大文字と小文字が区別される。XML の以外の場合には、大文字と小文字の区別は、使用しているマークアップ言語に依存し、DOM 実装によってその正規マークアップにマッピングされる
戻り値:
tagName に設定された nodeName 属性、localNameprefixnull に設定された namespaceURI を持つ新しい Element オブジェクト
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された名前が、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合

createDocumentFragment

DocumentFragment createDocumentFragment()
空の DocumentFragment オブジェクトを生成します。

戻り値:
新しい DocumentFragment

createTextNode

Text createTextNode(String data)
指定された文字列を持つ Text ノードを作成します。

パラメータ:
data - ノードのデータ
戻り値:
新しい Text オブジェクト

createComment

Comment createComment(String data)
指定された文字列を持つ Comment ノードを作成します。

パラメータ:
data - ノードのデータ
戻り値:
新しい Comment オブジェクト

createCDATASection

CDATASection createCDATASection(String data)
                                throws DOMException
指定された文字列を値として持つ CDATASection ノードを作成します。

パラメータ:
data - CDATASection に含まれるデータ
戻り値:
新しい CDATASection オブジェクト
例外:
DOMException - NOT_SUPPORTED_ERR: この文書が HTML 文書の場合

createProcessingInstruction

ProcessingInstruction createProcessingInstruction(String target,
                                                  String data)
                                                  throws DOMException
指定された名前およびデータの文字列を持つ ProcessingInstruction ノードを作成します。

パラメータ:
target - 処理命令のターゲット部分。Document.createElementNSDocument.createAttributeNS とは異なり、このターゲット名が名前空間整形式かどうかは確認されない。このターゲット名を名前空間整形式にするには、アプリケーションは「namespaces」パラメータを true に設定して、Document.normalizeDocument() を呼び出す必要がある
data - ノードのデータ
戻り値:
新しい ProcessingInstruction オブジェクト
例外:
DOMException - INVALID_CHARACTER_ERR: 指定されたターゲットが、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合
NOT_SUPPORTED_ERR: この文書が HTML である場合

createAttribute

Attr createAttribute(String name)
                     throws DOMException
所定の名前の Attr を作成します。その後、この Attr インスタンスは、setAttributeNode メソッドにより Element に設定されることに注意してください。
修飾名と名前空間 URI を持つ属性を作成するには、createAttributeNS メソッドを使用します。

パラメータ:
name - 属性の名前
戻り値:
name に設定された nodeName 属性、localNameprefixnull に設定された namespaceURI を持つ新しい Attr オブジェクト
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された名前が、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合

createEntityReference

EntityReference createEntityReference(String name)
                                      throws DOMException
EntityReference オブジェクトを作成します。さらに、参照されるエンティティが既知の場合には、対応する Entity ノードの子リストと同じように EntityReference ノードの子リストが作成されます。

注: Entity ノードの下位ノードの名前空間接頭辞のバインドが解除されている場合には、作成された EntityReferenceノードの対応する下位ノードのバインドも解除されます (その namespaceURInull)。DOM Level 2 と DOM Level 3 では、このような場合に名前空間接頭辞を解決する機構がサポートされていません。

パラメータ:
name - 参照されるエンティティの名前。Document.createElementNSDocument.createAttributeNS とは異なり、このエンティティ名が名前空間整形式かどうかは確認されない。このエンティティ名を名前空間整形式にするには、アプリケーションは「namespaces」パラメータを true に設定して、Document.normalizeDocument() を呼び出す必要がある
戻り値:
新しい EntityReference オブジェクト
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された名前が、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合
NOT_SUPPORTED_ERR: この文書が HTML 文書の場合

getElementsByTagName

NodeList getElementsByTagName(String tagname)
所定のタグ名とともに、文書に含まれるすべての ElementsNodeList を文書順に返します。

パラメータ:
tagname - 一致するタグの名前。特殊な値「*」はすべてのタグに一致する。XML では、tagname パラメータの大文字と小文字が区別される。XML でない場合、大文字と小文字の区別は、使用しているマークアップ言語に依存する
戻り値:
一致するすべての Elements を含む新しい NodeList オブジェクト

importNode

Node importNode(Node importedNode,
                boolean deep)
                throws DOMException
別の文書から現在の文書へノードをインポートします。このとき、元の文書のソースノードが変更または削除されることはありません。このメソッドはソースノードの新しいコピーを作成します。返されるノードは親ノードを持ちません (parentNodenull)。
どのノードをインポートしても、インポート側の文書を所有元とするノードオブジェクトが作成されます。このオブジェクトは、ソースノードの nodeName および n odeType とまったく同じ属性値に加えて、名前空間に関連付けられている属性 (prefixlocalNamenamespaceURI) を持っています。cloneNode 操作の場合と同じく、ソースノードは変更されません。インポートされているノードに関連するユーザデータは持ち越されません。ただし、関連するデータとともに UserDataHandlers が指定された場合、ハンドラはこのメソッドがノードを返す前に該当するパラメータとともに呼び出されます。
追加情報は適切な方法で nodeType にコピーされます。XML ソースまたは HTML ソースのフラグメントが一方の文書からもう一方の文書にコピーされた場合、2 つの文書が XML ケース内に異なった DTD を持つ可能性があることを受けて、適切な動作のミラー化が試行されます。各ノード型の特性を次に説明します。
ATTRIBUTE_NODE
生成された Attr 上で、ownerElement 属性は nullspecified フラグは true に設定されます。ソースである Attr の子孫の再帰的インポートと結果ノードの再アセンブルにより、対応するサブツリーが形成されます。なお、deep パラメータは Attr ノードに影響を及ぼしません。これらのパラメータは、子とともにインポートされます。
DOCUMENT_FRAGMENT_NODE
deep オプションが true に設定されている場合には、ソース DocumentFragment の子孫は再帰的にインポートされ、結果ノードはインポートした DocumentFragment の下で再アセンブルされて、対応するサブツリーが形成されます。それ以外の場合は、空の DocumentFragment が生成されるだけです。
DOCUMENT_NODE
Document ノードはインポートできません。
DOCUMENT_TYPE_NODE
DocumentType ノードはインポートできません。
ELEMENT_NODE
ソース要素の「指定された」属性ノードがインポートされ、生成された Attr ノードが同じく生成された Element に接続されます。インポートされる文書がこの要素名のデフォルト属性 (割り当て済み) を定義する場合も、デフォルト属性は「コピーされません」。importNodedeep パラメータが true に設定されている場合は、ソース要素の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーが形成されます。
ENTITY_NODE
DOM の最新リリースである DocumentType は読み取り専用ですが、Entity ノードはインポート可能です。こうしてインポートされたノードを DocumentType に追加する機能は、将来の DOM のリリースで追加される予定です。インポート時には、publicIdsystemIdnotationName の各属性がコピーされます。deep のインポートが要求された場合は、Entity (ソース) の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。
ENTITY_REFERENCE_NODE
deep のインポートが要求された場合も、ソース文書とデスティネーション文書でエンティティの定義が異なる場合があるので、EntityReference だけがコピーされることになります。インポートされる文書がこのエントリ名を定義する場合は、その値が割り当てられます。
NOTATION_NODE
DOM の最新リリースである DocumentType は読み取り専用ですが、Notation ノードはインポート可能です。こうしてインポートされたノードを DocumentType に追加する機能は、将来の DOM リリースで追加される予定です。インポート時には、publicId 属性と systemId 属性がコピーされます。これらのノードは子を持つことができないので、deep パラメータは何の影響も及ぼしません。
PROCESSING_INSTRUCTION_NODE
インポートしたノードは、ソースノードから targetdata の値をコピーします。これらのノードは子を持つことができないので、deep パラメータは何の影響も及ぼしません。
TEXT_NODE、CDATA_SECTION_NODE、COMMENT_NODE
CharacterData を継承する 3 つのノード型で、data 属性と length 属性をソースノードからコピーします。これらのノードは子を持つことができないので、deep パラメータは何の影響も及ぼしません。

パラメータ:
importedNode - インポートされるノード
deep - true の場合は指定されたノードのサブツリーを再帰的にインポートし、false の場合は指定されたノードだけをインポートする。子を持つことができないノードや AttrEntityReference ノードには影響を及ぼさない
戻り値:
この Document に所属する、インポートされたノード
例外:
DOMException - NOT_SUPPORTED_ERR: インポートされるノード型がサポート対象外の場合
INVALID_CHARACTER_ERR: インポートされた名前のどれかが、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合。これは、XML 1.1「XML 1.1」要素を XML 1.0 ドキュメントにインポートするときなどに発生することがある
導入されたバージョン:
DOM Level 2

createElementNS

Element createElementNS(String namespaceURI,
                        String qualifiedName)
                        throws DOMException
所定の修飾名と名前空間 URI の要素を作成します。
名前空間を保有したくない場合は、XML 名前空間に従って、アプリケーションでメソッドの namespaceURI パラメータに null 値を使用する必要があります。

パラメータ:
namespaceURI - 作成する要素の名前空間 URI
qualifiedName - インスタンス化する要素型の修飾名
戻り値:
次の属性を持つ新しい Element オブジェクト
属性
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix qualifiedName から抽出された接頭辞。接頭辞がない場合は null
Node.localName qualifiedName から抽出されたローカル名
Element.tagName qualifiedName
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された qualifiedName が、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合
NAMESPACE_ERR: qualifiedName が不正な修飾名である場合。qualifiedName が接頭辞を持ち、namespaceURInull の場合。qualifiedName が接頭辞「xml」を持ち、namespaceURI「 http://www.w3.org/XML/1998/namespace」XML 名前空間以外である場合。qualifiedName またはその接頭辞が「xmlns」で、namespaceURI「http://www.w3.org/2000/xmlns/」以外である場合。namespaceURI「http://www.w3.org/2000/xmlns/」であり、qualifiedName もその接頭辞も「xmlns」でない場合
NOT_SUPPORTED_ERR: 名前空間は XML によって定義されているため、現在の文書が「XML」機能をサポートしない場合は常にスローされる
導入されたバージョン:
DOM Level 2

createAttributeNS

Attr createAttributeNS(String namespaceURI,
                       String qualifiedName)
                       throws DOMException
所定の修飾名と名前空間 URI の属性を作成します。
名前空間を保有したくない場合は、XML 名前空間に従って、アプリケーションでメソッドの namespaceURI パラメータに null 値を使用する必要があります。

パラメータ:
namespaceURI - 作成する属性の名前空間 URI
qualifiedName - インスタンス化する属性の修飾名
戻り値:
次の属性を持つ新しい Attr オブジェクト
属性
Node.nodeName qualifiedName
Node.namespaceURI namespaceURI
Node.prefix qualifiedName から抽出された接頭辞。接頭辞がない場合は null
Node.localName qualifiedName から抽出されたローカル名
Attr.name qualifiedName
Node.nodeName 空の文字列
例外:
DOMException - INVALID_CHARACTER_ERR: 指定された qualifiedName が使用中の XML バージョン (Document.xmlVersion属性に指定されている) に定められている XML 名ではない場合
NAMESPACE_ERR: qualifiedName が不正な修飾名である場合。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」によって定義されているため、現在の文書が機能をサポートしない場合は常にスローされる
導入されたバージョン:
DOM Level 2

getElementsByTagNameNS

NodeList getElementsByTagNameNS(String namespaceURI,
                                String localName)
所定のローカル名と名前空間 URI とともに、すべての ElementsNodeList を文書順に返します。

パラメータ:
namespaceURI - 一致する要素の名前空間 URI。特殊な値「*」はすべての名前空間に一致する
localName - 一致する要素のローカル名。特殊な値「*」はすべてのローカル名に一致する
戻り値:
一致するすべての Elements を含む新しい NodeList オブジェクト
導入されたバージョン:
DOM Level 2

getElementById

Element getElementById(String elementId)
所定の値の ID 属性を持つ Element を返します。このような要素がない場合は、null を返します。複数の要素が所定の値の ID 属性を持っている場合には、どの値が返されるかは定義されていません。
DOM 実装では、Attr.isId 属性を使用して、ID 属性かどうかを判定することが求められます。

注: 属性名に「ID」または「id」が含まれていても、そのように定義されていない場合には、ID 属性ではありません。

パラメータ:
elementId - 要素の一意の id
戻り値:
一致する要素。存在しない場合は null
導入されたバージョン:
DOM Level 2

getInputEncoding

String getInputEncoding()
このドキュメントを解析するときに使用するエンコーディングを指定します。Document がメモリで作成されたときなど、未知の場合は null です。

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

getXmlEncoding

String getXmlEncoding()
この文書のエンコーディングを XML 宣言の一部として指定します。Document が作成された場合など、未指定の場合や認識されない場合は null です。

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

getXmlStandalone

boolean getXmlStandalone()
この文書がスタンドアロンかどうかを XML 宣言の一部として指定します。指定されない場合は false です。

注: この属性を設定するときに、値の検証は行われません。アプリケーションは「validate」パラメータを持つ Document.normalizeDocument() を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。

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

setXmlStandalone

void setXmlStandalone(boolean xmlStandalone)
                      throws DOMException
この文書がスタンドアロンかどうかを XML 宣言の一部として指定します。指定されない場合は false です。

注: この属性を設定するときに、値の検証は行われません。アプリケーションは「validate」パラメータを持つ Document.normalizeDocument() を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。

例外:
DOMException - NOT_SUPPORTED_ERR: この文書が「XML」機能をサポートしていない場合
導入されたバージョン:
DOM Level 3

getXmlVersion

String getXmlVersion()
この文書のバージョン番号を XML 宣言の一部として指定します。XML 宣言がなく、この文書が「XML」機能をサポートしている場合には、値は 1.0 です。この文書が「XML」機能をサポートしていない場合には、値は常に null です。この属性を変更すると、XML 名の無効な文字を確認するメソッドに影響します。この Document の既存の Node に無効な文字があるかどうかを確認するには、アプリケーションで Document.normalizeDocument() を呼び出す必要があります。
DOM アプリケーションで実装が「XML 1.0」をサポートしているかどうかを判定するときは、パラメータ値「XMLVersion」と「1.0」を指定して DOMImplementation.hasFeature(feature, version) メソッドを使用します。DOM アプリケーションで実装が「XML 1.1」をサポートしているかどうかを判定するときは、パラメータ値「XMLVersion」と「1.1」を指定して同じメソッドを使用します。どちらの XML をサポートする場合でも、この仕様に定義されている「XML」機能を実装がサポートしている必要があります。 XMLVersion」機能のバージョンをサポートしている Document オブジェクトが、Document.xmlVersion を使用しているときに、同じバージョンの NOT_SUPPORTED_ERR 例外をスローすることはありません。

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

setXmlVersion

void setXmlVersion(String xmlVersion)
                   throws DOMException
この文書のバージョン番号を XML 宣言の一部として指定します。XML 宣言がなく、この文書が「XML」機能をサポートしている場合には、値は 1.0 です。この文書が「XML」機能をサポートしていない場合には、値は常に null です。この属性を変更すると、XML 名の無効な文字を確認するメソッドに影響します。この Document の既存の Node に無効な文字があるかどうかを確認するには、アプリケーションで Document.normalizeDocument() を呼び出す必要があります。
DOM アプリケーションで実装が「XML 1.0」をサポートしているかどうかを判定するときは、パラメータ値「XMLVersion」と「1.0」を指定して DOMImplementation.hasFeature(feature, version) メソッドを使用します。DOM アプリケーションで実装が「XML 1.1」をサポートしているかどうかを判定するときは、パラメータ値「XMLVersion」と「1.1」を指定して同じメソッドを使用します。どちらの XML をサポートする場合でも、この仕様に定義されている「XML」機能を実装がサポートしている必要があります。「XMLVersion」機能のバージョンをサポートしている Document オブジェクトが、Document.xmlVersion を使用しているときに、同じバージョンの NOT_SUPPORTED_ERR 例外をスローすることはありません。

例外:
DOMException - NOT_SUPPORTED_ERR: この Document がサポートしていない値がバージョンに設定されている場合。または、この文書が「XML」機能をサポートしていない場合
導入されたバージョン:
DOM Level 3

getStrictErrorChecking

boolean getStrictErrorChecking()
エラーチェックを適用するかどうかを指定します。false に設定した場合、この実装は DOM 処理に通常定義されているあらゆるエラーケースをテストしません。また、DOM 処理に関する DOMException をスローせず、Document.normalizeDocument() を使用しているときはエラーを報告しません。エラーが発生した場合の動作は未定義です。この属性はデフォルトで true です。

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

setStrictErrorChecking

void setStrictErrorChecking(boolean strictErrorChecking)
エラーチェックを適用するかどうかを指定します。false に設定した場合、この実装は DOM 処理に通常定義されているあらゆるエラーケースをテストしません。また、DOM 処理に関する DOMException をスローせず、Document.normalizeDocument() を使用しているときはエラーを報告しません。エラーが発生した場合の動作は未定義です。この属性はデフォルトで true です。

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

getDocumentURI

String getDocumentURI()
文書の場所。定義されていない場合、または DocumentDOMImplementation.createDocument を使用して作成された場合は null です。この属性が設定されている場合には、字句は確認されないため、Node.baseURI を使用したときに null 値が返される可能性があります。
Document が「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURI を計算する際、HTML BASE 要素の href 属性がこの属性よりも優先されます。

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

setDocumentURI

void setDocumentURI(String documentURI)
文書の場所。定義されていない場合、または DocumentDOMImplementation.createDocument を使用して作成された場合は、null です。この属性が設定されている場合には、字句は確認されないため、Node.baseURI を使用したときに null 値が返される可能性があります。
Document が「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURI を計算する際、HTML BASE 要素の href 属性がこの属性よりも優先されます。

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

adoptNode

Node adoptNode(Node source)
               throws DOMException
ほかの文書のノードを現在の文書にインポートします。サポートされている場合には、ソースノードの ownerDocument、その子、および接続されている属性ノード (存在する場合) を変更します。ソースノードが親を持っている場合には、そのソースノードが親の子リストから最初に削除されます。これにより、ある文書のサブツリーをほかの文書にインポートできます (importNode() の場合は、ソースノードをインポートする代わりにコピーを作成する)。失敗した場合は、代わりにアプリケーションで Document.importNode() を使用する必要があります。インポートしたノードがすでにこの文書の一部である場合 (つまり、ソースとターゲット文書が同じである場合)、このメソッドは、親の子からソースノードを削除する場合にも効果的です (存在する場合)。次のリストでは、各ノードについて説明します。
ATTRIBUTE_NODE
インポートした AttrownerElement 属性を null に設定し、specified フラグを true に設定します。ソース Attr の子孫を再帰的にインポートします。
DOCUMENT_FRAGMENT_NODE
ソースノードの子孫を再帰的にインポートします。
DOCUMENT_NODE
Document ノードはインポートできません。
DOCUMENT_TYPE_NODE
DocumentType ノードはインポートできません。
ELEMENT_NODE
ソース要素の「指定された」属性ノードがインポートされます。デフォルト属性は破棄します。ただし、インポートしている文書にこの要素名のデフォルト属性が定義されている場合には、これらの属性を割り当てます。ソース要素の子孫は再帰的にインポートされます。
ENTITY_NODE
Entity ノードはインポートできません。
ENTITY_REFERENCE_NODE
ソース文書とデスティネーション文書でエンティティの定義が異なる場合があるので、EntityReference だけをインポートし、子孫は破棄します。インポートされる文書がこのエントリ名を定義する場合は、その値が割り当てられます。
NOTATION_NODE
Notation ノードはインポートできません。
PROCESSING_INSTRUCTION_NODE、TEXT_NODE、CDATA_SECTION_NODE、COMMENT_NODE
これらのノードはすべてインポートできます。仕様はありません。

注: このメソッドは、Document.importNode() メソッドとは異なり、新しいノードを作成しないので、INVALID_CHARACTER_ERR 例外をスローしません。アプリケーションでは、Document.normalizeDocument() メソッドを使用して、インポートした名前が使用中の XML バージョンに定められている XML 名でないかどうかを確認する必要があります。

パラメータ:
source - この文書に移動するノード
戻り値:
インポートしたノード。この処理が失敗した場合には null (ソースノードの実装が違っている場合など)
例外:
DOMException - NOT_SUPPORTED_ERR: ソースノードが DOCUMENTDOCUMENT_TYPE 型である場合
NO_MODIFICATION_ALLOWED_ERR: ソースノードが読み取り専用である場合
導入されたバージョン:
DOM Level 3

getDomConfig

DOMConfiguration getDomConfig()
Document.normalizeDocument() が呼び出されたときに使用される設定。

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

normalizeDocument

void normalizeDocument()
このメソッドは、文書を通常の形式に変換して、保存およびロードするように動作します。つまり、Node.normalize() メソッドの定義に基づいて、EntityReference ノードの置換ツリーを更新し、Text ノードを正規化します。
このメソッドの結果は、Document.domConfig オブジェクトに設定されている機能と、その機能がどんな処理を実際に実行するかに応じて異なります。たとえば、記述されているアルゴリズムに従って、文書を名前空間整形式に変換したり、文字が正規化されているかどうかを確認したり、CDATASection ノードを削除することもできます。詳細は、DOMConfiguration を参照してください。
// Keep in the document 
 the information defined // in the XML Information Set (Java example) 
 DOMConfiguration docConfig = myDocument.getDomConfig(); 
 docConfig.setParameter("infoset", Boolean.TRUE); 
 myDocument.normalizeDocument();

変異イベントがサポートされているときには、文書で発生する変更を反映するために変異イベントが生成されます。
このメソッドを呼び出しているときにエラーが発生した場合 (読み取り専用ノードを更新しようとした場合、または使用中の XML バージョンに定められている不正な文字が Node.nodeName に含まれている場合など) には、error-handler パラメータに関連付けられている DOMErrorHandler オブジェクトを使用して、エラーまたは警告 (DOMError.SEVERITY_ERROR または DOMError.SEVERITY_WARNING) が報告されます。また、実装がエラーから回復できない場合に、致命的なエラー (DOMError.SEVERITY_FATAL_ERROR) を報告することがあります。

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

renameNode

Node renameNode(Node n,
                String namespaceURI,
                String qualifiedName)
                throws DOMException
ELEMENT_NODE または ATTRIBUTE_NODE 型の既存のノードの名前を変更します。
このメソッドは、所定のノードの名前を変更できる場合には、ノード名を変更します。変更できない場合には、指定された名前の新しいノードを作成して、次の手順で既存のノードを新しいノードに置き換えます。
所定のノードの名前を変更できない場合には、次の処理が実行されます。新しいノードが作成され、登録済みイベントリスナーが新しいノードに登録されます。古いノードに関連付けられていたユーザデータは、古いノードから解除されます。古いノードに親がある場合には、親から解放されます。解放された子ノードは、新しいノードに移動します。名前を変更したノードが Element の場合には、その属性が新しいノードに移動します。新しいノードは、親の子ノードリスト内で古いノードがあった位置に挿入されます。古いノードにユーザデータが関連付けられていた場合には、そのユーザデータは新しいノードに関連付けられます。
名前を変更するノードが Element の場合、指定した属性だけが移動し、DTD に基づいて設定されたデフォルト属性が新しい要素名に基づいて更新されます。この実装は、他のスキーマからデフォルト属性を更新することもあります。アプリケーションは、Document.normalizeDocument() を使用して、これらの属性を更新する必要があります。
名前を変更するノードが Attr で、Element に関連付けられているときには、そのノードはまず Element 属性マップから削除されます。次に、ノードの名前を変更すると (既存のノードを変更するか、前述の手順で新しいノードを作成する)、ノードが元に戻ります。
さらに、

パラメータ:
n - 名前を変更するノード
namespaceURI - 新しい名前空間 URI
qualifiedName - 新しい修飾名
戻り値:
名前が変更されたノード。指定されたノード、または指定されたノードを置き換える新しいノード
例外:
DOMException - NOT_SUPPORTED_ERR: 指定されたノードの型が ELEMENT_NODE および ATTRIBUTE_NODE でない場合、または実装が文書要素の名前変更をサポートしていない場合
INVALID_CHARACTER_ERR: 新しい修飾名が、使用中の XML バージョン (Document.xmlVersion 属性に指定されている) に定められている XML 名ではない場合
WRONG_DOCUMENT_ERR: 指定されたノードがこの文書以外の文書から作成された場合
NAMESPACE_ERR: qualifiedName が不正な修飾名である場合。qualifiedName が接頭辞を持ち、namespaceURInull である場合。あるいは、qualifiedName が接頭辞「xml」を持ち、namespaceURI「 http://www.w3.org/XML/1998/namespace」XML 名前空間以外である場合。または、名前を変更しているノードが属性である場合。qualifiedName またはその接頭辞が「xmlns」で、namespaceURI「http://www.w3.org/2000/xmlns/」以外である場合
導入されたバージョン:
DOM Level 3

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。