Poco::XSD::Types

class Type

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: SimpleType, ComplexType

Member Summary

Member Functions: createIterator, fixup, getSchema, iterator, iteratorRec, name, parents, setName, setSchema

Inherited Functions: accept, addAnnotation, duplicate, getAnnotations, id, referenceCount, release

Types

Ptr

typedef Poco::AutoPtr < Type > Ptr;

Constructors

Type

Type();

Creates the Type.

Type

Type(
    const std::string & id,
    const std::string & name
);

Creates the Type.

Destructor

~Type virtual

virtual ~Type();

Destroys the Type.

Member Functions

fixup virtual

virtual void fixup() = 0;

Resolves type references to a parent class

getSchema inline

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 inline

const std::string & name() const;

Returns the name, can be empty

parents virtual

virtual const std::vector < const Type * > & parents() const = 0;

Returns the parent classes

setName inline

void setName(
    const std::string & name
);

Sets the name

setSchema inline

void setSchema(
    const Schema * pSchema
);

Sets the schema

createIterator protected virtual

virtual void createIterator(
    std::vector < OrderIterator > & seq
) const = 0;

Appends/replace an iterator to/in the sequence

iteratorRec protected

void iteratorRec(
    std::vector < OrderIterator > & seq
) const;

Creates itertaors recursively

Variables

NOPARENTS static

static const std::vector < const Type * > NOPARENTS;