te::xsd::Type Class Referenceabstract

An abstract class for modeling the definition of a new XML Schema Type. More...

#include <Type.h>

Inheritance diagram for te::xsd::Type:
te::xsd::ComplexType te::xsd::SimpleBuiltInType te::xsd::SimpleType

Public Member Functions

virtual Typeclone () const =0
 
 Type ()
 
virtual ~Type ()
 

Detailed Description

An abstract class for modeling the definition of a new XML Schema Type.

A type can be a:

  • simple built-in type: like string, integer, list-of-simple-type or union-of-simple-types
  • simple type: user defined
  • complex type: user defined

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.

See also
ComplexType, SimpleType, SimpleBuiltInType

Definition at line 65 of file Type.h.

Constructor & Destructor Documentation

te::xsd::Type::Type ( )
inline

Definition at line 69 of file Type.h.

virtual te::xsd::Type::~Type ( )
inlinevirtual

Definition at line 71 of file Type.h.

Member Function Documentation

virtual Type* te::xsd::Type::clone ( ) const
pure virtual

The documentation for this class was generated from the following file: