Public Types | |
enum | TYPE_CATEGORY { COMPLEX_TYPE = 15, SIMPLE_TYPE = 16 } |
Public Member Functions | |
Constructors | |
XSTypeDefinition (TYPE_CATEGORY typeCategory, XSTypeDefinition *const xsBaseType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) | |
The default constructor. | |
Destructor | |
virtual | ~XSTypeDefinition () |
overloaded XSObject methods | |
virtual const XMLCh * | getName () const =0 |
The name of type NCName of this declaration as defined in XML Namespaces. | |
virtual const XMLCh * | getNamespace ()=0 |
The [target namespace] of this object, or null if it is unspecified. | |
virtual XSNamespaceItem * | getNamespaceItem ()=0 |
A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise. | |
XSTypeDefinition methods | |
TYPE_CATEGORY | getTypeCategory () const |
Return whether this type definition is a simple type or complex type. | |
virtual XSTypeDefinition * | getBaseType ()=0 |
{base type definition}: either a simple type definition or a complex type definition. | |
bool | isFinal (short toTest) |
{final}. | |
short | getFinal () const |
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 . | |
virtual bool | getAnonymous () const =0 |
A boolean that specifies if the type definition is anonymous. | |
virtual bool | derivedFromType (const XSTypeDefinition *const ancestorType)=0 |
Convenience method: check if this type is derived from the given ancestorType . | |
bool | derivedFrom (const XMLCh *typeNamespace, const XMLCh *name) |
Convenience method: check if this type is derived from the given ancestor type. | |
Protected Attributes | |
TYPE_CATEGORY | fTypeCategory |
short | fFinal |
XSTypeDefinition * | fBaseType |
This is *always* owned by the validator /parser object from which it is obtained.
XSTypeDefinition::XSTypeDefinition | ( | TYPE_CATEGORY | typeCategory, | |
XSTypeDefinition *const | xsBaseType, | |||
XSModel *const | xsModel, | |||
MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager | |||
) |
The default constructor.
typeCategory | ||
xsBaseType | ||
xsModel | ||
manager | The configurable memory manager |
virtual XSTypeDefinition::~XSTypeDefinition | ( | ) | [virtual] |
virtual const XMLCh* XSTypeDefinition::getName | ( | ) | const [pure virtual] |
The name of type NCName
of this declaration as defined in XML Namespaces.
Reimplemented from XSObject.
Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
virtual const XMLCh* XSTypeDefinition::getNamespace | ( | ) | [pure virtual] |
The [target namespace] of this object, or null
if it is unspecified.
Reimplemented from XSObject.
Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
virtual XSNamespaceItem* XSTypeDefinition::getNamespaceItem | ( | ) | [pure virtual] |
A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
Reimplemented from XSObject.
Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
XSTypeDefinition::TYPE_CATEGORY XSTypeDefinition::getTypeCategory | ( | ) | const |
virtual XSTypeDefinition* XSTypeDefinition::getBaseType | ( | ) | [pure virtual] |
{base type definition}: either a simple type definition or a complex type definition.
Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
bool XSTypeDefinition::isFinal | ( | short | toTest | ) |
{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}.
toTest | Extension, restriction, list, union constants (defined in XSObject ). |
short XSTypeDefinition::getFinal | ( | ) | const |
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
.
References fFinal.
virtual bool XSTypeDefinition::getAnonymous | ( | ) | const [pure virtual] |
A boolean that specifies if the type definition is anonymous.
Convenience attribute.
Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
virtual bool XSTypeDefinition::derivedFromType | ( | const XSTypeDefinition *const | ancestorType | ) | [pure virtual] |
Convenience method: check if this type is derived from the given ancestorType
.
ancestorType | An ancestor type definition. |
ancestorType
. Implemented in XSComplexTypeDefinition, and XSSimpleTypeDefinition.
Convenience method: check if this type is derived from the given ancestor type.
typeNamespace | An ancestor type namespace. | |
name | An ancestor type name. |
typeNamespace
and name
.
TYPE_CATEGORY XSTypeDefinition::fTypeCategory [protected] |
Referenced by getTypeCategory().
short XSTypeDefinition::fFinal [protected] |
Referenced by getFinal().
XSTypeDefinition* XSTypeDefinition::fBaseType [protected] |