JavaTM Platform
Standard Ed. 6

org.w3c.dom
接口 TypeInfo


public interface TypeInfo

TypeInfo 接口表示从 ElementAttr 节点引用的类型,用与文档相关的模式指定。该类型是一对名称空间 URI 和名称属性,且取决于文档的模式。

如果文档的模式为 XML DTD [XML 1.0],则按以下方式计算值:

如果文档的模式为 XML Schema [XML Schema Part 1],则使用后模式验证信息集贡献(也称为 PSVI 贡献)按以下方式计算值:

注:其他模式语言不在 W3C 的范围内,因此应该使用 TypeInfo 定义如何表示它们的类型系统。

另请参见 Document Object Model (DOM) Level 3 Core Specification

从以下版本开始:
DOM Level 3

字段摘要
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)和其他类型定义(即作为参数传递的类型定义)之间是否存在派生。
 

字段详细信息

DERIVATION_RESTRICTION

static final int DERIVATION_RESTRICTION
如果文档的模式为 XML Schema [ XML Schema Part 1],则此常量表示通过 restriction 进行的派生(如果涉及复杂的类型)或 restriction(如果涉及简单的类型)。
如果其他类型定义与引用类型定义相同,或者如果遵循引用类型定义中的 {base type definition} 属性可以递归式到达其他类型定义,并且涉及的所有 derivation methods 都是限制,则引用类型定义由限制从其他类型定义中派生。

另请参见:
常量字段值

DERIVATION_EXTENSION

static final int DERIVATION_EXTENSION
如果文档的模式为 XML Schema [ XML Schema Part 1],则此常量表示由 extension 派生出的。
如果遵循引用类型定义中的 {base type definition} 属性可以递归式到达其他类型定义,且至少一个涉及到的 derivation methods 是扩展,则引用类型定义由扩展从其他类型定义中派生。

另请参见:
常量字段值

DERIVATION_UNION

static final int DERIVATION_UNION
如果文档的模式为 XML Schema [ XML Schema Part 1],则此常量表示 union(如果涉及简单类型)。
如果存在两种类型定义 T1 和 T2,T1 具有 {各种} union,而其中一个 {成员类型定义} 为 T2,则引用类型定义由 union 从其他类型定义派生,例如,引用类型定义是通过 DERIVATION_RESTRICTIONDERIVATION_EXTENSION 从 T1 派生的,T2 是通过 DERIVATION_RESTRICTION 从其他类型定义派生。注意,T1 可以与引用类型定义相同,T2 可以与其他类型定义相同。

另请参见:
常量字段值

DERIVATION_LIST

static final int DERIVATION_LIST
如果文档的模式为 XML Schema [ XML Schema Part 1],则此常量表示 列表
如果存在两种类型定义 T1 和 T2,例如,引用类型定义由 DERIVATION_RESTRICTIONDERIVATION_EXTENSION 从 T1 派生,T2 由 DERIVATION_RESTRICTION 从其他类型定义派生,则引用类型定义由列表从其他类型派生,T1 具有 {各种} 列表,T2 为 {项类型定义}。注意,T1 可以与引用类型定义相同,T2 可以与其他类型定义相同。

另请参见:
常量字段值
方法详细信息

getTypeName

String getTypeName()
为相关元素或属性声明的类型的名称;如果未知,则为 null


getTypeNamespace

String getTypeNamespace()
为相关元素或属性声明的类型的名称空间;如果该元素没有声明或如果没有名称空间信息可用,则为 null


isDerivedFrom

boolean isDerivedFrom(String typeNamespaceArg,
                      String typeNameArg,
                      int derivationMethod)
此方法返回引用类型定义(即在其上调用该方法的 TypeInfo)和其他类型定义(即作为参数传递的类型定义)之间是否存在派生。

参数:
typeNamespaceArg - 其他类型定义的名称空间。
typeNameArg - 其他类型定义的名称。
derivationMethod - 在两种类型之间应用的派生类型和条件,如在此接口中提供的常量列表中描述的。
返回:
如果文档的模式为 DTD 或者没有与此文档相关的模式,则此方法将总是返回 false。如果文档的模式为 XML Schema,则该方法将为 true(如果按照派生参数从其他类型定义派生引用类型定义)。如果参数的值为 0(没有将 derivationMethod 参数的任何一位设置为 1),则该方法将返回 true(如果可以通过从引用类型定义递归{基本类型定义}、{项类型定义}或{成员类型定义} 组合到达其他类型定义)。

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策