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. | |
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. | |
Destructor | |
~XSModel () | |
XSModel methods | |
StringList * | getNamespaces () |
Convenience method. | |
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. | |
XSNamedMap< XSObject > * | getComponents (XSConstants::COMPONENT_TYPE objectType) |
[schema components]: a list of top-level components, i.e. | |
XSNamedMap< XSObject > * | getComponentsByNamespace (XSConstants::COMPONENT_TYPE objectType, const XMLCh *compNamespace) |
Convenience method. | |
XSAnnotationList * | getAnnotations () |
[annotations]: a set of annotations. | |
XSElementDeclaration * | getElementDeclaration (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSAttributeDeclaration * | getAttributeDeclaration (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSTypeDefinition * | getTypeDefinition (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSAttributeGroupDefinition * | getAttributeGroup (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSModelGroupDefinition * | getModelGroupDefinition (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSNotationDeclaration * | getNotationDeclaration (const XMLCh *name, const XMLCh *compNamespace) |
Convenience method. | |
XSObject * | getXSObjectById (XMLSize_t compId, XSConstants::COMPONENT_TYPE compType) |
Optional. | |
XMLStringPool * | getURIStringPool () |
methods needed by implementation | |
XSNamespaceItem * | getNamespaceItem (const XMLCh *const key) |
XSObject * | getXSObject (void *key) |
Get the XSObject (i.e. | |
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 |
XSModel::XSModel | ( | XMLGrammarPool * | grammarPool, | |
MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager | |||
) |
The constructor to be used when a grammar pool contains all needed info.
grammarPool | the grammar pool containing the underlying data structures | |
manager | The 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.
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 | ( | ) |
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.
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.
XSNamedMap<XSObject>* XSModel::getComponents | ( | XSConstants::COMPONENT_TYPE | objectType | ) |
[schema components]: a list of top-level components, i.e.
element declarations, attribute declarations, etc.
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. |
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.
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). |
objectType
and defined in the specified namespace
or null
. XSAnnotationList* XSModel::getAnnotations | ( | ) |
[annotations]: a set of annotations.
XSElementDeclaration* XSModel::getElementDeclaration | ( | const XMLCh * | name, | |
const XMLCh * | compNamespace | |||
) |
Convenience method.
Returns a top-level element declaration.
name | The name of the declaration. | |
compNamespace | The namespace of the declaration, null if absent. |
null
if such declaration does not exist. XSAttributeDeclaration* XSModel::getAttributeDeclaration | ( | const XMLCh * | name, | |
const XMLCh * | compNamespace | |||
) |
Convenience method.
Returns a top-level attribute declaration.
name | The name of the declaration. | |
compNamespace | The namespace of the declaration, null if absent. |
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.
name | The name of the definition. | |
compNamespace | The namespace of the declaration, null if absent. |
XSTypeDefinition
or null
if such definition does not exist. XSAttributeGroupDefinition* XSModel::getAttributeGroup | ( | const XMLCh * | name, | |
const XMLCh * | compNamespace | |||
) |
Convenience method.
Returns a top-level attribute group definition.
name | The name of the definition. | |
compNamespace | The namespace of the declaration, null if absent. |
null
if such definition does not exist. XSModelGroupDefinition* XSModel::getModelGroupDefinition | ( | const XMLCh * | name, | |
const XMLCh * | compNamespace | |||
) |
Convenience method.
Returns a top-level model group definition.
name | The name of the definition. | |
compNamespace | The namespace of the declaration, null if absent. |
null
if such definition does not exist. XSNotationDeclaration* XSModel::getNotationDeclaration | ( | const XMLCh * | name, | |
const XMLCh * | compNamespace | |||
) |
Convenience method.
Returns a top-level notation declaration.
name | The name of the declaration. | |
compNamespace | The namespace of the declaration, null if absent. |
null
if such declaration does not exist. 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.
compId | unique Id of the component within its type | |
compType | type of the component |
XMLStringPool * XSModel::getURIStringPool | ( | ) |
XSNamespaceItem* XSModel::getNamespaceItem | ( | const XMLCh *const | key | ) |
XSObject* XSModel::getXSObject | ( | void * | key | ) |
Get the XSObject (i.e.
XSElementDeclaration) that corresponds to to a schema grammar component (i.e. SchemaElementDecl)
key | schema component object |
friend class XSObjectFactory [friend] |
friend class XSObject [friend] |
MemoryManager* const XSModel::fMemoryManager [protected] |
StringList* XSModel::fNamespaceStringList [protected] |
Referenced by getNamespaces().
XSNamespaceItemList* XSModel::fXSNamespaceItemList [protected] |
Referenced by getNamespaceItems().
RefVectorOf<XSObject>* XSModel::fIdVector[XSConstants::MULTIVALUE_FACET] [protected] |
XSNamedMap<XSObject>* XSModel::fComponentMap[XSConstants::MULTIVALUE_FACET] [protected] |
XMLStringPool* XSModel::fURIStringPool [protected] |
Referenced by getURIStringPool().
XSAnnotationList* XSModel::fXSAnnotationList [protected] |
RefHashTableOf<XSNamespaceItem>* XSModel::fHashNamespace [protected] |
XSObjectFactory* XSModel::fObjFactory [protected] |
RefVectorOf<XSNamespaceItem>* XSModel::fDeleteNamespace [protected] |
XSModel* XSModel::fParent [protected] |
bool XSModel::fDeleteParent [protected] |
bool XSModel::fAddedS4SGrammar [protected] |