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, 2013, Oracle and/or its affiliates. All rights reserved.