-
- すべてのスーパー・インタフェース:
Node
- 既知のすべてのサブインタフェース:
HTMLDocument
- 既知のすべての実装クラス:
SOAPPart
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
-
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 抽象メソッド 修飾子と型 メソッド 説明 NodeadoptNode(Node source)ほかの文書のノードを現在の文書にインポートします。AttrcreateAttribute(String name)所定の名前のAttrを作成します。AttrcreateAttributeNS(String namespaceURI, String qualifiedName)所定の修飾名と名前空間URIを持つ属性を作成します。CDATASectioncreateCDATASection(String data)指定された文字列を値として持つCDATASectionノードを作成します。CommentcreateComment(String data)指定された文字列を持つCommentノードを作成します。DocumentFragmentcreateDocumentFragment()空のDocumentFragmentオブジェクトを作成します。ElementcreateElement(String tagName)指定された型の要素を作成します。ElementcreateElementNS(String namespaceURI, String qualifiedName)所定の修飾名と名前空間URIを持つ要素を作成します。EntityReferencecreateEntityReference(String name)EntityReferenceオブジェクトを作成します。ProcessingInstructioncreateProcessingInstruction(String target, String data)指定された名前およびデータ文字列を使用してProcessingInstructionノードを作成します。TextcreateTextNode(String data)指定された文字列を持つTextノードを作成します。DocumentTypegetDoctype()この文書に関連付けられている文書型宣言(DocumentTypeを参照)。ElementgetDocumentElement()文書の文書要素になっている子ノードへの直接アクセスを可能にする便利な属性です。StringgetDocumentURI()ドキュメントの場所。未定義の場合やDOMImplementation.createDocumentを使ってDocumentが作成された場合はnull。DOMConfigurationgetDomConfig()Document.normalizeDocument()が呼び出されたときに使用される構成。ElementgetElementById(String elementId)所定の値のID属性を持つElementを返します。NodeListgetElementsByTagName(String tagname)文書内の、特定のタグ名を持つすべてのElementsを文書の順に格納するNodeListを返します。NodeListgetElementsByTagNameNS(String namespaceURI, String localName)特定のローカル名と名前空間URIを持つすべてのElementsを文書の順に格納するNodeListを返します。DOMImplementationgetImplementation()この文書を処理するDOMImplementationオブジェクト。StringgetInputEncoding()このドキュメントを解析するときに使用するエンコーディングを指定します。booleangetStrictErrorChecking()エラー・チェックを適用するかどうかを指定します。StringgetXmlEncoding()この文書のエンコーディングをXML宣言の一部として指定する属性。booleangetXmlStandalone()このドキュメントがスタンドアロンかどうかをXML宣言の一部として指定します。StringgetXmlVersion()この文書のバージョン番号をXML宣言の一部として指定します。NodeimportNode(Node importedNode, boolean deep)別の文書から現在の文書へノードをインポートします。このとき、元の文書のソース・ノードが変更または削除されることはありません。このメソッドはソース・ノードの新しいコピーを作成します。voidnormalizeDocument()このメソッドは、文書を通常の形式に変換して、保存およびロードするように動作します。NoderenameNode(Node n, String namespaceURI, String qualifiedName)ELEMENT_NODEまたはATTRIBUTE_NODE型の既存のノードを変更します。voidsetDocumentURI(String documentURI)ドキュメントの場所。未定義の場合やDOMImplementation.createDocumentを使ってDocumentが作成された場合はnull。voidsetStrictErrorChecking(boolean strictErrorChecking)エラー・チェックを適用するかどうかを指定します。voidsetXmlStandalone(boolean xmlStandalone)このドキュメントがスタンドアロンかどうかをXML宣言の一部として指定します。voidsetXmlVersion(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オブジェクトを返すことができます。
これにより、このDocumentの子ノードである、DocumentTypeノードに直接アクセスできます。 このノードは文書作成時に設定でき、それ以降はNode.insertBefore、Node.replaceChildなどの子ノード操作メソッドを使用して変更できます。 ただし、一部の実装では、作成時に指定されたDocumentTypeに基づいて、「HTML」の「DOM Level 2 HTML」などの「Core」以外の追加機能をサポートしているさまざまなタイプのDocumentオブジェクトをインスタンス化できますが、あとで変更してもサポートされている機能が変化することはほとんどありません。- 導入されたバージョン:
- 1.4、DOMレベル3
-
getImplementation
DOMImplementation getImplementation()
この文書を処理するDOMImplementationオブジェクト。 DOMアプリケーションは、複数の実装からのオブジェクトを使用できます。
-
getDocumentElement
Element getDocumentElement()
文書の文書要素になっている子ノードへの直接アクセスを可能にする便利な属性です。
-
createElement
Element createElement(String tagName) throws DOMException
指定された型の要素を作成します。 返されるインスタンスはElementインタフェースを実装するため、属性は返されるオブジェクトに直接指定できます。
さらに、デフォルト値を持つ既知の属性が存在する場合は、これらを表すAttrノードが自動的に作成され、要素に付加されます。
修飾名と名前空間URIを使用して要素を作成するには、createElementNSメソッドを使用します。- パラメータ:
tagName- インスタンス化する要素型の名前。 XMLの場合、アルファベットの大文字と小文字が区別される。 その場合、大文字と小文字の区別は、使用しているマークアップ言語に依存し、DOM実装によってその正規マークアップにマッピングされる。- 戻り値:
nodeName属性がtagNameに設定され、localName、prefix、およびnamespaceURIがnullに設定された新しい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.createElementNSやDocument.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を作成します。 その後、setAttributeNodeメソッドを使用して、このAttrインスタンスをElementに設定できます。
修飾名と名前空間URIを使用して属性を作成するには、createAttributeNSメソッドを使用します。- パラメータ:
name- 属性の名前。- 戻り値:
nodeName属性がnameに設定され、localName、prefix、およびnamespaceURIがnullに設定された新しいAttrオブジェクト。 属性の値は空の文字列。- 例外:
DOMException- INVALID_CHARACTER_ERR: 指定された名前が、使用中のXMLバージョン(Document.xmlVersion属性に指定されている)に定められているXML名ではない場合に発生します。
-
createEntityReference
EntityReference createEntityReference(String name) throws DOMException
EntityReferenceオブジェクトを作成します。 さらに、参照されるエンティティが既知の場合は、対応するEntityノードの子リストと同じようにEntityReferenceノードの子リストが作成されます。注:
Entityノードの下位ノードの名前空間接頭辞のバインドが解除されている場合には、作成されたEntityReferenceノードの対応する下位ノードのバインドも解除されます(そのnamespaceURIはnull)。 DOM Level 2とDOM Level 3では、このような場合に名前空間接頭辞を解決するメカニズムがサポートされていません。- パラメータ:
name- 参照されるエンティティの名前。Document.createElementNSやDocument.createAttributeNSとは異なり、エンティティ名に対する名前空間整形式のチェックは実行されない。 アプリケーションは、エンティティ名の名前空間整形式を確保するために、「namespaces」パラメータをtrueに設定してDocument.normalizeDocument()を呼び出す必要がある。- 戻り値:
- 新しい
EntityReferenceオブジェクト。 - 例外:
DOMException- INVALID_CHARACTER_ERR: 指定された名前が、使用中のXMLバージョン(Document.xmlVersion属性に指定されている)に定められているXML名ではない場合に発生します。
NOT_SUPPORTED_ERR: この文書がHTML文書の場合に発生します。
-
getElementsByTagName
NodeList getElementsByTagName(String tagname)
文書内の、特定のタグ名を持つすべてのElementsを文書の順に格納するNodeListを返します。- パラメータ:
tagname- 一致するタグの名前。 特殊な値「*」はすべてのタグに一致する。 XMLの場合、tagnameパラメータでは大文字と小文字が区別される。そうでない場合は、使用されるマークアップ言語の大文字と小文字の区別に依存する。- 戻り値:
- 一致するすべての
Elementsを含む新しいNodeListオブジェクト。
-
importNode
Node importNode(Node importedNode, boolean deep) throws DOMException
別の文書から現在の文書へノードをインポートします。このとき、元の文書のソース・ノードが変更または削除されることはありません。このメソッドはソース・ノードの新しいコピーを作成します。 返されるノードは親ノードを持ちません(parentNodeはnull)。
すべてのノードについて、ノードをインポートすると、インポート側の文書によって所有されたノード・オブジェクトが、ソース・ノードのnodeNameおよびnodeTypeと同じ属性値の他、名前空間に関連した属性(prefix、localNameおよびnamespaceURI)を使用して作成されます。cloneNode操作の場合と同じく、ソース・ノードは変更されません。 インポートされているノードに関連するユーザー・データは持ち越されません。 ただし、関連するデータとともにUserDataHandlersが指定された場合は、このメソッドから戻る前に、それらのハンドラが該当するパラメータで呼び出されます。
追加情報は適切な方法でnodeTypeにコピーされます。XMLソースまたはHTMLソースのフラグメントが一方の文書からもう一方の文書にコピーされた場合、2つの文書がXMLケース内に異なったDTDを持つ可能性があることを受けて、適切な動作のミラー化が試行されます。 次のリストでは、各ノードについて説明します。- ATTRIBUTE_NODE
- 生成された
Attr上で、ownerElement属性はnullに設定され、specifiedフラグはtrueに設定されます。 ソースAttrの子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。 なお、deepパラメータはAttrノードに影響を及ぼしません。これらのパラメータは、子とともにインポートされます。 - DOCUMENT_FRAGMENT_NODE
deepオプションがtrueに設定されている場合は、ソースDocumentFragmentの子孫が再帰的にインポートされ、そのインポートされたDocumentFragmentの下で結果ノードが再アセンブルされて、対応するサブツリーを形成します。 それ以外の場合は、空のDocumentFragmentが生成されるだけです。- DOCUMENT_NODE
Documentノードはインポートできません。- DOCUMENT_TYPE_NODE
DocumentTypeノードはインポートできません。- ELEMENT_NODE
- ソース要素の指定された属性ノードがインポートされ、生成された
Attrノードが生成されたElementに接続されます。 インポートされる文書がこの要素名のデフォルト属性(割当て済み)を定義する場合も、デフォルト属性はコピーされません。importNodeのdeepパラメータがtrueに設定されている場合は、ソース要素の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。 - ENTITY_NODE
- DOMの現在のリリースでは
DocumentTypeは読取り専用ですが、Entityノードはインポート可能です。 こうしてインポートされたノードをDocumentTypeに追加する機能は、将来のDOMのリリースで追加される予定です。インポート時には、publicId、systemId、notationNameの各属性がコピーされます。deepのインポートが要求された場合は、ソースEntityの子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。 - ENTITY_REFERENCE_NODE
deepのインポートが要求された場合も、ソース文書とデスティネーション文書でエンティティの定義が異なる場合があるので、EntityReferenceだけがコピーされることになります。 インポートされる文書がこのエントリ名を定義する場合は、その値が割り当てられます。- NOTATION_NODE
-
DOMの現在のリリースでは
DocumentTypeは読取り専用ですが、Notationノードはインポート可能です。 こうしてインポートされたノードをDocumentTypeに追加する機能は、将来のDOMのリリースで追加される予定です。インポート時には、publicIdおよびsystemIdの各属性がコピーされます。 これらのノードは子を持つことができないので、deepパラメータは何の影響も及ぼしません。 - PROCESSING_INSTRUCTION_NODE
- インポートしたノードは、ソース・ノードから
targetとdataの値をコピーします。これらのノードは子を持つことができないので、deepパラメータは何の影響も及ぼしません。 - TEXT_NODE、CDATA_SECTION_NODE、COMMENT_NODE
CharacterDataを継承する3つのノード型で、data属性とlength属性をソース・ノードからコピーします。これらのノードは子を持つことができないので、deepパラメータは何の影響も及ぼしません。
- パラメータ:
importedNode- インポートされるノード。deep-trueの場合は、指定されたノードの下のサブツリーを再帰的にインポートし、falseの場合は、指定されたノードだけをインポートする(上記の説明を参照)。 子を持つことができないノードやAttr、EntityReferenceノードには影響を及ぼさない。- 戻り値:
- この
Documentに属するインポートされたノード。 - 例外:
DOMException- NOT_SUPPORTED_ERR: インポートするノードの種類がサポートされていない場合に発行されます。
INVALID_CHARACTER_ERR: インポートされた名前のいずれか1つが、使用中のXMLバージョン(Document.xmlVersion属性に指定されている)に定められているXML名ではない場合に発生します。 これは、たとえば、XML 1.1「XML 1.1」要素をXML 1.0文書にインポートしているときに発生する可能性があります。- 導入されたバージョン:
- 1.4、DOMレベル2
-
createElementNS
Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
所定の修飾名と名前空間URIを持つ要素を作成します。
名前空間を保有しない場合は、「XML名前空間」に従って、アプリケーションでメソッドのnamespaceURIパラメータとして値nullを使用する必要があります。- パラメータ:
namespaceURI- 作成する要素の名前空間URI。qualifiedName- インスタンス化する要素型の修飾名。- 戻り値:
- 次の属性を持つ新しい
ElementオブジェクトElementオブジェクトの属性属性 値 Node.nodeNamequalifiedNameNode.namespaceURInamespaceURINode.prefixqualifiedNameから抽出された接頭辞。接頭辞がない場合はnullNode.localNamequalifiedNameから抽出されたローカル名Element.tagNamequalifiedName - 例外:
DOMException- INVALID_CHARACTER_ERR: 指定されたqualifiedNameが、使用中のXMLバージョン(Document.xmlVersion属性に指定されている)に定められているXML名ではない場合に発生します。
NAMESPACE_ERR:qualifiedNameの修飾名の形式が正しくない場合、qualifiedNameが接頭辞を持ち、かつnamespaceURIがnullの場合、または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"機能をサポートしていない場合は常にスローされます。- 導入されたバージョン:
- 1.4、DOMレベル2
-
createAttributeNS
Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
所定の修飾名と名前空間URIを持つ属性を作成します。
名前空間を保有しない場合は、XML名前空間に従って、アプリケーションでメソッドのnamespaceURIパラメータにnull値を使用する必要があります。- パラメータ:
namespaceURI- 作成する属性の名前空間URI。qualifiedName- インスタンス化する属性の修飾名。- 戻り値:
- 次の属性を持つ新しい
AttrオブジェクトAttrオブジェクトの属性属性 値 Node.nodeNamequalifiedName Node.namespaceURInamespaceURINode.prefixqualifiedNameから抽出された接頭辞。接頭辞がない場合はnullNode.localNamequalifiedNameから抽出されたローカル名Attr.namequalifiedNameNode.nodeValue空の文字列 - 例外:
DOMException- INVALID_CHARACTER_ERR: 指定されたqualifiedNameが、使用中のXMLバージョン(Document.xmlVersion属性に指定されている)に定められているXML名ではない場合に発生します。
NAMESPACE_ERR:qualifiedNameの修飾名の形式が正しくない場合、qualifiedNameが接頭辞を持ち、かつnamespaceURIがnullの場合、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によって定義されているため、現在の文書が"XML"機能をサポートしていない場合は常にスローされます。- 導入されたバージョン:
- 1.4、DOMレベル2
-
getElementsByTagNameNS
NodeList getElementsByTagNameNS(String namespaceURI, String localName)
特定のローカル名と名前空間URIを持つすべてのElementsを文書の順に格納するNodeListを返します。- パラメータ:
namespaceURI- 一致する要素の名前空間URI。 特殊な値"*"は、すべての名前空間に一致する。localName- 一致する要素のローカル名。 特殊な値「*」はすべてのローカル名に一致する。- 戻り値:
- 一致するすべての
Elementsを含む新しいNodeListオブジェクト。 - 導入されたバージョン:
- 1.4、DOMレベル2
-
getElementById
Element getElementById(String elementId)
所定の値のID属性を持つElementを返します。 このような要素がない場合は、nullを返します。 複数の要素が所定の値のID属性を持っている場合には、どの値が返されるかは定義されていません。
DOM実装では、Attr.isId属性を使用して、ID属性かどうかを判定することが求められます。注: 属性名に「ID」または「id」が含まれていても、そのように定義されていない場合には、ID属性ではありません。
- パラメータ:
elementId- 要素の一意のid値。- 戻り値:
- 一致する要素。存在しない場合は
null。 - 導入されたバージョン:
- 1.4、DOMレベル2
-
getInputEncoding
String getInputEncoding()
このドキュメントを解析するときに使用するエンコーディングを指定します。Documentがメモリーで作成されたときなど、未知の場合はnullです。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getXmlEncoding
String getXmlEncoding()
この文書のエンコーディングをXML宣言の一部として指定する属性。Documentがメモリーで作成されたときなど、未指定の場合や認識されない場合はnullです。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getXmlStandalone
boolean getXmlStandalone()
このドキュメントがスタンドアロンかどうかをXML宣言の一部として指定します。 指定されない場合はfalseです。注: この属性を設定するときに、値の検証は行われません。 アプリケーションは「validate」パラメータを持つ
Document.normalizeDocument()を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。- 導入されたバージョン:
- 1.5、DOMレベル3
-
setXmlStandalone
void setXmlStandalone(boolean xmlStandalone) throws DOMExceptionこのドキュメントがスタンドアロンかどうかをXML宣言の一部として指定します。 指定されない場合はfalseです。注: この属性を設定するときに、値の検証は行われません。 アプリケーションは「validate」パラメータを持つ
Document.normalizeDocument()を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。- 例外:
DOMException- NOT_SUPPORTED_ERR: このドキュメントがXML機能をサポートしない場合に発生します。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getXmlVersion
String getXmlVersion()
この文書のバージョン番号を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」機能を実装がサポートしている必要があります。 あるバージョンの「XML Version」機能をサポートしているDocumentオブジェクトがDocument.xmlVersionを使用しているときに、同じバージョン番号のNOT_SUPPORTED_ERR例外をスローしてはいけません。- 導入されたバージョン:
- 1.5、DOMレベル3
-
setXmlVersion
void setXmlVersion(String xmlVersion) throws DOMException
この文書のバージョン番号を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」機能を実装がサポートしている必要があります。 あるバージョンの「XML Version」機能をサポートしているDocumentオブジェクトがDocument.xmlVersionを使用しているときに、同じバージョン番号のNOT_SUPPORTED_ERR例外をスローしてはいけません。- 例外:
DOMException- NOT_SUPPORTED_ERR:Documentがサポートしていない値がバージョンに設定されている場合、またはこの文書が「XML」機能をサポートしていない場合に発生します。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getStrictErrorChecking
boolean getStrictErrorChecking()
エラー・チェックを適用するかどうかを指定します。falseに設定した場合、この実装はDOM処理に通常定義されているあらゆるエラー・ケースをテストしません。また、DOM処理に関するDOMExceptionをスローせず、Document.normalizeDocument()を使用しているときはエラーを報告しません。 エラーが発生した場合の動作は未定義です。 この属性はデフォルトでtrueです。- 導入されたバージョン:
- 1.5、DOMレベル3
-
setStrictErrorChecking
void setStrictErrorChecking(boolean strictErrorChecking)
エラー・チェックを適用するかどうかを指定します。falseに設定した場合、この実装はDOM処理に通常定義されているあらゆるエラー・ケースをテストしません。また、DOM処理に関するDOMExceptionをスローせず、Document.normalizeDocument()を使用しているときはエラーを報告しません。 エラーが発生した場合の動作は未定義です。 この属性はデフォルトでtrueです。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getDocumentURI
String getDocumentURI()
ドキュメントの場所。未定義の場合やDOMImplementation.createDocumentを使ってDocumentが作成された場合はnull。 この属性が設定されている場合には、字句は確認されないため、Node.baseURIを使用したときにnull値が返される可能性があります。
Documentが「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURIを計算する際、HTML BASE要素のhref属性がこの属性よりも優先されます。- 導入されたバージョン:
- 1.5、DOMレベル3
-
setDocumentURI
void setDocumentURI(String documentURI)
ドキュメントの場所。未定義の場合やDOMImplementation.createDocumentを使ってDocumentが作成された場合はnull。 この属性が設定されている場合には、字句は確認されないため、Node.baseURIを使用したときにnull値が返される可能性があります。
Documentが「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURIを計算する際、HTML BASE要素のhref属性がこの属性よりも優先されます。- 導入されたバージョン:
- 1.5、DOMレベル3
-
adoptNode
Node adoptNode(Node source) throws DOMException
ほかの文書のノードを現在の文書にインポートします。 サポートされている場合には、ソース・ノードのownerDocument、その子、および接続されている属性ノード(存在する場合)を変更します。 ソース・ノードが親を持っている場合には、そのソース・ノードが親の子リストから最初に削除されます。 これにより、実質的にある文書のサブツリーをほかの文書に移動できます(importNode()の場合は、ソース・ノードを移動する代わりにコピーを作成する)。 失敗した場合、代わりにアプリケーションでDocument.importNode()を使用するようにしてください。 インポートしたノードがすでにこの文書の一部である場合(つまり、ソースとターゲット文書が同じである場合)、このメソッドは、親の子からソース・ノードを削除する場合にも効果的です(存在する場合)。 次のリストでは、各ノードについて説明します。- ATTRIBUTE_NODE
- インポートした
AttrのownerElement属性を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: ソース・ノードがDOCUMENT、DOCUMENT_TYPE型である場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: ソース・ノードが読取り専用の場合に発生します。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getDomConfig
DOMConfiguration getDomConfig()
Document.normalizeDocument()が呼び出されたときに使用される構成。- 導入されたバージョン:
- 1.5、DOMレベル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();
変異イベントがサポートされているときには、文書で発生する変更を反映するために変異イベントが生成されます。
このメソッドの呼出し中にエラーが発生した場合(読取り専用ノードを更新しようとした場合や、Node.nodeNameに使用中のXMLバージョンに定められている無効な文字が含まれている場合など)は、「error-handler」パラメータに関連付けられたDOMErrorHandlerオブジェクトを使用して、エラーまたは警告(DOMError.SEVERITY_ERRORまたはDOMError.SEVERITY_WARNING)が報告されます。 また、実装がエラーから回復できない場合に、このメソッドによって致命的なエラー(DOMError.SEVERITY_FATAL_ERROR)が報告されることがあります。- 導入されたバージョン:
- 1.5、DOMレベル3
-
renameNode
Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException
ELEMENT_NODEまたはATTRIBUTE_NODE型の既存のノードを変更します。
可能な場合は、指定されたノードの名前を単純に変更します。それ以外の場合は、指定された名前を持つ新しいノードを作成し、次の手順で既存のノードを新しいノードに置き換えます。
指定されたノードの名前を単純に変更できない場合は、次の操作が実行されます。新しいノードが作成され、登録済のイベント・リスナーがすべて新しいノードに登録されます。古いノードに関連付けられていたユーザー・データがすべて、そのノードから削除されます。古いノードはその親から削除されます(そのノードに親が存在する場合)。削除された子が新しいノードに移動します。名前が変更されたノードがElementの場合は、その属性が新しいノードに移動します。新しいノードは、その親の子ノード・リスト内の古いノードがあった位置に挿入されます(そのリストが存在する場合)。古いノードに関連付けられていたユーザー・データが新しいノードに関連付けられます。
名前が変更されるノードがElementの場合は、指定された属性のみが移動され、DTDに基づいて設定されたデフォルト属性が新しい要素名に従って更新されます。 この実装は、他のスキーマからデフォルト属性を更新することもあります。 アプリケーションは、Document.normalizeDocument()を使用して、これらの属性を更新する必要があります。
名前が変更されるノードがElementに関連付けられたAttrの場合、そのノードはまずElement属性マップから削除されます。 次に、ノードの名前を変更すると(既存のノードを変更するか、前述の手順で新しいノードを作成する)、ノードが元に戻ります。
さらに、- ユーザー・データ・イベント
NODE_RENAMEDがトリガーされます。 -
実装が「MutationNameEvents」機能をサポートしている場合は、このメソッドに関連する各変異操作によって適切なイベントがトリガーされ、最後にイベント{
http://www.w3.org/2001/xml-events,DOMElementNameChanged}または{http://www.w3.org/2001/xml-events,DOMAttributeNameChanged}がトリガーされます。
- パラメータ:
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が接頭辞を持ち、かつnamespaceURIがnullの場合、またはqualifiedNameが「xml」の接頭辞を持ち、かつnamespaceURIが「http://www.w3.org/XML/1998/namespace」の「XML名前空間」とは異なる場合に発生します。 また、名前が変更されるノードが属性であるときに、qualifiedNameまたはその接頭辞が「xmlns」で、かつnamespaceURIが「http://www.w3.org/2000/xmlns/」とは異なる場合にも発生します。- 導入されたバージョン:
- 1.5、DOMレベル3
- ユーザー・データ・イベント
-
-