public interface TypeInfo
org.w3c.dom.TypeInfo |
TypeInfo
界面表示从Element
或Attr
节点引用的类型,在与文档关联的模式中指定。 该类型是一对名称空间URI和名称属性,并且取决于文档的模式。
如果文档的模式是XML DTD [ XML 1.0 ], 则按如下方式计算值:
Attr
node, typeNamespace
is "http://www.w3.org/TR/REC-xml"
and typeName
represents the [attribute type] property in the [XML Information Set] . If there is no declaration for the attribute, typeNamespace
and typeName
are null
. Element
node, typeNamespace
and typeName
are null
. 如果文档的模式是XML模式[ XML Schema Part 1 ],则使用模式后验证信息集贡献(也称为PSVI贡献)按如下方式计算值:
null
. 注意:在撰写本文时,XML Schema规范不要求公开声明的类型。 因此,如果有效性无效,DOM实现可能会选择不提供类型信息。
注意:其他模式语言超出了W3C的范围,因此应该定义如何使用 TypeInfo
来表示它们的类型系统。
另请参阅 Document Object Model (DOM) Level 3 Core Specification 。
Constants |
|
---|---|
int |
DERIVATION_EXTENSION 如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示 extension的派生。 |
int |
DERIVATION_LIST 如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量代表 list 。 |
int |
DERIVATION_RESTRICTION 如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示如果涉及复杂类型,则由 restriction派生;如果涉及简单类型,则表示 restriction 。 |
int |
DERIVATION_UNION 如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示涉及简单类型的 union 。 |
Public methods |
|
---|---|
abstract String |
getTypeName() 为相关元素或属性声明的类型的名称,如果未知, |
abstract String |
getTypeNamespace() 如果元素没有声明或没有可用的名称空间信息,则为关联的元素或属性或 |
abstract boolean |
isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod) 如果在引用类型定义之间存在派生,则返回此方法 |
int DERIVATION_EXTENSION
如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示extension的派生。
如果可以在引用类型定义的{基类型定义}属性之后递归地到达其他类型定义,并且所涉及的派生方法中的至少一个是扩展,则引用类型定义通过来自其他类型定义的扩展来派生。
常量值:2(0x00000002)
int DERIVATION_LIST
如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量代表list 。
引用类型定义由列表从其他类型的定义导出,如果存在两所式定义T1和T2,如引用类型定义是从T1由衍生DERIVATION_RESTRICTION
或DERIVATION_EXTENSION
,T2被从其他类型定义由派生DERIVATION_RESTRICTION
,T1具有{品种} 列表 ,并且T2是{项目类型定义}。 请注意,T1可能与引用类型定义相同,并且T2可能与其他类型定义相同。
常量值:8(0x00000008)
int DERIVATION_RESTRICTION
如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示如果涉及复杂类型,则由restriction派生,如果涉及简单类型,则表示restriction 。
如果其他类型定义与引用类型定义相同,或者如果可以在引用类型定义的{基类型定义}属性之后递归地到达其他类型定义,则通过来自其他类型定义的限制来派生引用类型定义,所有的推导方法都是限制性的。
常数值:1(0x00000001)
int DERIVATION_UNION
如果文档的模式是XML模式[ XML Schema Part 1 ],则此常量表示涉及简单类型的union 。
如果存在两个类型定义T1和T2,例如参考类型定义是从DERIVATION_RESTRICTION
或DERIVATION_EXTENSION
导出的参考类型定义,T2是从另一个类型定义DERIVATION_RESTRICTION
,则T1通过另一个类型定义的DERIVATION_RESTRICTION
导出参考类型定义{多种} 联合 ,{成员类型定义}之一是T2。 请注意,T1可能与引用类型定义相同,并且T2可能与其他类型定义相同。
常量值:4(0x00000004)
String getTypeNamespace ()
如果元素没有声明或者没有可用的名称空间信息,则为关联的元素或属性或 null
声明的类型的名称空间。
Returns | |
---|---|
String |
boolean isDerivedFrom (String typeNamespaceArg, String typeNameArg, int derivationMethod)
如果在引用类型定义(即调用方法的 TypeInfo
和另一个类型定义(即作为参数传递的类型定义)之间存在派生,则此方法返回。
Parameters | |
---|---|
typeNamespaceArg |
String : the namespace of the other type definition. |
typeNameArg |
String : the name of the other type definition. |
derivationMethod |
int : the type of derivation and conditions applied between two types, as described in the list of constants provided in this interface. |
Returns | |
---|---|
boolean |
If the document's schema is a DTD or no schema is associated with the document, this method will always return false . If the document's schema is an XML Schema, the method will true if the reference type definition is derived from the other type definition according to the derivation parameter. If the value of the parameter is 0 (no bit is set to 1 for the derivationMethod parameter), the method will return true if the other type definition can be reached by recursing any combination of {base type definition}, {item type definition}, or {member type definitions} from the reference type definition. |