public interface TypeInfo
TypeInfo interface represents a type referenced from
 Element or Attr nodes, specified in the schemas
 associated with the document. The type is a pair of a namespace URI and
 name properties, and depends on the document's schema.
 If the document's schema is an XML DTD [XML 1.0], the values are computed as follows:
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.
 If the document's schema is an XML Schema [XML Schema Part 1] , the values are computed as follows using the post-schema-validation infoset contributions (also called PSVI contributions):
null.
 Note: At the time of writing, the XML Schema specification does not require exposing the declared type. Thus, DOM implementations might choose not to provide type information if validity is not valid.
Note:  Other schema languages are outside the scope of the W3C
 and therefore should define how to represent their type systems using
 TypeInfo.
 
See also the Document Object Model (DOM) Level 3 Core Specification.
| Modifier and Type | Field and Description | 
|---|---|
| static int | DERIVATION_EXTENSIONIf the document's schema is an XML Schema [XML Schema Part 1]
 , this constant represents the derivation by 
 extension. | 
| static int | DERIVATION_LISTIf the document's schema is an XML Schema [XML Schema Part 1]
 , this constant represents the list. | 
| static int | DERIVATION_RESTRICTIONIf the document's schema is an XML Schema [XML Schema Part 1]
 , this constant represents the derivation by 
 restriction if complex types are involved, or a 
 restriction if simple types are involved. | 
| static int | DERIVATION_UNIONIf the document's schema is an XML Schema [XML Schema Part 1]
 , this constant represents the 
 union if simple types are involved. | 
| Modifier and Type | Method and Description | 
|---|---|
| String | getTypeName()The name of a type declared for the associated element or attribute,
 or  nullif unknown. | 
| String | getTypeNamespace()The namespace of the type declared for the associated element or
 attribute or  nullif the element does not have
 declaration or if no namespace information is available. | 
| boolean | isDerivedFrom(String typeNamespaceArg,
             String typeNameArg,
             int derivationMethod)This method returns if there is a derivation between the reference
 type definition, i.e. | 
static final int DERIVATION_RESTRICTION
static final int DERIVATION_EXTENSION
static final int DERIVATION_UNION
DERIVATION_RESTRICTION or
 DERIVATION_EXTENSION, T2 is derived from the other type
 definition by DERIVATION_RESTRICTION, T1 has {variety} union, and one of the {member type definitions} is T2. Note that T1 could be
 the same as the reference type definition, and T2 could be the same
 as the other type definition.static final int DERIVATION_LIST
DERIVATION_RESTRICTION or
 DERIVATION_EXTENSION, T2 is derived from the other type
 definition by DERIVATION_RESTRICTION, T1 has {variety} list, and T2 is the {item type definition}. Note that T1 could be the same as
 the reference type definition, and T2 could be the same as the other
 type definition.String getTypeName()
null if unknown.String getTypeNamespace()
null if the element does not have
 declaration or if no namespace information is available.boolean isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
TypeInfo on which the method
 is being called, and the other type definition, i.e. the one passed
 as parameters.typeNamespaceArg - the namespace of the other type definition.typeNameArg - the name of the other type definition.derivationMethod - the type of derivation and conditions applied
   between two types, as described in the list of constants provided
   in this interface.false
   .  If the document's schema is an XML Schema, the method will return
   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. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.