|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface DOMConfiguration
DOMConfiguration
インタフェースは文書の構成を表し、
認められているパラメータのテーブルを保持します。この構成を使用すると、
CDATASection
ノードを Text
ノードに置き換え
たり、Document
の検証を要求されたときに使用するスキーマ
の型を指定したりするなど、Document.normalizeDocument()
の
動作を変更できます。DOMConfiguration
オブジェクトは、
DOMParser
インタフェースや DOMSerializer
インタフェースの「DOM Level 3 Load and Save」でも使用できます。
DOMConfiguration
オブジェクトで使用するパラメータ
名は、DOM レベル 3 仕様全体で定義されています。名前は大文字と小文
字が区別されます。コンフリクトを避けるため、規則として、DOM 仕様の
範囲外で定義されたパラメータを参照する名前は一意にする必要がありま
す。パラメータはプロパティとして公開されるので、名前は、追加の文字
「-」(HYPHEN-MINUS) を含む「Unicode」のセクション 5.16「識別子」に
従うことをお勧めしますが、DOM 実装により強制はされません。DOM レベ
ル 3 コア実装では、この仕様で定義されているすべてのパラメータを認識
する必要があります。一部のパラメータ値も、この実装でサポートされる必
要があります。値がサポートされているかどうかについては、パラメータの
定義を参照してください。
注: パラメータは 、SAX2「SAX」で使 用される機能およびプロパティと同様です。
次のパラメータリストは DOM で定義されています。
"canonical-form"
true
DocumentType
ノード (存在する場合) をツリーから削除したり、個々の要素から不要な名前空間宣言を削除して文書を標準化します。これは DOM で表現できるコンテンツに制限されます。特に、DOM で属性の順序を指定する方法はありません。また、このパラメータを true
に設定すると、下記のパラメータの状態も設定されます。あとで、そのうちの 1 つに変更すると、「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"
true
false
"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
インタフェースの説明
で指定されているように、At tr.specified
が
false
である属性ノードText.isElementContentWhitespace
属性の値 li> Attr
ノードの
Attr.isId
属性の値Element.schemaTypeInfo
属性と Attr.schemaTypeInfo 属性
注: 「validate-if-schema」と「validate」は相互に排他的です。
一方を true
に設定すると、他方は false
に
設定されます。アプリケーションでは、文書の検証時、このオプションの
デフォルトである w ell-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
ノード内のデータが
無効な文字を含んでいるかどうかをチェックし、必要に応じて DOMErr
or.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 オブジェクトがサポートしているパラメータのリスト。 |
void |
setParameter(String name,
Object value)
パラメータの値を設定します。 |
メソッドの詳細 |
---|
void setParameter(String name, Object value) throws DOMException
name
- 設定するパラメータの名前value
- 新しい値またはユーザがパラメータを設定しない場合は null
。パラメータの値型は DOMUserData
により定義されるが、オブジェクト型はパラメータの定義により定義された型に一致しなければならない。たとえば、パラメータが error-handler である場合、値は DOMErrorHandler
型でなければならない
DOMException
- NOT_FOUND_ERR: パラメータ名が認識されない場合Object getParameter(String name) throws DOMException
name
- パラメータの名前
null
DOMException
- NOT_SUPPORTED_ERR: パラメータ名が認識されない場合boolean canSetParameter(String name, Object value)
name
- チェックするパラメータの名前value
- オブジェクト。null
の場合、返される値は true
true
。パラメータが認識されない場合や要求された値がサポートされていない場合は false
。これにより、パラメータ自体の現在の値は変更されないDOMStringList getParameterNames()
DOMConfiguration
オブジェクトがサポートしているパラメータのリスト。アプリケーションでは少なくとも 1 つの値をこれらのパラメータに対して設定できます。このリストには、この仕様の外部で定義されたパラメータ名も含まれる可能性があることに注意してください。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。