public interface DOMConfiguration
DOMConfiguration
インタフェースは文書の構成を表し、認められているパラメータのテーブルを保持します。この構成を使用すると、CDATASection
ノードの Text
ノードへの置き換えや、Document
の検証が要求されたときに使用する必要のあるスキーマの型の指定などの Document.normalizeDocument()
の動作を変更できます。DOMConfiguration
オブジェクトはまた、DOMParser
インタフェースや DOMSerializer
インタフェース内の「DOM Level 3 Load and Save」でも使用されます。
DOMConfiguration
オブジェクトによって使用されるパラメータ名は、DOM Level 3 仕様全体にわたって定義されています。名前は大文字と小文字が区別されます。コンフリクトを避けるため、規則として、DOM 仕様の範囲外で定義されたパラメータを参照する名前は一意にする必要があります。パラメータはプロパティーとして公開されるので、名前は、追加の文字「-」(HYPHEN-MINUS) を含む「Unicode」のセクション 5.16「識別子」に従うことをお勧めしますが、DOM 実装により強制はされません。DOM レベル 3 コア実装では、この仕様で定義されているすべてのパラメータを認識する必要があります。一部のパラメータ値も、この実装でサポートされる必要があります。値がサポートされているかどうかについては、パラメータの定義を参照してください。
注: パラメータは、SAX2「SAX」で使用される機能およびプロパティーと同様です。
次のパラメータリストは DOM で定義されています。
"canonical-form"
true
DocumentType
ノード (存在する場合) を削除したり、各要素から余分な名前空間宣言を削除したりするなど、「正規 XML」で指定されている規則に従って文書を正規化します。これは DOM で表現できるコンテンツに制限されます。特に、DOM で属性の順序を指定する方法はありません。さらに、このパラメータを true
に設定すると、下記のパラメータの状態も設定されます。あとで、これらのいずれかのパラメータの状態を変更すると、「canonical-form」が false
に戻ります。false
に設定されるパラメータには、entities、normalize-characters、cdata-sections があります。true
に設定されるパラメータには、namespaces、namespace-declarations、well-formed、element-content-whitespace があります。それ以外のパラメータは、パラメータの説明に明示的に指定されていないかぎり、変更されません。false
"cdata-sections"
true
CDATASection
ノードを維持します。false
CDATASection
ノードを Text
ノードに変換します。これにより、新しい Text
ノードが、隣接するすべての Text
ノードと結合されます。"check-character-normalization"
true
DOMError.type
が「check-character-normalization-failure」に等しいエラーが発行されます。 false
"comments"
true
Comment
ノードを維持します。false
Comment
ノードを破棄します。"datatype-normalization"
true
true
に設定されます。「validate」が false
のときにこのパラメータをアクティブにしても効果はなく、スキーマの正規化は行われません。
注: 文書は XML 1.0 処理の結果を含んでいるので、このパラメータは、「XML 1.0」のセクション 3.3.3 で定義されている属性値正規化には適用されず、文書型定義 (DTD) 以外のスキーマ言語だけを対象にしています。
false
"element-content-whitespace"
true
false
Text
ノードを破棄します。実装では、Text.isElementContentWhitespace
属性を使用して、Text
ノードを破棄する必要があるかどうかを判定することが求められます。"entities"
true
EntityReference
ノードを維持します。false
EntityReference
ノードを削除し、その場所で直接エンティティー拡張を行います。Text
ノードは、Node.normalize
で定義されているように正規化されます。拡張されていないエンティティー参照だけが文書内に保持されます。 注: このパラメータは Entity
ノードには影響しません。
"error-handler"
DOMErrorHandler
オブジェクトを含みます。文書内でエラーが検出された場合、実装ではこのパラメータを使用して、登録された DOMErrorHandler
を呼び出します。実装では、デフォルトの DOMErrorHandler
オブジェクトが提供される場合があります。呼び出された場合、DOMError.relatedData
には、エラーが発生した場所にもっとも近いノードが含まれます。エラーが発生したノードを実装が特定できない場合、DOMError.relatedData
には Document
ノードが含まれます。エラーハンドラ内から文書に対して変更を加えると、実装に依存した動作になります。 "infoset"
true
false
に設定されます。これにより、「namespace-declarations」、「well-formed」、「element-content-whitespace」、「comments」、「namespaces」の各パラメータが強制的に true
に設定されます。その他のパラメータは、パラメータの説明で明示的に指定されていないかぎり変更されません。getParameter
でこのパラメータを照会すると、上記で指定された個々のパラメータが適切に設定されている場合にのみ true
が返されます。false
infoset
を false
に設定しても効果はありません。"namespaces"
true
false
"namespace-declarations"
false
に設定されている場合、このパラメータは効果がありません。
true
false
false
に設定されていても、名前空間接頭辞 (Node.prefix
) は保持されます。"normalize-characters"
"schema-location"
DOMString
オブジェクトを表します。このオブジェクトは、検証が行われるスキーマ (現在のスキーマ) を表します。このリストで参照されるスキーマの型は、schema-type
で指定された型に一致しなければいけません。一致しない場合、実装の動作は保証されません。このプロパティーを使用して指定されたスキーマは、文書で独自に指定されたスキーマ情報より優先されます。名前空間認識スキーマの場合、このプロパティーで指定されたスキーマと、スキーマドキュメント (スキーマ import
メカニズムを使用) のドキュメントインスタンス (schemaLocation
属性を使用) で指定されたスキーマが同じ targetNamespace
を共有するとき、ユーザーがこのプロパティーを使用して指定したスキーマが使用されます。このプロパティーを使用して指定された 2 つのスキーマが、同じ targetNamespace
を共有するか、名前空間を持たない場合、動作は実装に依存して決まります。場所を指定しなかった場合、このパラメータは null
になります。
注: 「schema-type」パラメータ値が設定されていないかぎり、"schema-location"
パラメータは無視されます。参照されたすべての外部エンティティーを実装で正常に解決できるように、Document.documentURI
を設定することを強くお勧めします。
"schema-type"
DOMString
オブジェクトを表します。絶対 URI で、字句チェックは行われないことに注意。このパラメータが設定されない場合、実装では、サポートされているスキーマ言語やロード時に使用されたスキーマ言語に応じて、デフォルトの値を指定できます。値が指定されない場合、このパラメータは null
になります。
注: XML スキーマ「XML Schema Part 1」の場合、アプリケーションは値 "http://www.w3.org/2001/XMLSchema"
を使用する必要があります。XML DTD「XML 1.0」の場合は、アプリケーションで値 "http://www.w3.org/TR/REC-xml"
を使用する必要があります。ほかのスキーマ言語は W3C の範囲外であるため、このメソッドを使用するには、絶対 URI を使用することをお勧めします。
"split-cdata-sections"
true
DOMError.type
が "cdata-sections-splitted"
に等しく、DOMError.relatedData
が分割の結果として得られた文書順で最初の CDATASection
ノードに等しい警告が発行されます。false
CDATASection
に表現できない文字が含まれている場合に、エラーを通知します。"validate"
true
true
でないかぎり、使用されているスキーマに従って公開されません。このパラメータは、次のものを再評価します。
Attr
インタフェースの説明で指定されているように、Attr.specified
が false
に等しい属性ノード。
Text
ノードの Text.isElementContentWhitespace
属性の値
Attr
ノードの Attr.isId
属性の値
Element.schemaTypeInfo
属性と Attr.schemaTypeInfo
属性。
注: 「validate-if-schema」と「validate」は相互に排他的です。一方を true
に設定すると、他方は false
に設定されます。アプリケーションではまた、文書を検証するときに、「well-formed」パラメータをそのオプションのデフォルトである true
に設定することも考慮するようにしてください。
false
true
である場合は、引き続き検証が行われる可能性があります。 "validate-if-schema"
true
true
に設定されている場合と同じ動作を行います。
注: 「validate-if-schema」と「validate」は相互に排他的です。一方を true
に設定すると、他方は false
に設定されます。
false
true
である場合は、引き続き検証が行われます。 "well-formed"
true
Document.xmlVersion
で使用中の XML バージョンに従う整形式の XML であるかどうかを確認します。
Node.nodeName
属性にそのノード型に応じた無効な文字が含まれているかどうかを確認し、必要に応じて、重要度が DOMError.SEVERITY_ERROR
で、型が "wf-invalid-character-in-node-name"
の DOMError
を生成します。
Attr
、Element
、Comment
、Text
、CDATASection
の各ノード内のテキストコンテンツに無効な文字が含まれているかどうかを確認し、必要に応じて、重要度が DOMError.SEVERITY_ERROR
で、型が "wf-invalid-character"
の DOMError
を生成します。
ProcessingInstruction
ノード内のデータに無効な文字が含まれているかどうかを確認し、必要に応じて、重要度が DOMError.SEVERITY_ERROR
で、型が "wf-invalid-character"
の DOMError
を生成します。
false
エンティティーに関連付けられシステム識別子の解決は、Document.documentURI
を使用して実行されます。ただし、「DOM Level 3 Load and Save」で定義されている「LS」機能が DOM 実装でサポートされている場合は、Document
ノードに接続された DOMConfiguration
オブジェクト上で「resource-resolver」パラメータを使用することもできます。このパラメータが設定されている場合、Document.normalizeDocument()
は Document.documentURI
を使用する代わりにリソースリゾルバを呼び出します。
「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
修飾子と型 | メソッドと説明 |
---|---|
boolean |
canSetParameter(String name, Object value)
特定の値に対してパラメータを設定することがサポートされているかどうかをチェックします。
|
Object |
getParameter(String name)
既知の場合は、パラメータの値を返します。
|
DOMStringList |
getParameterNames()
DOMConfiguration オブジェクトがサポートしているパラメータのリスト。アプリケーションでは少なくとも 1 つの値をこれらのパラメータに対して設定できます。 |
void |
setParameter(String name, Object value)
パラメータの値を設定します。
|
void setParameter(String name, Object value) throws DOMException
name
- 設定するパラメータの名前。value
- 新しい値。ユーザーがこのパラメータを設定解除する場合は null
。value パラメータの型は DOMUserData
として定義されるが、オブジェクト型は、パラメータの定義によって定義された型に一致している必要がある。たとえば、パラメータが「error-handler」である場合、値は DOMErrorHandler
型である必要がある。DOMException
- NOT_FOUND_ERR:パラメータ名が認識されない場合に発生します。Object getParameter(String name) throws DOMException
name
- パラメータの名前。null
。DOMException
- NOT_FOUND_ERR:パラメータ名が認識されない場合に発生します。boolean canSetParameter(String name, Object value)
name
- チェックするパラメータの名前。value
- オブジェクト。null
の場合、戻り値は true
である。true
。パラメータが認識されない場合または要求された値がサポートされていない場合は false
。この場合、パラメータ自体の現在の値は変更されない。DOMStringList getParameterNames()
DOMConfiguration
オブジェクトがサポートしているパラメータのリスト。アプリケーションでは少なくとも 1 つの値をこれらのパラメータに対して設定できます。このリストには、この仕様の外部で定義されたパラメータ名も含まれる可能性があります。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.