public abstract class TypeInfoProvider extends Object
ValidatorHandler
によって判定された型情報にアクセスできます。
W3C XML Schemaなどの一部のスキーマ言語では、バリデータで各属性および要素に割り当てる「型」を報告することが推奨されています。この型情報にアクセスしようとするアプリケーションでは、この「インタフェース」に定義されたメソッドを呼び出してそれらの型情報にアクセスできます。
この「インタフェース」の実装はValidatorHandler.getTypeInfoProvider()
メソッドによって取得できます。
TypeInfo
修飾子 | コンストラクタと説明 |
---|---|
protected |
TypeInfoProvider()
派生クラスのコンストラクタです。
|
修飾子と型 | メソッドと説明 |
---|---|
abstract TypeInfo |
getAttributeTypeInfo(int index)
現在の要素の指定された属性の不変の
TypeInfo オブジェクトを返します。 |
abstract TypeInfo |
getElementTypeInfo()
現在の要素の不変の
TypeInfo オブジェクトを返します。 |
abstract boolean |
isIdAttribute(int index)
指定された属性がIDであると判定された場合に
true を返します。 |
abstract boolean |
isSpecified(int index)
属性がバリデータによって追加された場合
false を返します。 |
public abstract TypeInfo getElementTypeInfo()
現在の要素の不変のTypeInfo
オブジェクトを返します。
メソッドはアプリケーションでValidatorHandler
に設定したContentHandler
のstartElementイベントまたはendElementイベントによってのみ呼び出すことができます。
W3C XML Schema検証の実行中、要素がunion型を持つ場合、startElementイベントからのgetElementTypeInfo()
の呼出しによって返されるTypeInfo
はunion型になります。endElementイベントからの呼出しによって返されたTypeInfo
は、要素を検証するために使用される実際のメンバー型になります。
TypeInfo
オブジェクト。呼出し側は取得したTypeInfo
への参照をコールバック・スコープより長く保持できる。または、バリデータが何らかの理由(たとえばバリデータが以前のエラーから回復中である場合など)により、現在の要素の型を判定できない場合、このメソッドはnullを返すIllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。public abstract TypeInfo getAttributeTypeInfo(int index)
TypeInfo
オブジェクトを返します。
メソッドはアプリケーションでValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。TypeInfo
オブジェクト。呼出し側は取得したTypeInfo
への参照をコールバック・スコープより長く保持できる。または、バリデータが型を判定できない場合、このメソッドはnullを返す。IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。public abstract boolean isIdAttribute(int index)
true
を返します。
属性がどのようにして「識別子と判定される」かは、スキーマ言語により異なります。W3C XML Schemaの場合は、属性の実際の型が組込み識別子型またはその派生型であれば、識別子と判定されます。
DocumentBuilder
がAttr.isId()
を適切に実装するためにこの情報を使用します。
メソッドはアプリケーションでValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。public abstract boolean isSpecified(int index)
false
を返します。
このメソッドはDocumentBuilder
がAttr.getSpecified()
メソッドから返す必要があるDOMツリーを特定するために必要な情報を提供します。
メソッドはアプリケーションでValidatorHandler
に設定したContentHandler
のstartElementイベントによってのみ呼び出すことができます。
バリデータの一般的なガイドラインは、属性が最初からパイプラインに存在していた場合trueを返し、バリデータによって追加された場合falseを返すことです。
index
- 属性のインデックス。startElement
コールバックに渡されたAttributes
オブジェクトの同じインデックス。true
。属性がバリデータによって追加された場合はfalse
。IndexOutOfBoundsException
- インデックスが無効な場合。IllegalStateException
- このメソッドがほかのContentHandler
メソッドから呼び出された場合。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.