java.lang.Object javax.xml.validation.TypeInfoProvider
public abstract class TypeInfoProvider
此类提供了对 ValidatorHandler
所确定的类型信息的访问。
某些模式语言(例如 W3C XML Schema)鼓励验证器报告它分配给每个属性/元素的“类型”。那些希望访问此类型信息的应用程序可以调用此“接口”上的方法来访问这样的类型信息。
此“接口”的实现可以通过 ValidatorHandler.getTypeInfoProvider()
方法获取。
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 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
protected TypeInfoProvider()
构造方法不执行任何动作。
方法详细信息 |
---|
public abstract TypeInfo getElementTypeInfo()
返回当前元素的不可变的 TypeInfo
对象。
该方法只能由 ContentHandler
(应用程序将其设置为 ValidatorHandler
)的 startElement 事件或 endElement 事件调用。
当正在执行 W3C XML 模式验证时,在元素具有 union 类型的情况下,对 startElement 事件调用 getElementTypeInfo()
所返回的 TypeInfo
将是 union 类型。endElement 事件的调用所返回的 TypeInfo
将是实际用来验证元素的数字类型。
TypeInfo
对象。注意,调用者保持对所获得的
TypeInfo
的引用时间可能要长于回调作用时间。否则,如果由于某种原因验证器不能确定当前元素的类型(例如,如果验证器正从较早的错误中恢复),则此方法返回 null。
IllegalStateException
- 如果从其他
ContentHandler
方法调用了此方法。
public abstract TypeInfo getAttributeTypeInfo(int index)
TypeInfo
对象。
该方法只能由 ContentHandler
(应用程序将其设置为 ValidatorHandler
)的 startElement 事件调用。
index
- 属性的索引。传递给
startElement
回调的
Attributes
对象的相同索引。
TypeInfo
对象。注意,调用者保持对所获得的
TypeInfo
的引用时间可能要长于回调作用时间。否则,如果验证器无法确定类型,则此方法返回 null。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果从其他
ContentHandler
方法调用了此方法。
public abstract boolean isIdAttribute(int index)
true
。
属性如何“确定为 ID”的准确方式取决于模式语言。在 W3C XML 模式中,这意味着实际的属性类型为内置的 ID 类型或其派生类型。
DocumentBuilder
使用此信息来正确地实现 Attr.isId()
。
该方法只能由 ContentHandler
(应用程序将其设置为 ValidatorHandler
)的 startElement 事件调用。
index
- 属性的索引。传递给
startElement
回调的
Attributes
对象的相同索引。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果从其他
ContentHandler
方法调用了此方法。
public abstract boolean isSpecified(int index)
false
。
此方法为 DocumentBuilder
提供了所需的信息,以确定 DOM 树应从 Attr.getSpecified()
方法返回的内容。
该方法只能由 ContentHandler
(应用程序将其设置为 ValidatorHandler
)的 startElement 事件调用。
验证器的通用指导原则是:如果属性最初就在管线中存在,则返回 true,如果它是通过验证器添加的,则返回 false。
index
- 属性的索引。传递给
startElement
回调的
Attributes
对象的相同索引。
true
,如果属性是通过验证器添加的,则返回
false
。
IndexOutOfBoundsException
- 如果索引无效。
IllegalStateException
- 如果从其他
ContentHandler
方法调用了此方法。