XSModel Class Reference
Inheritance diagram for XSModel:

## 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
StringList * | getNamespaces ()
| Convenience method. More...
XSNamespaceItemList * | 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. 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...
XSAnnotationList * | getAnnotations ()
| [annotations]: a set of annotations. More...
XSElementDeclaration * | getElementDeclaration (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSAttributeDeclaration * | getAttributeDeclaration (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSTypeDefinition * | getTypeDefinition (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSAttributeGroupDefinition * | getAttributeGroup (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSModelGroupDefinition * | getModelGroupDefinition (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSNotationDeclaration * | getNotationDeclaration (const XMLCh *name, const XMLCh *compNamespace)
| Convenience method. More...
XSObject * | getXSObjectById (XMLSize_t compId, XSConstants::COMPONENT_TYPE compType)
| Optional. More...
XMLStringPool * | getURIStringPool ()
| methods needed by implementation More...
XSNamespaceItem * | getNamespaceItem (const XMLCh *const key)
XSObject * | getXSObject (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
StringList * | fNamespaceStringList
XSNamespaceItemList * | fXSNamespaceItemList
RefVectorOf< XSObject > * | fIdVector [XSConstants::MULTIVALUE_FACET]
XSNamedMap< XSObject > * | fComponentMap [XSConstants::MULTIVALUE_FACET]
XMLStringPool * | fURIStringPool
XSAnnotationList * | fXSAnnotationList
RefHashTableOf< XSNamespaceItem > * | fHashNamespace
XSObjectFactory * | fObjFactory
RefVectorOf< XSNamespaceItem > * | fDeleteNamespace
XSModel * | fParent
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() [1/2]

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

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

Parameters

  grammarPool | the grammar pool containing the underlying data structures
  manager | The configurable memory manager

## XSModel() [2/2]

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

  baseModel | the XSModel upon which this one is based
  grammarResolver | the grammar(s) whose components are to be merged
  manager | The configurable memory manager

## ~XSModel()

XSModel::~XSModel | ( |  | ) |

## Member Function Documentation

## getAnnotations()

XSAnnotationList* XSModel::getAnnotations | ( |  | ) |

[annotations]: a set of annotations.

## getAttributeDeclaration()

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

Convenience method.

Returns a top-level attribute declaration.

Parameters

  name | The name of the declaration.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  A top-level attribute declaration or `null` if such declaration does not exist.

## getAttributeGroup()

XSAttributeGroupDefinition* XSModel::getAttributeGroup | ( | const XMLCh * | name,
|  | const XMLCh * | compNamespace
| ) |  |

Convenience method.

Returns a top-level attribute group definition.

Parameters

  name | The name of the definition.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  A top-level attribute group definition or `null` if such definition does not exist.

## getComponents()

XSNamedMap<XSObject>* XSModel::getComponents | ( | XSConstants::COMPONENT_TYPE | objectType | ) |

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

element declarations, attribute declarations, etc.

Parameters

  objectType | The 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`.

## getComponentsByNamespace()

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

  objectType | The type of the declaration, i.e. `ELEMENT_DECLARATION`.
  compNamespace | The 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`.

## getElementDeclaration()

XSElementDeclaration* XSModel::getElementDeclaration | ( | const XMLCh * | name,
|  | const XMLCh * | compNamespace
| ) |  |

Convenience method.

Returns a top-level element declaration.

Parameters

  name | The name of the declaration.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  A top-level element declaration or `null` if such declaration does not exist.

## getModelGroupDefinition()

XSModelGroupDefinition* XSModel::getModelGroupDefinition | ( | const XMLCh * | name,
|  | const XMLCh * | compNamespace
| ) |  |

Convenience method.

Returns a top-level model group definition.

Parameters

  name | The name of the definition.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  A top-level model group definition definition or `null` if such definition does not exist.

## getNamespaceItem()

XSNamespaceItem* XSModel::getNamespaceItem | ( | const XMLCh *const | key | ) |

## getNamespaceItems()

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 XERCES_CPP_NAMESPACE_END.

## getNamespaces()

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.

## getNotationDeclaration()

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

Convenience method.

Returns a top-level notation declaration.

Parameters

  name | The name of the declaration.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  A top-level notation declaration or `null` if such declaration does not exist.

## getTypeDefinition()

XSTypeDefinition* XSModel::getTypeDefinition | ( | const XMLCh * | name,
|  | const XMLCh * | compNamespace
| ) |  |

Convenience method.

Returns a top-level simple or complex type definition.

Parameters

  name | The name of the definition.
  compNamespace | The namespace of the declaration, null if absent.

Returns
  An `XSTypeDefinition` or `null` if such definition does not exist.

## getURIStringPool()

XMLStringPool * XSModel::getURIStringPool | ( |  | ) |

methods needed by implementation

## getXSObject()

XSObject* XSModel::getXSObject | ( | void * | key | ) |

Get the XSObject (i.e.

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

Parameters

  key | schema component object

Returns
  the corresponding XSObject

## getXSObjectById()

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

  compId | unique Id of the component within its type
  compType | type 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

## XSObject

friend class XSObject

friend

## XSObjectFactory

friend class XSObjectFactory

friend

## Member Data Documentation

## fAddedS4SGrammar

bool XSModel::fAddedS4SGrammar

protected

## fComponentMap

XSNamedMap<XSObject>* XSModel::fComponentMap[XSConstants::MULTIVALUE_FACET]

protected

## fDeleteNamespace

RefVectorOf<XSNamespaceItem>* XSModel::fDeleteNamespace

protected

## fDeleteParent

bool XSModel::fDeleteParent

protected

## fHashNamespace

RefHashTableOf<XSNamespaceItem>* XSModel::fHashNamespace

protected

## fIdVector

RefVectorOf<XSObject>* XSModel::fIdVector[XSConstants::MULTIVALUE_FACET]

protected

## fMemoryManager

MemoryManager* const XSModel::fMemoryManager

protected

## fNamespaceStringList

StringList* XSModel::fNamespaceStringList

protected

## fObjFactory

XSObjectFactory* XSModel::fObjFactory

protected

## fParent

XSModel* XSModel::fParent

protected

## fURIStringPool

XMLStringPool* XSModel::fURIStringPool

protected

## fXSAnnotationList

XSAnnotationList* XSModel::fXSAnnotationList

protected

## fXSNamespaceItemList

XSNamespaceItemList* XSModel::fXSNamespaceItemList

protected

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

- XSModel.hpp