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