| API Docs for SAX and DOM |

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

# XSObject Class Reference

The XSObject forms the base of the Schema Component Model. More...

Inheritance diagram for XSObject:

[legend]
List of all members.

## Public Member Functions

Constructors
| XSObject (XSConstants::COMPONENT_TYPE compType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
Destructor
virtual | ~XSObject ()
XSObject methods
XSConstants::COMPONENT_TYPE | getType () const
| The `type` of this object, i.e.
virtual const XMLCh * | getName ()
| The name of type `NCName` of this declaration as defined in XML Namespaces.
virtual const XMLCh * | getNamespace ()
| The [target namespace] of this object, or `null` if it is unspecified.
virtual XSNamespaceItem * | getNamespaceItem ()
| A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
virtual unsigned int | getId () const
| Optional.
void | setId (unsigned int id)
| Set the id to be returned on getId().

## Protected Attributes

XSConstants::COMPONENT_TYPE | fComponentType
XSModel * | fXSModel
MemoryManager * | fMemoryManager
unsigned int | fId

## Detailed Description

The XSObject forms the base of the Schema Component Model.

It contains all properties common to the majority of XML Schema components. 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

XSObject::XSObject | ( | XSConstants::COMPONENT_TYPE | compType,
|  | XSModel *const | xsModel,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |

The default constructor.

Parameters:

  | compType |
  | xsModel |
  | manager | The configurable memory manager

virtual XSObject::~XSObject | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual unsigned int XSObject::getId | ( |  | ) | const`[virtual]`

Optional.

Return a unique identifier for a component within this XSModel, to optimize querying. May not be defined for all types of component.

Returns:
  id unique for this type of component within this XSModel or 0 to indicate that this is not supported for this type of component.

virtual const XMLCh* XSObject::getName | ( |  | ) | `[virtual]`

| The name of type `NCName` of this declaration as defined in XML Namespaces. Reimplemented in XSAttributeDeclaration, XSAttributeGroupDefinition, XSComplexTypeDefinition, XSElementDeclaration, XSIDCDefinition, XSModelGroupDefinition, XSNotationDeclaration, XSSimpleTypeDefinition, and XSTypeDefinition.

virtual const XMLCh* XSObject::getNamespace | ( |  | ) | `[virtual]`

| The [target namespace] of this object, or `null` if it is unspecified. Reimplemented in XSAttributeDeclaration, XSAttributeGroupDefinition, XSComplexTypeDefinition, XSElementDeclaration, XSIDCDefinition, XSModelGroupDefinition, XSNotationDeclaration, XSSimpleTypeDefinition, and XSTypeDefinition.

virtual XSNamespaceItem* XSObject::getNamespaceItem | ( |  | ) | `[virtual]`

| A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise. Reimplemented in XSAttributeDeclaration, XSAttributeGroupDefinition, XSComplexTypeDefinition, XSElementDeclaration, XSIDCDefinition, XSModelGroupDefinition, XSNotationDeclaration, XSSimpleTypeDefinition, and XSTypeDefinition.

XSConstants::COMPONENT_TYPE XSObject::getType | ( |  | ) | const

| The `type` of this object, i.e. `ELEMENT_DECLARATION`.

void XSObject::setId | ( | unsigned int | id | ) |

| Set the id to be returned on getId().

## Member Data Documentation

XSConstants::COMPONENT_TYPE XSObject::fComponentType`[protected]`

unsigned int XSObject::fId`[protected]`

MemoryManager* XSObject::fMemoryManager`[protected]`

XSModel* XSObject::fXSModel`[protected]`

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

- XSObject.hpp

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