## org.apache.xerces.impl.xs.psvi
Interface XSTypeDefinition

All Superinterfaces:
  XSObject

All Known Subinterfaces:
  XSComplexTypeDefinition, XSSimpleType, XSSimpleTypeDefinition

public interface XSTypeDefinition
extends XSObject

This interface represents a complex or simple type definition. The interface may be updated or replaced.

Field Summary
`static short` `COMPLEX_TYPE` This constant value signifies a complex type.
`static short` `SIMPLE_TYPE` This constant value signifies a simple type.

Method Summary
`boolean` `derivedFrom(java.lang.String namespace, java.lang.String name, short derivationMethod)` Convenience method: check if this type is derived from the given ancestor type.
`boolean` `derivedFromType(XSTypeDefinition ancestorType, short derivationMethod)` Convenience method: check if this type is derived from the given `ancestorType`.
`boolean` `getAnonymous()` Convenience.
`XSTypeDefinition` `getBaseType()` {base type definition}: either a simple type definition or a complex type definition.
`short` `getFinal()` For complex types the returned value is a bit combination of the subset of {`DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} corresponding to `final` set of this type or `DERIVATION_NONE`.
`short` `getTypeCategory()` Return whether this type definition is a simple type or complex type.
`boolean` `isFinal(short restriction)` {final}.

Methods inherited from interface org.apache.xerces.impl.xs.psvi.XSObject
`getName, getNamespace, getNamespaceItem, getType`

Field Detail

### COMPLEX_TYPE

    public static final short COMPLEX_TYPE

  This constant value signifies a complex type.

### SIMPLE_TYPE

    public static final short SIMPLE_TYPE

  This constant value signifies a simple type.

Method Detail

### getTypeCategory

    public short getTypeCategory()

  Return whether this type definition is a simple type or complex type.

### getBaseType

    public XSTypeDefinition getBaseType()

  {base type definition}: either a simple type definition or a complex type definition.

### isFinal

    public boolean isFinal(short restriction)

  {final}. For complex type definition it is a subset of {extension, restriction}. For simple type definition it is a subset of {extension, list, restriction, union}.
  Parameters:
    `restriction` - Extension, restriction, list, union constants (defined in `XSConstants`).
  Returns:
    True if restriction is in the final set, otherwise false.

### getFinal

    public short getFinal()

  For complex types the returned value is a bit combination of the subset of {`DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} corresponding to `final` set of this type or `DERIVATION_NONE`. For simple types the returned value is a bit combination of the subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` } corresponding to `final` set of this type or `DERIVATION_NONE`.

### getAnonymous

    public boolean getAnonymous()

  Convenience. A boolean that specifies if the type definition is anonymous. Convenience attribute.

### derivedFromType

    public boolean derivedFromType(XSTypeDefinition ancestorType,
                                   short derivationMethod)

  Convenience method: check if this type is derived from the given `ancestorType`.
  Parameters:
    `ancestorType` - An ancestor type definition.
    `derivationMethod` - A bit combination representing a subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` }.
  Returns:
    Return true if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod`. Return true if this type is derived from `ancestorType`.

### derivedFrom

    public boolean derivedFrom(java.lang.String namespace,
                               java.lang.String name,
                               short derivationMethod)

  Convenience method: check if this type is derived from the given ancestor type.
  Parameters:
    `namespace` - An ancestor type namespace.
    `name` - An ancestor type name.
    `derivationMethod` - A bit combination representing a subset of { `DERIVATION_RESTRICTION, DERIVATION_EXTENSION, DERIVATION_UNION, DERIVATION_LIST` }.
  Returns:
    Return true if this type is derived from `ancestorType` using only derivation methods from the `derivationMethod`. Return true if this type is derived from `ancestorType`.

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.