ValidatorHandler
によって判定された型情報にアクセスできます。
W3C XML Schemaなどの一部のスキーマ言語では、バリデータで各属性および要素に割り当てる「型」を報告することが推奨されています。 この型情報にアクセスしようとするアプリケーションでは、この「インタフェース」に定義されたメソッドを呼び出してそれらの型情報にアクセスできます。
この「インタフェース」の実装はValidatorHandler.getTypeInfoProvider()
メソッドによって取得できます。
- 導入されたバージョン:
- 1.5
- 関連項目:
TypeInfo
-
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract TypeInfo
getAttributeTypeInfo(int index)
現在の要素の指定された属性の不変のTypeInfo
オブジェクトを返します。abstract TypeInfo
現在の要素の不変のTypeInfo
オブジェクトを返します。abstract boolean
isIdAttribute(int index)
指定された属性がIDであると判定された場合にtrue
を返します。abstract boolean
isSpecified(int index)
属性がバリデータによって追加された場合false
を返します。
-
コンストラクタの詳細
-
TypeInfoProvider
protected TypeInfoProvider()派生クラスのコンストラクタです。このコンストラクタは何も行いません。
-
-
メソッドの詳細
-
getElementTypeInfo
public abstract TypeInfo getElementTypeInfo()現在の要素の不変の
TypeInfo
オブジェクトを返します。メソッドはアプリケーションで
ValidatorHandler
に設定したContentHandler
のstartElementイベントまたはendElementイベントによってのみ呼び出すことができます。W3C XML Schema検証の実行中、要素がunion型を持つ場合、startElementイベントからの
getElementTypeInfo()
の呼出しによって返されるTypeInfo
はunion型になります。 endElementイベントからの呼出しによって返されたTypeInfo
は、要素を検証するために使用される実際のメンバー型になります。- 戻り値:
- 現在の要素の型を表す不変の
TypeInfo
オブジェクト。 呼出し側は取得したTypeInfo
への参照をコールバック・スコープより長く保持できる。 または、バリデータが何らかの理由(たとえばバリデータが以前のエラーから回復中である場合など)により、現在の要素の型を判定できない場合、このメソッドはnullを返す - 例外:
IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。
-
getAttributeTypeInfo
public abstract TypeInfo getAttributeTypeInfo(int index)現在の要素の指定された属性の不変のTypeInfo
オブジェクトを返します。メソッドはアプリケーションで
ValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。- パラメータ:
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。- 戻り値:
- 指定した属性の型を表す不変の
TypeInfo
オブジェクト。 呼出し側は取得したTypeInfo
への参照をコールバック・スコープより長く保持できる。 または、バリデータが型を判定できない場合、このメソッドはnullを返す。 - 例外:
IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。
-
isIdAttribute
public abstract boolean isIdAttribute(int index)指定された属性がIDであると判定された場合にtrue
を返します。属性がどのようにして「識別子と判定される」かは、スキーマ言語により異なります。 W3C XML Schemaの場合は、属性の実際の型が組込み識別子型またはその派生型であれば、識別子と判定されます。
DocumentBuilder
がAttr.isId()
を適切に実装するためにこの情報を使用します。メソッドはアプリケーションで
ValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。- パラメータ:
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。- 戻り値:
- true指定された属性の型が識別子である場合。
- 例外:
IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。
-
isSpecified
public abstract boolean isSpecified(int index)属性がバリデータによって追加された場合false
を返します。このメソッドは
DocumentBuilder
がAttr.getSpecified()
メソッドから返す必要があるDOMツリーを特定するために必要な情報を提供します。メソッドはアプリケーションで
ValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。バリデータの一般的なガイドラインは、属性が最初からパイプラインに存在していた場合trueを返し、バリデータによって追加された場合falseを返すことです。
- パラメータ:
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。- 戻り値:
- バリデータが入力を処理する前から属性が存在していた場合は
true
。属性がバリデータによって追加された場合はfalse
。 - 例外:
IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。
-