| API Docs for SAX and DOM |

Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

# XSModel Class Reference

This class contains all properties of the Schema infoitem as determined after an entire validation episode. More...

Inheritance diagram for XSModel:

[legend]
List of all members.

## 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 (unsigned int compId, XSConstants::COMPONENT_TYPE compType)
| Optional.
XMLStringPool * | getURIStringPool ()
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

## Detailed Description

This class contains all properties of the Schema infoitem as determined after an entire validation episode.

That is, it contains all the properties of all the Schema Namespace Information objects that went into the validation episode. Since it is not like other components, it does not inherit from the XSObject interface. This is *always* owned by the validator /parser object from which it is obtained. It is designed to be subclassed; subclasses will specify under what conditions it may be relied upon to have meaningful contents.

## 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:

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

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 | ( |  | ) |

## 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:

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

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.

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

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

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.

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.

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.

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.

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.

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.

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

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

XSObject* XSModel::getXSObjectById | ( | unsigned int | 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

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]`

XSObjectFactory* XSModel::fObjFactory`[protected]`

XSModel* XSModel::fParent`[protected]`

XMLStringPool* XSModel::fURIStringPool`[protected]`

XSAnnotationList* XSModel::fXSAnnotationList`[protected]`

XSNamespaceItemList* XSModel::fXSNamespaceItemList`[protected]`

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

- XSModel.hpp

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.