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] 中的 [attribute type] 属性。如果没有属性声明,则 typeNamespace
和 typeName
为 null
。 Element
节点引用的,则 typeNamespace
和 typeName
为 null
。 如果文档的模式为 XML Schema [XML Schema Part 1],则使用后模式验证信息集贡献(也称为 PSVI 贡献)按以下方式计算值:
null
。 注:在写入时,XML Schema 规范不要求公开声明的类型。因此,如果有效性是无效的,则 DOM 实现可能选择不提供类型信息。
注:其他模式语言不在 W3C 的范围内,因此应该使用 TypeInfo
定义如何表示它们的类型系统。
另请参见 Document Object Model (DOM) Level 3 Core Specification。
字段摘要 | |
---|---|
static int |
DERIVATION_EXTENSION 如果文档的模式为 XML Schema [XML Schema Part 1],则此常量表示由 extension 派生出的。 |
static int |
DERIVATION_LIST 如果文档的模式为 XML Schema [XML Schema Part 1],则此常量表示 列表。 |
static int |
DERIVATION_RESTRICTION 如果文档的模式为 XML Schema [XML Schema Part 1],则此常量表示通过 restriction 进行的派生(如果涉及复杂的类型)或 restriction(如果涉及简单的类型)。 |
static int |
DERIVATION_UNION 如果文档的模式为 XML Schema [XML Schema Part 1],则此常量表示 union(如果涉及简单类型)。 |
方法摘要 | |
---|---|
String |
getTypeName() 为相关元素或属性声明的类型的名称;如果未知,则为 null 。 |
String |
getTypeNamespace() 为相关元素或属性声明的类型的名称空间;如果该元素没有声明或如果没有名称空间信息可用,则为 null 。 |
boolean |
isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod) 此方法返回引用类型定义(即在其上调用该方法的 TypeInfo )和其他类型定义(即作为参数传递的类型定义)之间是否存在派生。 |
字段详细信息 |
---|
static final int DERIVATION_RESTRICTION
static final int DERIVATION_EXTENSION
static final int DERIVATION_UNION
DERIVATION_RESTRICTION
或
DERIVATION_EXTENSION
从 T1 派生的,T2 是通过
DERIVATION_RESTRICTION
从其他类型定义派生。注意,T1 可以与引用类型定义相同,T2 可以与其他类型定义相同。
static final int DERIVATION_LIST
DERIVATION_RESTRICTION
或
DERIVATION_EXTENSION
从 T1 派生,T2 由
DERIVATION_RESTRICTION
从其他类型定义派生,则引用类型定义由列表从其他类型派生,T1 具有 {各种}
列表,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
(没有将
derivationMethod
参数的任何一位设置为
1
),则该方法将返回
true
(如果可以通过从引用类型定义递归{基本类型定义}、{项类型定义}或{成员类型定义} 组合到达其他类型定义)。