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