org.apache.xerces.dom3

Interface TypeInfo

public interface TypeInfo

The TypeInfo interface represent 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:

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):

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.

Since:
DOM Level 3

Field Summary

static int
DERIVATION_EXTENSION
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the derivation by extension if complex types are involved.
static int
DERIVATION_LIST
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the list if simple types are involved.
static int
DERIVATION_RESTRICTION
If 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_UNION
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the union if simple types are involved.

Method Summary

String
getTypeName()
The name of a type declared for the associated element or attribute, or null if unknown.
String
getTypeNamespace()
The namespace of the type declared for the associated element or attribute or null if the element does not have declaration or if no namespace information is available.
boolean
isDerivedFrom(String typeNamespaceArg, String typeNameArg, int derivationMethod)
The method checks if this TypeInfo derives from the specified ancestor type.

Field Details

DERIVATION_EXTENSION

public static final int DERIVATION_EXTENSION
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the derivation by extension if complex types are involved.

Field Value:
2


DERIVATION_LIST

public static final int DERIVATION_LIST
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the list if simple types are involved.

Field Value:
8


DERIVATION_RESTRICTION

public static final int DERIVATION_RESTRICTION
If 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.

Field Value:
1


DERIVATION_UNION

public static final int DERIVATION_UNION
If the document's schema is an XML Schema [XML Schema Part 1] , this constant represents the union if simple types are involved.

Field Value:
4

Method Details

getTypeName

public String getTypeName()
The name of a type declared for the associated element or attribute, or null if unknown.


getTypeNamespace

public String getTypeNamespace()
The namespace of the type declared for the associated element or attribute or null if the element does not have declaration or if no namespace information is available.


isDerivedFrom

public boolean isDerivedFrom(String typeNamespaceArg,
                             String typeNameArg,
                             int derivationMethod)
The method checks if this TypeInfo derives from the specified ancestor type.

Parameters:
typeNamespaceArg - the namespace of the ancestor type.
typeNameArg - the name of the ancestor type.
derivationMethod - the type of derivation and conditions applied between two types, as described in the list of constants provided in this interface. Note that those constants:
  • are only defined if the document's schema is an XML Schema;
  • could be combined if XML Schema types are involved.
  • TypeInfo.DERIVATION_EXTENSION only applies to XML Schema complex types.
The value 0x00000000 represents any kind of derivation method.

Returns:
true if the specified type is an ancestor according to the derivation parameter, false otherwise. If the document's schema is a DTD or no schema is associated with the document, this method will always return false.


Copyright B) 1999-2004 Apache XML Project. All Rights Reserved.