An abstract class for modeling the definition of a new XML Schema Type. More...
#include <Type.h>
Public Member Functions | |
virtual Type * | clone () const =0 |
Type () | |
virtual | ~Type () |
An abstract class for modeling the definition of a new XML Schema Type.
A type can be a:
We also must remember from W3C's XML Schema Specification that a type can be unnamed, i. e., it can be declared inside an element definition or another type declaration without an explicit name.
Another important concept in this framework is the use of "pointer of pointers" when referencing a type. This is a way of allowing the user of the API do what he wants. For example, when reading a XML schema you can create a NULL pointer and insert it into the schema, so the element declaration can reference this pointer before the type gets read.
Note that all types and elements belongs to the schema object. So no other object will delete a type definition or a element declaration in its destructor. The schema object will free the memory.
|
pure virtual |
Implemented in te::xsd::ComplexType, te::xsd::SimpleType, and te::xsd::SimpleBuiltInType.