モジュール java.xml
パッケージ javax.xml.validation

クラスTypeInfoProvider



  • public abstract class TypeInfoProvider
    extends Object
    このクラスはValidatorHandlerによって判定された型情報にアクセスできます。

    W3C XML Schemaなどの一部のスキーマ言語では、バリデータで各属性および要素に割り当てる「型」を報告することが推奨されています。 この型情報にアクセスしようとするアプリケーションでは、この「インタフェース」に定義されたメソッドを呼び出してそれらの型情報にアクセスできます。

    この「インタフェース」の実装はValidatorHandler.getTypeInfoProvider()メソッドによって取得できます。

    導入されたバージョン:
    1.5
    関連項目:
    TypeInfo
    • コンストラクタの詳細

      • 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の場合は、属性の実際の型が組込み識別子型またはその派生型であれば、識別子と判定されます。

        DocumentBuilderAttr.isId()を適切に実装するためにこの情報を使用します。

        メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。

        パラメータ:
        index - 属性のインデックス。 startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。
        戻り値:
        true指定された属性の型が識別子である場合。
        例外:
        IndexOutOfBoundsException - インデックスが無効な場合。
        IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。
      • isSpecified

        public abstract boolean isSpecified​(int index)
        属性がバリデータによって追加された場合falseを返します。

        このメソッドはDocumentBuilderAttr.getSpecified()メソッドから返す必要があるDOMツリーを特定するために必要な情報を提供します。

        メソッドはアプリケーションでValidatorHandlerに設定したContentHandlerのstartElementイベントによってのみ呼び出すことができます。

        バリデータの一般的なガイドラインは、属性が最初からパイプラインに存在していた場合trueを返し、バリデータによって追加された場合falseを返すことです。

        パラメータ:
        index - 属性のインデックス。 startElementコールバックに渡されたAttributesオブジェクトの同じインデックス。
        戻り値:
        バリデータが入力を処理する前から属性が存在していた場合はtrue。属性がバリデータによって追加された場合はfalse
        例外:
        IndexOutOfBoundsException - インデックスが無効な場合。
        IllegalStateException - このメソッドがほかのContentHandlerメソッドから呼び出された場合。