- java.lang.Object
-
- javax.xml.validation.TypeInfoProvider
-
public abstract class TypeInfoProvider extends Object
该类提供对由ValidatorHandler确定的类型信息的访问 。一些模式语言(如W3C XML Schema)鼓励验证器报告它分配给每个属性/元素的“类型”。 希望访问此类型信息的应用程序可以调用此“接口”上定义的方法来访问此类型的信息。
这个“接口”的实现可以通过
ValidatorHandler.getTypeInfoProvider()方法获得。- 从以下版本开始:
- 1.5
- 另请参见:
-
TypeInfo
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedTypeInfoProvider()派生类的构造方法
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 abstract TypeInfogetAttributeTypeInfo(int index)返回当前元素的指定属性的不可变的TypeInfo对象。abstract TypeInfogetElementTypeInfo()返回当前元素的不可变的TypeInfo对象。abstract booleanisIdAttribute(int index)如果指定的属性被确定为ID,则返回true。abstract booleanisSpecified(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方法调用此方法。
-
-