ValidatorHandler
确定的类型信息。
一些模式语言,如W3C XML Schema,鼓励验证器报告其为每个属性/元素分配的“类型”。希望访问此类型信息的应用程序可以调用此“接口”上定义的方法来访问此类类型信息。
可以通过ValidatorHandler.getTypeInfoProvider()
方法获取此“接口”的实现。
- 自:
- 1.5
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract TypeInfo
getAttributeTypeInfo
(int index) 返回当前元素指定属性的不可变TypeInfo
对象。abstract TypeInfo
返回当前元素的不可变TypeInfo
对象。abstract boolean
isIdAttribute
(int index) 如果指定属性被确定为ID,则返回true
。abstract boolean
isSpecified
(int index) 如果属性是由验证器添加的,则返回false
。
-
Constructor Details
-
TypeInfoProvider
protected TypeInfoProvider()派生类的构造函数。构造函数不执行任何操作。
-
-
Method Details
-
getElementTypeInfo
返回当前元素的不可变
TypeInfo
对象。该方法只能由应用程序设置给
ValidatorHandler
的ContentHandler
的startElement
事件或endElement
事件调用。在执行W3C XML Schema验证时,如果元素具有联合类型,则从
startElement
事件调用getElementTypeInfo()
返回的TypeInfo
将是联合类型。从endElement
事件调用返回的TypeInfo
将是用于验证元素的实际成员类型。- 返回:
-
代表当前元素类型的不可变
TypeInfo
对象。请注意,调用者可以在回调范围之外保留对获得的TypeInfo
的引用。否则,如果验证器无法出于某种原因(例如,如果验证器正在从先前的错误中恢复)确定当前元素的类型,则此方法返回null。 - 抛出:
-
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
getAttributeTypeInfo
返回当前元素指定属性的不可变TypeInfo
对象。该方法只能由应用程序设置给
ValidatorHandler
的ContentHandler
的startElement
事件调用。- 参数:
-
index
- 属性的索引。与传递给startElement
回调的Attributes
对象的相同索引。 - 返回:
-
代表指定属性类型的不可变
TypeInfo
对象。请注意,调用者可以在回调范围之外保留对获得的TypeInfo
的引用。否则,如果验证器无法确定类型,则此方法返回null。 - 抛出:
-
IndexOutOfBoundsException
- 如果索引无效。 -
IllegalStateException
- 如果从其他ContentHandler
方法调用此方法。
-
isIdAttribute
public abstract boolean isIdAttribute(int index) 如果指定属性被确定为ID,则返回true
。属性如何被“确定为ID”取决于模式语言。在W3C XML Schema的情况下,这意味着属性的实际类型是内置ID类型或其派生类型。
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
方法调用此方法。
-