- java.lang.Object
-
- javax.xml.validation.TypeInfoProvider
-
public abstract class TypeInfoProvider extends Object
此类提供对ValidatorHandler
确定的类型信息的访问 。某些模式语言(如W3C XML Schema)鼓励验证程序报告它为每个属性/元素分配的“类型”。 希望访问此类型信息的那些应用程序可以调用在此“接口”上定义的方法来访问此类型信息。
可以通过
ValidatorHandler.getTypeInfoProvider()
方法获得该“接口”的实现 。- 从以下版本开始:
- 1.5
- 另请参见:
-
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
。
-
-
-
方法详细信息
-
getElementTypeInfo
public abstract TypeInfo getElementTypeInfo()
返回当前元素的不可变
TypeInfo
对象。该方法只能由应用程序设置为
ValidatorHandler
的ContentHandler
的startElement事件或endElement事件调用 。当正在执行W3C XML Schema验证时,在元素具有union类型的情况下,通过从startElement事件调用getElementTypeInfo()返回的
getElementTypeInfo()
将是union类型。 来自endElement事件的调用返回的TypeInfo
将是用于验证元素的实际成员类型。- 结果
-
一个不可变的
TypeInfo
对象,表示当前元素的类型。 请注意,调用者可以保持对获取的TypeInfo
的引用长于回调范围。 否则,如果验证程序由于某种原因无法确定当前元素的类型(例如,验证程序是从早期错误中恢复的话),则此方法返回null。 - 异常
-
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
getAttributeTypeInfo
public abstract TypeInfo getAttributeTypeInfo(int index)
返回当前元素的指定属性的不可变TypeInfo
对象。该方法只能由应用程序设置为
ValidatorHandler
的ContentHandler
的startElement事件调用 。- 参数
-
index
- 属性的索引。Attributes
对象的相同索引传递给startElement
回调。 - 结果
-
一个不可变的
TypeInfo
对象,表示指定属性的类型。 请注意,调用者可以保持对获取的TypeInfo
的引用长于回调范围。 否则,如果验证程序无法确定类型,则此方法返回null。 - 异常
-
IndexOutOfBoundsException
- 如果索引无效。 -
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
isIdAttribute
public abstract boolean isIdAttribute(int index)
如果确定指定的属性是ID,则返回true
。实际上属性如何“确定为ID”取决于模式语言。 对于W3C XML Schema,这意味着属性的实际类型是内置ID类型或其派生类型。
A
DocumentBuilder
使用此信息正确实现Attr.isId()
。该方法只能由应用程序设置为
ValidatorHandler
的ContentHandler
的startElement事件调用 。- 参数
-
index
- 属性的索引。 传递给startElement
回调的Attributes
对象的索引相同。 - 结果
- 如果指定属性的类型是ID,则返回true。
- 异常
-
IndexOutOfBoundsException
- 如果索引无效。 -
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
isSpecified
public abstract boolean isSpecified(int index)
如果验证器添加了属性,则返回false
。此方法提供
DocumentBuilder
确定DOM树应从Attr.getSpecified()
方法返回的内容所需的信息 。该方法只能由应用程序设置为
ValidatorHandler
的ContentHandler
的startElement事件调用 。验证器的一般准则是,如果属性最初存在于管道中,则返回true;如果验证器添加了属性,则返回false。
- 参数
-
index
- 属性的索引。 传递给startElement
回调的Attributes
对象的索引相同。 - 结果
-
true
如果在验证器处理输入之前存在该属性。false
如果验证者添加了属性。 - 异常
-
IndexOutOfBoundsException
- 如果索引无效。 -
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
-