Xerces-C++  3.1.2
Protected Attributes | Friends | List of all members
XSModel Class Reference
Inheritance diagram for XSModel:
XMemory

Public Member Functions

Constructors
 XSModel (XMLGrammarPool *grammarPool, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
 The constructor to be used when a grammar pool contains all needed info. More...
 
 XSModel (XSModel *baseModel, GrammarResolver *grammarResolver, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
 The constructor to be used when the XSModel must represent all components in the union of an existing XSModel and a newly-created Grammar(s) from the GrammarResolver. More...
 
Destructor
 ~XSModel ()
 
XSModel methods
StringListgetNamespaces ()
 Convenience method. More...
 
XSNamespaceItemListgetNamespaceItems ()
 A set of namespace schema information information items ( of type XSNamespaceItem), one for each namespace name which appears as the target namespace of any schema component in the schema used for that assessment, and one for absent if any schema component in the schema had no target namespace. More...
 
XSNamedMap< XSObject > * getComponents (XSConstants::COMPONENT_TYPE objectType)
 [schema components]: a list of top-level components, i.e. More...
 
XSNamedMap< XSObject > * getComponentsByNamespace (XSConstants::COMPONENT_TYPE objectType, const XMLCh *compNamespace)
 Convenience method. More...
 
XSAnnotationListgetAnnotations ()
 [annotations]: a set of annotations. More...
 
XSElementDeclarationgetElementDeclaration (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSAttributeDeclarationgetAttributeDeclaration (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSTypeDefinitiongetTypeDefinition (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSAttributeGroupDefinitiongetAttributeGroup (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSModelGroupDefinitiongetModelGroupDefinition (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSNotationDeclarationgetNotationDeclaration (const XMLCh *name, const XMLCh *compNamespace)
 Convenience method. More...
 
XSObjectgetXSObjectById (XMLSize_t compId, XSConstants::COMPONENT_TYPE compType)
 Optional. More...
 
XMLStringPool * getURIStringPool ()
 methods needed by implementation More...
 
XSNamespaceItemgetNamespaceItem (const XMLCh *const key)
 
XSObjectgetXSObject (void *key)
 Get the XSObject (i.e. More...
 
- Public Member Functions inherited from XMemory
void * operator new (size_t size)
 This method overrides operator new. More...
 
void * operator new (size_t size, MemoryManager *memMgr)
 This method defines a custom operator new, that will use the provided memory manager to perform the allocation. More...
 
void * operator new (size_t size, void *ptr)
 This method overrides placement operator new. More...
 
void operator delete (void *p)
 This method overrides operator delete. More...
 
void operator delete (void *p, MemoryManager *memMgr)
 This method provides a matching delete for the custom operator new. More...
 
void operator delete (void *p, void *ptr)
 This method provides a matching delete for the placement new. More...
 

Protected Attributes

MemoryManager *const fMemoryManager
 
StringListfNamespaceStringList
 
XSNamespaceItemListfXSNamespaceItemList
 
RefVectorOf< XSObject > * fIdVector [XSConstants::MULTIVALUE_FACET]
 
XSNamedMap< XSObject > * fComponentMap [XSConstants::MULTIVALUE_FACET]
 
XMLStringPool * fURIStringPool
 
XSAnnotationListfXSAnnotationList
 
RefHashTableOf< XSNamespaceItem > * fHashNamespace
 
XSObjectFactoryfObjFactory
 
RefVectorOf< XSNamespaceItem > * fDeleteNamespace
 
XSModelfParent
 
bool fDeleteParent
 
bool fAddedS4SGrammar
 

Friends

class XSObjectFactory
 
class XSObject
 

Additional Inherited Members

- Protected Member Functions inherited from XMemory
 XMemory ()
 Protected default constructor. More...
 

Constructor & Destructor Documentation

XSModel::XSModel ( XMLGrammarPool grammarPool,
MemoryManager *const  manager = XMLPlatformUtils::fgMemoryManager 
)

The constructor to be used when a grammar pool contains all needed info.

Parameters
grammarPoolthe grammar pool containing the underlying data structures
managerThe configurable memory manager
XSModel::XSModel ( XSModel baseModel,
GrammarResolver *  grammarResolver,
MemoryManager *const  manager = XMLPlatformUtils::fgMemoryManager 
)

The constructor to be used when the XSModel must represent all components in the union of an existing XSModel and a newly-created Grammar(s) from the GrammarResolver.

Parameters
baseModelthe XSModel upon which this one is based
grammarResolverthe grammar(s) whose components are to be merged
managerThe configurable memory manager
XSModel::~XSModel ( )

Member Function Documentation

XSAnnotationList* XSModel::getAnnotations ( )

[annotations]: a set of annotations.

XSAttributeDeclaration* XSModel::getAttributeDeclaration ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level attribute declaration.

Parameters
nameThe name of the declaration.
compNamespaceThe namespace of the declaration, null if absent.
Returns
A top-level attribute declaration or null if such declaration does not exist.
XSAttributeGroupDefinition* XSModel::getAttributeGroup ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level attribute group definition.

Parameters
nameThe name of the definition.
compNamespaceThe namespace of the declaration, null if absent.
Returns
A top-level attribute group definition or null if such definition does not exist.
XSNamedMap<XSObject>* XSModel::getComponents ( XSConstants::COMPONENT_TYPE  objectType)

[schema components]: a list of top-level components, i.e.

element declarations, attribute declarations, etc.

Parameters
objectTypeThe type of the declaration, i.e. ELEMENT_DECLARATION, TYPE_DEFINITION and any other component type that may be a property of a schema component.
Returns
A list of top-level definition of the specified type in objectType or null.
XSNamedMap<XSObject>* XSModel::getComponentsByNamespace ( XSConstants::COMPONENT_TYPE  objectType,
const XMLCh compNamespace 
)

Convenience method.

Returns a list of top-level component declarations that are defined within the specified namespace, i.e. element declarations, attribute declarations, etc.

Parameters
objectTypeThe type of the declaration, i.e. ELEMENT_DECLARATION.
compNamespaceThe namespace to which declaration belongs or null (for components with no target namespace).
Returns
A list of top-level definitions of the specified type in objectType and defined in the specified namespace or null.
XSElementDeclaration* XSModel::getElementDeclaration ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level element declaration.

Parameters
nameThe name of the declaration.
compNamespaceThe namespace of the declaration, null if absent.
Returns
A top-level element declaration or null if such declaration does not exist.
XSModelGroupDefinition* XSModel::getModelGroupDefinition ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level model group definition.

Parameters
nameThe name of the definition.
compNamespaceThe namespace of the declaration, null if absent.
Returns
A top-level model group definition definition or null if such definition does not exist.
XSNamespaceItem* XSModel::getNamespaceItem ( const XMLCh *const  key)
XSNamespaceItemList * XSModel::getNamespaceItems ( )

A set of namespace schema information information items ( of type XSNamespaceItem), one for each namespace name which appears as the target namespace of any schema component in the schema used for that assessment, and one for absent if any schema component in the schema had no target namespace.

For more information see schema information.

References fXSNamespaceItemList.

StringList * XSModel::getNamespaces ( )

Convenience method.

Returns a list of all namespaces that belong to this schema. The value null is not a valid namespace name, but if there are components that don't have a target namespace, null is included in this list.

References fNamespaceStringList.

XSNotationDeclaration* XSModel::getNotationDeclaration ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level notation declaration.

Parameters
nameThe name of the declaration.
compNamespaceThe namespace of the declaration, null if absent.
Returns
A top-level notation declaration or null if such declaration does not exist.
XSTypeDefinition* XSModel::getTypeDefinition ( const XMLCh name,
const XMLCh compNamespace 
)

Convenience method.

Returns a top-level simple or complex type definition.

Parameters
nameThe name of the definition.
compNamespaceThe namespace of the declaration, null if absent.
Returns
An XSTypeDefinition or null if such definition does not exist.
XMLStringPool * XSModel::getURIStringPool ( )

methods needed by implementation

References fURIStringPool.

XSObject* XSModel::getXSObject ( void *  key)

Get the XSObject (i.e.

XSElementDeclaration) that corresponds to to a schema grammar component (i.e. SchemaElementDecl)

Parameters
keyschema component object
Returns
the corresponding XSObject
XSObject* XSModel::getXSObjectById ( XMLSize_t  compId,
XSConstants::COMPONENT_TYPE  compType 
)

Optional.

Return a component given a component type and a unique Id. May not be supported for all component types.

Parameters
compIdunique Id of the component within its type
compTypetype of the component
Returns
the component of the given type with the given Id, or 0 if no such component exists or this is unsupported for this type of component.

Friends And Related Function Documentation

friend class XSObject
friend
friend class XSObjectFactory
friend

Member Data Documentation

bool XSModel::fAddedS4SGrammar
protected
XSNamedMap<XSObject>* XSModel::fComponentMap[XSConstants::MULTIVALUE_FACET]
protected
RefVectorOf<XSNamespaceItem>* XSModel::fDeleteNamespace
protected
bool XSModel::fDeleteParent
protected
RefHashTableOf<XSNamespaceItem>* XSModel::fHashNamespace
protected
RefVectorOf<XSObject>* XSModel::fIdVector[XSConstants::MULTIVALUE_FACET]
protected
MemoryManager* const XSModel::fMemoryManager
protected
StringList* XSModel::fNamespaceStringList
protected

Referenced by getNamespaces().

XSObjectFactory* XSModel::fObjFactory
protected
XSModel* XSModel::fParent
protected
XMLStringPool* XSModel::fURIStringPool
protected

Referenced by getURIStringPool().

XSAnnotationList* XSModel::fXSAnnotationList
protected
XSNamespaceItemList* XSModel::fXSNamespaceItemList
protected

Referenced by getNamespaceItems().


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