File Information
Library: XSD/Types
Package: XSDTypes
Header: Poco/XSD/Types/Schema.h
Description
Inheritance
Direct Base Classes: AnnotatedObject
All Base Classes: Poco::RefCountedObject, AnnotatedObject, Visitable
Member Summary
Member Functions: accept, addAttribute, addAttributeGroup, addElement, addGroup, addImportedSchema, addNotation, addType, attributeGroups, attributes, blockExtension, blockRestriction, blockSubstitution, elements, finalExtension, finalList, finalRestriction, finalUnion, fixup, getAttribute, getAttributeGroup, getElement, getGroup, getNotation, getType, groups, includeSchema, notations, qualifiedAttributeForm, qualifiedElementForm, targetNamespace, types
Inherited Functions: accept, addAnnotation, duplicate, getAnnotations, id, referenceCount, release
Types Aliases
AttributeGroups
using AttributeGroups = std::map < std::string, AbstractAttributeGroup::Ptr >;
Attributes
using Attributes = std::map < std::string, AbstractAttribute::Ptr >;
ElementPtr
using ElementPtr = Element::Ptr;
Elements
using Elements = std::map < std::string, ElementPtr >;
Groups
using Groups = std::map < std::string, Group::Ptr >;
Notations
using Notations = std::map < std::string, Notation::Ptr >;
Ptr
using Ptr = Poco::AutoPtr < Schema >;
Schemas
using Schemas = std::vector < Ptr >;
TypePtr
Types
using Types = std::map < std::string, TypePtr >;
Constructors
Schema
Schema(
    const std::string & targetNS,
    bool qualifiedAttributeForm,
    bool qualifiedElementForm,
    bool blockExtension,
    bool blockRestriction,
    bool blockSubstitution,
    bool finalExtension,
    bool finalRestriction,
    bool finalList,
    bool finalUnion,
    bool needsFixup = true
);
Creates the Schema.
Destructor
~Schema 
 
~Schema();
Destroys the Schema.
Member Functions
accept 
 
void accept(
    Visitor & v
) const;
See also: Poco::XSD::Types::Visitable::accept()
addAttribute
void addAttribute(
    AbstractAttribute::Ptr pAttr
);
Adds an attribute to the Schema, will fail if the attribute already exists. Note that once an attribute was added to the Schema, it can not be removed!
addAttributeGroup
void addAttributeGroup(
    AbstractAttributeGroup::Ptr pAttr
);
Adds an attributegroup to the Schema, will fail if the attributegroup already exists. Note that once an attributegroup was added to the Schema, it can not be removed!
addElement
void addElement(
    ElementPtr pElem
);
Adds an Element to the Schema, will fail if the element already exists. Note that once an element was added to the Schema, it can not be removed!
addGroup
void addGroup(
    Group::Ptr pAttr
);
Adds a group to the Schema, will fail if the group already exists. Note that once a group was added to the Schema, it can not be removed!
addImportedSchema
void addImportedSchema(
    Ptr pSchema
);
Adds an imported schema.
addNotation
void addNotation(
    Notation::Ptr ptr
);
Adds an Notation to the Schema, will fail if the Notation already exists. Note that once an Notation was added to the Schema, it can not be removed!
addType
void addType(
    TypePtr pType
);
Adds a type to the Schema, will fail if the type already exists. Note that once a type was added to the Schema, it can not be removed!
attributeGroups 
 
const Schema::AttributeGroups & attributeGroups() const;
Returns all attribute groups exported by the schema
attributes 
 
const Schema::Attributes & attributes() const;
Returns all attributes exported by the schema
blockExtension 
 
bool blockExtension() const;
Are extensions forbidden?
blockRestriction 
 
bool blockRestriction() const;
Are restrictions forbidden?
blockSubstitution 
 
bool blockSubstitution() const;
Is substitution forbidden?
elements 
 
const Schema::Elements & elements() const;
Returns all elements exported by the schema
finalExtension 
 
bool finalExtension() const;
Is the default for extension final?
finalList 
 
bool finalList() const;
Is the default for list final?
finalRestriction 
 
bool finalRestriction() const;
Is the default for restriction final?
finalUnion 
 
bool finalUnion() const;
Is the default for union final?
fixup
void fixup();
getAttribute
const AbstractAttribute * getAttribute(
    const std::string & name
) const;
Returns a attribute for the given name, returns a null pointer if not found
getAttributeGroup
const AbstractAttributeGroup * getAttributeGroup(
    const std::string & name
) const;
Returns an attributegroup for the given name, returns a null pointer if not found
getElement
const Element * getElement(
    const std::string & name
) const;
Returns an element for the given name, returns a null pointer if not found
getGroup
const Group * getGroup(
    const std::string & name
) const;
Returns a group for the given name, returns a null pointer if not found
getNotation
const Notation * getNotation(
    const std::string & name
) const;
Returns a Notation for the given name, returns a null pointer if not found
getType
const Type * getType(
    const std::string & name
) const;
Returns a type for the given name, returns a null pointer if not found
groups 
 
const Schema::Groups & groups() const;
Returns all groups exported by the schema
includeSchema
void includeSchema(
    Ptr pSchema
);
Includes the given schema.
notations 
 
const Schema::Notations & notations() const;
Returns all notations of the schema
qualifiedAttributeForm 
 
bool qualifiedAttributeForm() const;
Are attributes qualified?
qualifiedElementForm 
 
bool qualifiedElementForm() const;
Are elements qualified?
targetNamespace 
 
const std::string & targetNamespace() const;
The namespace of the Schema
types 
 
const Schema::Types & types() const;
Returns all types of the schema