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, 2013, Oracle and/or its affiliates. All rights reserved.