Library: XSD/Types
Package: XSDTypes
Header: Poco/XSD/Types/Type.h
Super class for all Types.
Direct Base Classes: AnnotatedObject
All Base Classes: Poco::RefCountedObject, AnnotatedObject, Visitable
Known Derived Classes: ComplexType, SimpleType
Member Functions: createIterator, fixup, getSchema, iterator, iteratorRec, name, parents, setName, setSchema
Inherited Functions: accept, addAnnotation, duplicate, getAnnotations, id, referenceCount, release
typedef Poco::AutoPtr < Type > Ptr;
Type();
Creates the Type.
Type(
const std::string & id,
const std::string & name
);
Creates the Type.
virtual ~Type();
Destroys the Type.
virtual void fixup() = 0;
Resolves type references to a parent class
const Schema * getSchema() const;
Gets the schema. Note that internal inline types have no schema associated!
OrderIterator iterator() const;
Creates an iterator for the type taking care of inheritance information
const std::string & name() const;
Returns the name, can be empty
virtual const std::vector < const Type * > & parents() const = 0;
Returns the parent classes
void setName(
const std::string & name
);
Sets the name
void setSchema(
const Schema * pSchema
);
Sets the schema
virtual void createIterator(
std::vector < OrderIterator > & seq
) const = 0;
Appends/replace an iterator to/in the sequence
void iteratorRec(
std::vector < OrderIterator > & seq
) const;
Creates itertaors recursively
static const std::vector < const Type * > NOPARENTS;