public interface Document extends Node
Document
インタフェースは、HTML文書またはXML文書全体を表します。概念上は文書ツリーのルートであり、文書データに最初にアクセスする手段を提供します。
要素、テキスト・ノード、コメント、処理命令などはDocument
のコンテキストの外部に存在できないため、Document
インタフェースには、これらのオブジェクトを作成するために必要なファクトリ・メソッドも含まれています。作成されたNode
オブジェクトには、作成されたコンテキスト内でそのオブジェクトをDocument
に関連付けるownerDocument
属性があります。
「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
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()
ドキュメントの場所。未定義の場合や
DOMImplementation.createDocument を使ってDocument が作成された場合はnull 。 |
DOMConfiguration |
getDomConfig()
Document.normalizeDocument() が呼び出されたときに使用される構成。 |
Element |
getElementById(String elementId)
所定の値のID属性を持つ
Element を返します。 |
NodeList |
getElementsByTagName(String tagname)
文書内の、特定のタグ名を持つすべての
Elements を文書の順に格納するNodeList を返します。 |
NodeList |
getElementsByTagNameNS(String namespaceURI, String localName)
特定のローカル名と名前空間URIを持つすべての
Elements を文書の順に格納するNodeList を返します。 |
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)
ドキュメントの場所。未定義の場合や
DOMImplementation.createDocument を使ってDocument が作成された場合はnull 。 |
void |
setStrictErrorChecking(boolean strictErrorChecking)
エラー・チェックを適用するかどうかを指定します。
|
void |
setXmlStandalone(boolean xmlStandalone)
このドキュメントがスタンドアロンかどうかをXML宣言の一部として指定します。
|
void |
setXmlVersion(String xmlVersion)
この文書のバージョン番号をXML宣言の一部として指定します。
|
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
DocumentType getDoctype()
DocumentType
を参照)。文書型宣言を持たないXML文書の場合はnull
を返します。HTML文書では、文書内の文書型宣言の有無とは関係なくDocumentType
オブジェクトを返すことができます。Document
の子ノードである、DocumentType
ノードに直接アクセスできます。このノードは文書作成時に設定でき、それ以降はNode.insertBefore
、Node.replaceChild
などの子ノード操作メソッドを使用して変更できます。ただし、一部の実装では、作成時に指定されたDocumentType
に基づいて、「HTML」の「DOM Level 2 HTML」などの「Core」以外の追加機能をサポートしているさまざまなタイプのDocument
オブジェクトをインスタンス化できますが、あとで変更してもサポートされている機能が変化することはほとんどありません。DOMImplementation getImplementation()
DOMImplementation
オブジェクト。DOMアプリケーションは、複数の実装からのオブジェクトを使用できます。Element getDocumentElement()
Element createElement(String tagName) throws DOMException
Element
インタフェースを実装するため、属性は返されるオブジェクトに直接指定できます。Attr
ノードが自動的に作成され、要素に付加されます。createElementNS
メソッドを使用します。tagName
- インスタンス化する要素型の名前。XMLの場合、アルファベットの大文字と小文字が区別される。XML以外の場合、大文字と小文字の区別は、使用しているマークアップ言語に依存し、DOM実装によってその正規マークアップにマッピングされる。nodeName
属性がtagName
に設定され、localName
、prefix
、およびnamespaceURI
がnull
に設定された新しいElement
オブジェクト。DOMException
- INVALID_CHARACTER_ERR: 指定された名前が、使用中のXMLバージョン(Document.xmlVersion
属性に指定されている)に定められているXML名ではない場合に発生します。DocumentFragment createDocumentFragment()
DocumentFragment
オブジェクトを作成します。DocumentFragment
。Text createTextNode(String data)
Text
ノードを作成します。data
- ノードのデータ。Text
オブジェクト。Comment createComment(String data)
Comment
ノードを作成します。data
- ノードのデータ。Comment
オブジェクト。CDATASection createCDATASection(String data) throws DOMException
CDATASection
ノードを作成します。data
- CDATASection
コンテンツのデータ。CDATASection
オブジェクト。DOMException
- NOT_SUPPORTED_ERR: この文書がHTML文書の場合に発生します。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名ではない場合に発生します。Attr createAttribute(String name) throws DOMException
Attr
を作成します。その後、setAttributeNode
メソッドを使用して、このAttr
インスタンスをElement
に設定できます。createAttributeNS
メソッドを使用します。name
- 属性の名前。nodeName
属性がname
に設定され、localName
、prefix
、およびnamespaceURI
がnull
に設定された新しいAttr
オブジェクト。属性の値は空の文字列。DOMException
- INVALID_CHARACTER_ERR: 指定された名前が、使用中のXMLバージョン(Document.xmlVersion
属性に指定されている)に定められているXML名ではない場合に発生します。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名ではない場合に発生します。NodeList getElementsByTagName(String tagname)
Elements
を文書の順に格納するNodeList
を返します。tagname
- 一致するタグの名前。特殊な値「*」はすべてのタグに一致する。XMLの場合、tagname
パラメータでは大文字と小文字が区別される。そうでない場合は、使用されるマークアップ言語の大文字と小文字の区別に依存する。Elements
を含む新しいNodeList
オブジェクト。Node importNode(Node importedNode, boolean deep) throws DOMException
parentNode
はnull
)。nodeName
およびnodeType
と同じ属性値の他、名前空間に関連した属性(prefix
、localName
およびnamespaceURI
)を使用して作成されます。cloneNode
操作の場合と同じく、ソース・ノードは変更されません。インポートされているノードに関連するユーザー・データは持ち越されません。ただし、関連するデータとともにUserDataHandlers
が指定された場合は、このメソッドから戻る前に、それらのハンドラが該当するパラメータで呼び出されます。nodeType
にコピーされます。XMLソースまたはHTMLソースのフラグメントが一方の文書からもう一方の文書にコピーされた場合、2つの文書がXMLケース内に異なったDTDを持つ可能性があることを受けて、適切な動作のミラー化が試行されます。次のリストでは、各ノードについて説明します。
Attr
上で、ownerElement
属性はnull
に設定され、specified
フラグはtrue
に設定されます。ソースAttr
の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。なお、deep
パラメータはAttr
ノードに影響を及ぼしません。これらのパラメータは、子とともにインポートされます。deep
オプションがtrue
に設定されている場合は、ソースDocumentFragment
の子孫が再帰的にインポートされ、そのインポートされたDocumentFragment
の下で結果ノードが再アセンブルされて、対応するサブツリーを形成します。それ以外の場合は、空のDocumentFragment
が生成されるだけです。Document
ノードはインポートできません。DocumentType
ノードはインポートできません。Attr
ノードが生成されたElement
に接続されます。インポートされる文書がこの要素名のデフォルト属性(割当て済み)を定義する場合も、デフォルト属性はコピーされません。importNode
のdeep
パラメータがtrue
に設定されている場合は、ソース要素の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。DocumentType
は読取り専用ですが、Entity
ノードはインポート可能です。こうしてインポートされたノードをDocumentType
に追加する機能は、将来のDOMのリリースで追加される予定です。インポート時には、publicId
、systemId
、notationName
の各属性がコピーされます。deep
のインポートが要求された場合は、ソースEntity
の子孫が再帰的にインポートされ、結果ノードが再アセンブルされて、対応するサブツリーを形成します。deep
のインポートが要求された場合も、ソース文書とデスティネーション文書でエンティティの定義が異なる場合があるので、EntityReference
だけがコピーされることになります。インポートされる文書がこのエントリ名を定義する場合は、その値が割り当てられます。DocumentType
は読取り専用ですが、Notation
ノードはインポート可能です。こうしてインポートされたノードをDocumentType
に追加する機能は、将来のDOMのリリースで追加される予定です。インポート時には、publicId
およびsystemId
の各属性がコピーされます。これらのノードは子を持つことができないので、deep
パラメータは何の影響も及ぼしません。target
とdata
の値をコピーします。これらのノードは子を持つことができないので、deep
パラメータは何の影響も及ぼしません。CharacterData
を継承する3つのノード型で、data
属性とlength
属性をソース・ノードからコピーします。これらのノードは子を持つことができないので、deep
パラメータは何の影響も及ぼしません。importedNode
- インポートされるノード。deep
- true
の場合は、指定されたノードの下のサブツリーを再帰的にインポートし、false
の場合は、指定されたノードだけをインポートする(上記の説明を参照)。子を持つことができないノードやAttr
、EntityReference
ノードには影響を及ぼさない。Document
に属するインポートされたノード。DOMException
- NOT_SUPPORTED_ERR: インポートするノードの種類がサポートされていない場合に発行されます。Document.xmlVersion
属性に指定されている)に定められているXML名ではない場合に発生します。これは、たとえば、XML 1.1「XML 1.1」要素をXML 1.0文書にインポートしているときに発生する可能性があります。Element createElementNS(String namespaceURI, String qualifiedName) throws DOMException
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名ではない場合に発生します。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」ではない場合に発生します。"XML"
機能をサポートしていない場合は常にスローされます。Attr createAttributeNS(String namespaceURI, String qualifiedName) throws DOMException
namespaceURI
パラメータにnull
値を使用する必要があります。namespaceURI
- 作成する属性の名前空間URI。qualifiedName
- インスタンス化する属性の修飾名。Attr
オブジェクト
属性 | 値 |
---|---|
Node.nodeName |
qualifiedName |
Node.namespaceURI |
namespaceURI |
Node.prefix |
qualifiedName から抽出された接頭辞。接頭辞がない場合はnull |
Node.localName |
qualifiedName から抽出されたローカル名 |
Attr.name |
qualifiedName |
Node.nodeValue |
空の文字列 |
DOMException
- INVALID_CHARACTER_ERR: 指定されたqualifiedName
が、使用中のXMLバージョン(Document.xmlVersion
属性に指定されている)に定められているXML名ではない場合に発生します。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」ではない場合に発生します。"XML"
機能をサポートしていない場合は常にスローされます。NodeList getElementsByTagNameNS(String namespaceURI, String localName)
Elements
を文書の順に格納するNodeList
を返します。namespaceURI
- 一致する要素の名前空間URI。特殊な値"*"
は、すべての名前空間に一致する。localName
- 一致する要素のローカル名。特殊な値「*」はすべてのローカル名に一致する。Elements
を含む新しいNodeList
オブジェクト。Element getElementById(String elementId)
Element
を返します。このような要素がない場合は、null
を返します。複数の要素が所定の値のID属性を持っている場合には、どの値が返されるかは定義されていません。Attr.isId
属性を使用して、ID属性かどうかを判定することが求められます。
注: 属性名に「ID」または「id」が含まれていても、そのように定義されていない場合には、ID属性ではありません。
elementId
- 要素の一意のid
値。null
。String getInputEncoding()
Document
がメモリーで作成されたときなど、未知の場合はnull
です。String getXmlEncoding()
boolean getXmlStandalone()
false
です。
注: この属性を設定するときに、値の検証は行われません。アプリケーションは「validate」パラメータを持つDocument.normalizeDocument()
を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。
void setXmlStandalone(boolean xmlStandalone) throws DOMException
false
です。
注: この属性を設定するときに、値の検証は行われません。アプリケーションは「validate」パラメータを持つDocument.normalizeDocument()
を使用して、値が「XML 1.0」で定義されるスタンドアロン文書宣言に対する有効性の制約に一致するかどうかを検証する必要があります。
DOMException
- NOT_SUPPORTED_ERR: このドキュメントがXML機能をサポートしない場合に発生します。String getXmlVersion()
"1.0"
です。この文書が「XML」機能をサポートしていない場合、値は常にnull
です。この属性を変更すると、XML名の無効な文字を確認するメソッドに影響します。このDocument
の既存のNode
に無効な文字があるかどうかを確認するには、アプリケーションでDocument.normalizeDocument()
を呼び出す必要があります。DOMImplementation.hasFeature(feature, version)
メソッドを使用します。DOMアプリケーションで実装が「XML 1.1」をサポートしているかどうかを判定するときは、パラメータ値「XMLVersion」と「1.1」を指定して同じメソッドを使用します。どちらの場合も、XMLをサポートするには、この仕様に定義されている「XML」機能を実装がサポートしている必要があります。あるバージョンの「XML Version」機能をサポートしているDocument
オブジェクトがDocument.xmlVersion
を使用しているときに、同じバージョン番号のNOT_SUPPORTED_ERR
例外をスローしてはいけません。void setXmlVersion(String xmlVersion) throws DOMException
"1.0"
です。この文書が「XML」機能をサポートしていない場合、値は常にnull
です。この属性を変更すると、XML名の無効な文字を確認するメソッドに影響します。このDocument
の既存のNode
に無効な文字があるかどうかを確認するには、アプリケーションでDocument.normalizeDocument()
を呼び出す必要があります。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」機能をサポートしていない場合に発生します。boolean getStrictErrorChecking()
false
に設定した場合、この実装はDOM処理に通常定義されているあらゆるエラー・ケースをテストしません。また、DOM処理に関するDOMException
をスローせず、Document.normalizeDocument()
を使用しているときはエラーを報告しません。エラーが発生した場合の動作は未定義です。この属性はデフォルトでtrue
です。void setStrictErrorChecking(boolean strictErrorChecking)
false
に設定した場合、この実装はDOM処理に通常定義されているあらゆるエラー・ケースをテストしません。また、DOM処理に関するDOMException
をスローせず、Document.normalizeDocument()
を使用しているときはエラーを報告しません。エラーが発生した場合の動作は未定義です。この属性はデフォルトでtrue
です。String getDocumentURI()
DOMImplementation.createDocument
を使ってDocument
が作成された場合はnull
。この属性が設定されている場合には、字句は確認されないため、Node.baseURI
を使用したときにnull
値が返される可能性があります。Document
が「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURI
を計算する際、HTML BASE要素のhref属性がこの属性よりも優先されます。void setDocumentURI(String documentURI)
DOMImplementation.createDocument
を使ってDocument
が作成された場合はnull
。この属性が設定されている場合には、字句は確認されないため、Node.baseURI
を使用したときにnull
値が返される可能性があります。Document
が「HTML」の「DOM Level 2 HTML」機能をサポートしているときには、Node.baseURI
を計算する際、HTML BASE要素のhref属性がこの属性よりも優先されます。Node adoptNode(Node source) throws DOMException
ownerDocument
、その子、および接続されている属性ノード(存在する場合)を変更します。ソース・ノードが親を持っている場合には、そのソース・ノードが親の子リストから最初に削除されます。これにより、実質的にある文書のサブツリーをほかの文書に移動できます(importNode()
の場合は、ソース・ノードを移動する代わりにコピーを作成する)。失敗した場合、代わりにアプリケーションでDocument.importNode()
を使用するようにしてください。インポートしたノードがすでにこの文書の一部である場合(つまり、ソースとターゲット文書が同じである場合)、このメソッドは、親の子からソース・ノードを削除する場合にも効果的です(存在する場合)。次のリストでは、各ノードについて説明します。
Attr
のownerElement
属性をnull
に設定し、specified
フラグをtrue
に設定します。ソースAttr
の子孫は再帰的にインポートします。Document
ノードを取り入れることはできません。DocumentType
ノードを取り入れることはできません。Entity
ノードを取り入れることはできません。EntityReference
だけをインポートし、子孫は破棄します。インポートされる文書がこのエントリ名を定義する場合は、その値が割り当てられます。Notation
ノードを取り入れることはできません。注: このメソッドは、Document.importNode()
メソッドとは異なり、新しいノードを作成しないので、INVALID_CHARACTER_ERR
例外をスローしません。アプリケーションでは、Document.normalizeDocument()
メソッドを使用して、インポートされた名前が使用中のXMLバージョンに従うXML名でないかどうかを確認する必要があります。
source
- この文書に移動するノード。null
。DOMException
- NOT_SUPPORTED_ERR: ソース・ノードがDOCUMENT
、DOCUMENT_TYPE
型である場合に発生します。DOMConfiguration getDomConfig()
Document.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
)が報告されることがあります。Node renameNode(Node n, String namespaceURI, String qualifiedName) throws DOMException
ELEMENT_NODE
またはATTRIBUTE_NODE
型の既存のノードを変更します。Element
の場合は、その属性が新しいノードに移動します。新しいノードは、その親の子ノード・リスト内の古いノードがあった位置に挿入されます(そのリストが存在する場合)。古いノードに関連付けられていたユーザー・データが新しいノードに関連付けられます。Element
の場合は、指定された属性のみが移動され、DTDに基づいて設定されたデフォルト属性が新しい要素名に従って更新されます。この実装は、他のスキーマからデフォルト属性を更新することもあります。アプリケーションは、Document.normalizeDocument()
を使用して、これらの属性を更新する必要があります。Element
に関連付けられたAttr
の場合、そのノードはまずElement
属性マップから削除されます。次に、ノードの名前を変更すると(既存のノードを変更するか、前述の手順で新しいノードを作成する)、ノードが元に戻ります。NODE_RENAMED
がトリガーされます。
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
でもない場合、または実装がドキュメント要素の名前の変更をサポートしていない場合に発生します。Document.xmlVersion
属性に指定されている)に定められているXML名でない場合に発生します。qualifiedName
の修飾名の形式が正しくない場合、qualifiedName
が接頭辞を持ち、かつnamespaceURI
がnull
の場合、またはqualifiedName
が「xml」の接頭辞を持ち、かつnamespaceURI
が「http://www.w3.org/XML/1998/namespace」の「XML名前空間」とは異なる場合に発生します。また、名前が変更されるノードが属性であるときに、qualifiedName
またはその接頭辞が「xmlns」で、かつnamespaceURI
が「http://www.w3.org/2000/xmlns/」とは異なる場合にも発生します。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.