public abstract class TypeInfoProvider extends Object
ValidatorHandler
确定的类型信息的访问 。
一些模式语言(如W3C XML Schema)鼓励验证器报告它分配给每个属性/元素的“类型”。 希望访问此类型信息的应用程序可以调用此“接口”上定义的方法来访问此类型的信息。
这种“接口”的实现可以通过ValidatorHandler.getTypeInfoProvider()
方法获得。
TypeInfo
Modifier | Constructor and Description |
---|---|
protected |
TypeInfoProvider()
派生类的构造方法
|
Modifier and Type | Method and Description |
---|---|
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
对象。
该方法可以仅由startElement事件或的的endElement事件调用ContentHandler
,所述应用程序集的ValidatorHandler
。
当正在执行W3C XML模式验证,在一个元件具有联合类型的情况下, TypeInfo
返回通过调用getElementTypeInfo()
从startElement事件将是联合类型。 所述TypeInfo
通过从的endElement事件的调用返回将是用于验证元件的实际构件类型。
TypeInfo
对象,表示当前元素的类型。
请注意,呼叫者可以保留对获取的TypeInfo
的引用长于回调范围。
否则,如果验证器由于某种原因无法确定当前元素的类型(例如,如果验证器从早期错误中恢复),则此方法返回null。
IllegalStateException
- 如果这种方法是从其他ContentHandler
方法调用的。
public abstract TypeInfo getAttributeTypeInfo(int index)
TypeInfo
对象。
该方法只能由ContentHandler
的startElement事件调用 ,该应用程序将设置为ValidatorHandler
。
index
- index
的索引。
相同的索引为Attributes
对象传递给startElement
回调。
TypeInfo
对象。
请注意,呼叫者可以保留对获得的TypeInfo
的引用长于回调范围。
否则,如果验证器无法确定类型,则此方法返回null。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果这种方法是从其他ContentHandler
方法调用的。
public abstract boolean isIdAttribute(int index)
true
。
属性如何“被确定为ID”是由模式语言决定的。 在W3C XML Schema的情况下,这意味着属性的实际类型是内置的ID类型或其派生类型。
A DocumentBuilder
使用此信息正确实现Attr.isId()
。
该方法只能由ContentHandler
的startElement事件调用 ,该应用程序将设置为ValidatorHandler
。
index
- index
的索引。
Attributes
对象的相同索引传递给startElement
回调。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果这种方法是从其他ContentHandler
方法调用的。
public abstract boolean isSpecified(int index)
false
由验证器添加,则返回false。
该方法提供了一个DocumentBuilder
确定DOM树应该从Attr.getSpecified()
方法返回的信息 。
该方法只能由ContentHandler
的startElement事件调用 ,该应用程序将设置为ValidatorHandler
。
验证器的一般准则是如果属性最初存在于管道中,则返回true,如果由验证器添加,则返回false。
index
- index
的索引。
相同的索引为Attributes
对象传递给startElement
回调。
true
如果属性在验证器进程输入之前存在。
false
如果属性是由验证器添加的。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果这种方法是从其他ContentHandler
方法调用的。