public interface TypeInfo
TypeInfo
接口表示从与文档关联的模式中指定的Element
或Attr
节点引用的类型。
该类型是一对名称空间URI和名称属性,并且取决于文档的架构。
如果文档的模式是XML DTD [ XML 1.0 ],则计算值如下:
Attr
节点, typeNamespace
是"http://www.w3.org/TR/REC-xml"
和typeName
表示在[对[属性类型]属性XML Information Set ]。 如果没有属性的声明, typeNamespace
和typeName
是null
。 Element
节点typeNamespace
,则typeNamespace
和typeName
为null
。 如果文档的模式是XML模式[ XML Schema Part 1 ],则使用后模式验证信息集贡献(也称为PSVI贡献)计算以下值:
null
。 注意:在编写本文时,XML Schema规范不需要公开声明的类型。 因此,如果有效性无效,则DOM实现可能选择不提供类型信息。
注意:其他模式语言不在W3C的范围内,因此应该使用TypeInfo
定义如何表示其类型系统。
Modifier and Type | Field and Description |
---|---|
static int |
DERIVATION_EXTENSION
如果文档的模式是XML Schema [
XML Schema Part 1 ],则该常量表示extension的
派生 。
|
static int |
DERIVATION_LIST
如果文档的架构是XML Schema [
XML Schema Part 1 ],则该常量代表
list 。
|
static int |
DERIVATION_RESTRICTION
|
static int |
DERIVATION_UNION
如果文档的模式是XML Schema [
XML Schema Part 1 ],则该常量表示涉及简单类型的
union 。
|
Modifier and Type | Method and Description |
---|---|
String |
getTypeName()
为相关联的元素或属性声明的类型的名称,如果未知,
null 。
|
String |
getTypeNamespace()
申报相关的元素,属性或类型的命名空间
null 如果元素没有声明或如果没有名称空间信息可用。
|
boolean |
isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
如果在引用类型定义之间存在推导,则返回此方法,即
|
static final int DERIVATION_RESTRICTION
static final int DERIVATION_EXTENSION
static final int DERIVATION_UNION
DERIVATION_RESTRICTION
或DERIVATION_EXTENSION
导出,则引用类型定义是通过其他类型定义的并DERIVATION_RESTRICTION
导出的,T2是由DERIVATION_RESTRICTION
从另一类型定义DERIVATION_RESTRICTION
,T1具有{variety} union ,其中一个{member type definitions}是T2。
请注意,T1可能与参考类型定义相同,T2可能与其他类型定义相同。
static final int DERIVATION_LIST
DERIVATION_RESTRICTION
或DERIVATION_EXTENSION
导出,则引用类型定义由另一类型定义的DERIVATION_RESTRICTION
派生,T2来自DERIVATION_RESTRICTION的其他类型DERIVATION_RESTRICTION
,T1具有{variety} 列表 ,T2是{项目类型定义}。
请注意,T1可能与参考类型定义相同,T2可能与其他类型定义相同。
String getTypeName()
null
。
String getTypeNamespace()
null
如果元素没有声明或如果没有名称空间信息可用。
boolean isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
TypeInfo
与另一种类型定义(即作为参数传递的定义)之间有派生,则返回此方法。
typeNamespaceArg
- 其他类型定义的命名空间。
typeNameArg
- 其他类型定义的名称。
derivationMethod
- 在两个类型之间应用的派生类型和条件,如该接口中提供的常量列表所述。
false
。
如果文档的模式是一个XML Schema,该方法将返回true
如果参考类型定义从其它类型的定义,以便根据推导参数导出。
如果该参数的值是0
(没有位被设置为1
为derivationMethod
参数),该方法将返回true
如果其它类型的定义可以通过递归{基本类型定义},{项类型定义}的任意组合来达到,或{成员类型定义}。