XSElementDeclaration Class Reference
Inheritance diagram for XSElementDeclaration:

## Public Member Functions

Constructors

XSElementDeclaration (SchemaElementDecl *const schemaElementDecl, XSTypeDefinition *const typeDefinition, XSElementDeclaration *const substitutionGroupAffiliation, XSAnnotation *const annot, XSNamedMap< XSIDCDefinition > *const identityConstraints, XSModel *const xsModel, XSConstants::SCOPE elemScope=XSConstants::SCOPE_ABSENT, XSComplexTypeDefinition *const enclosingTypeDefinition=0, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)

| The default constructor. More...
Destructor
| ~XSElementDeclaration ()
overridden XSXSObject methods
const XMLCh * | getName () const
| The name of type `NCName` of this declaration as defined in XML Namespaces. More...
const XMLCh * | getNamespace ()
| The [target namespace] of this object, or `null` if it is unspecified. More...
XSNamespaceItem * | getNamespaceItem ()
| A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise. More...
XSElementDeclaration methods
XSTypeDefinition * | getTypeDefinition () const
| [type definition]: either a simple type definition or a complex type definition. More...
XSConstants::SCOPE | getScope () const
| Optional. More...
XSComplexTypeDefinition * | getEnclosingCTDefinition () const
| The complex type definition for locally scoped declarations (see `scope`). More...
XSConstants::VALUE_CONSTRAINT | getConstraintType () const
| [Value constraint]: one of `VC_NONE, VC_DEFAULT, VC_FIXED`. More...
const XMLCh * | getConstraintValue ()
| [Value constraint]: the actual value with respect to the [type definition]. More...
bool | getNillable () const
| If nillable is true, then an element may also be valid if it carries the namespace qualified attribute with local name `nil` from namespace `http://www.w3.org/2001/XMLSchema-instance` and value `true` (xsi:nil) even if it has no text or element content despite a `content type` which would otherwise require content. More...
XSNamedMap< XSIDCDefinition > * | getIdentityConstraints ()
| identity-constraint definitions: a set of constraint definitions. More...
XSElementDeclaration * | getSubstitutionGroupAffiliation () const
bool | isSubstitutionGroupExclusion (XSConstants::DERIVATION_TYPE exclusion)
| Convenience method. More...
short | getSubstitutionGroupExclusions () const
| [substitution group exclusions]: the returned value is a bit combination of the subset of { `DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} or `DERIVATION_NONE`. More...
bool | isDisallowedSubstitution (XSConstants::DERIVATION_TYPE disallowed)
| Convenience method. More...
short | getDisallowedSubstitutions () const
| [disallowed substitutions]: the returned value is a bit combination of the subset of { `DERIVATION_SUBSTITUTION, DERIVATION_EXTENSION, DERIVATION_RESTRICTION` } corresponding to substitutions disallowed by this `XSElementDeclaration` or `DERIVATION_NONE`. More...
bool | getAbstract () const
| {abstract} A boolean. More...
XSAnnotation * | getAnnotation () const
| Optional. More...
void | setTypeDefinition (XSTypeDefinition *typeDefinition)
| methods needed by implementation More...
Public Member Functions inherited from XSObject
| XSObject (XSConstants::COMPONENT_TYPE compType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor. More...
virtual | ~XSObject ()
XSConstants::COMPONENT_TYPE | getType () const
| The `type` of this object, i.e. More...
virtual XMLSize_t | getId () const
| Optional. More...
void | setId (XMLSize_t id)
| methods needed by implementation 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

short | fDisallowedSubstitutions
short | fSubstitutionGroupExclusions
XSConstants::SCOPE | fScope
SchemaElementDecl * | fSchemaElementDecl
XSTypeDefinition * | fTypeDefinition
XSComplexTypeDefinition * | fEnclosingTypeDefinition
XSElementDeclaration * | fSubstitutionGroupAffiliation
XSAnnotation * | fAnnotation
XSNamedMap< XSIDCDefinition > * | fIdentityConstraints
Protected Attributes inherited from XSObject
XSConstants::COMPONENT_TYPE | fComponentType
XSModel * | fXSModel
MemoryManager * | fMemoryManager
XMLSize_t | fId

## Friends

class | XSObjectFactory

## Additional Inherited Members

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

## Constructor & Destructor Documentation

XSElementDeclaration::XSElementDeclaration | ( | SchemaElementDecl *const | schemaElementDecl,
|  | XSTypeDefinition *const | typeDefinition,
|  | XSElementDeclaration *const | substitutionGroupAffiliation,
|  | XSAnnotation *const | annot,
|  | XSNamedMap< XSIDCDefinition > *const | identityConstraints,
|  | XSModel *const | xsModel,
|  | XSConstants::SCOPE | elemScope = `XSConstants::SCOPE_ABSENT`,
|  | XSComplexTypeDefinition *const | enclosingTypeDefinition = `0`,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  |

The default constructor.

Parameters

  schemaElementDecl |
  typeDefinition |
  substitutionGroupAffiliation |
  annot |
  identityConstraints |
  xsModel |
  elemScope |
  enclosingTypeDefinition |
  manager | The configurable memory manager

XSElementDeclaration::~XSElementDeclaration | ( |  | ) |

## Member Function Documentation

bool XSElementDeclaration::getAbstract | ( |  | ) | const

{abstract} A boolean.

XSAnnotation * XSElementDeclaration::getAnnotation | ( |  | ) | const

Optional.

Annotation.

XSConstants::VALUE_CONSTRAINT XSElementDeclaration::getConstraintType | ( |  | ) | const

[Value constraint]: one of `VC_NONE, VC_DEFAULT, VC_FIXED`.

const XMLCh* XSElementDeclaration::getConstraintValue | ( |  | ) |

[Value constraint]: the actual value with respect to the [type definition].

short XSElementDeclaration::getDisallowedSubstitutions | ( |  | ) | const

[disallowed substitutions]: the returned value is a bit combination of the subset of { `DERIVATION_SUBSTITUTION, DERIVATION_EXTENSION, DERIVATION_RESTRICTION` } corresponding to substitutions disallowed by this `XSElementDeclaration` or `DERIVATION_NONE`.

XSComplexTypeDefinition * XSElementDeclaration::getEnclosingCTDefinition | ( |  | ) | const

The complex type definition for locally scoped declarations (see `scope`).

XSNamedMap< XSIDCDefinition > * XSElementDeclaration::getIdentityConstraints | ( |  | ) |

identity-constraint definitions: a set of constraint definitions.

const XMLCh* XSElementDeclaration::getName | ( |  | ) | const

virtual

The name of type `NCName` of this declaration as defined in XML Namespaces.

Reimplemented from XSObject.

const XMLCh* XSElementDeclaration::getNamespace | ( |  | ) |

virtual

The [target namespace] of this object, or `null` if it is unspecified.

Reimplemented from XSObject.

XSNamespaceItem* XSElementDeclaration::getNamespaceItem | ( |  | ) |

virtual

A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.

Reimplemented from XSObject.

bool XSElementDeclaration::getNillable | ( |  | ) | const

If nillable is true, then an element may also be valid if it carries the namespace qualified attribute with local name `nil` from namespace `http://www.w3.org/2001/XMLSchema-instance` and value `true` (xsi:nil) even if it has no text or element content despite a `content type` which would otherwise require content.

XSConstants::SCOPE XSElementDeclaration::getScope | ( |  | ) | const

Optional.

One of `SCOPE_GLOBAL`, `SCOPE_LOCAL`, or `SCOPE_ABSENT`. If the scope is local, then the `enclosingCTDefinition` is present.

XSElementDeclaration * XSElementDeclaration::getSubstitutionGroupAffiliation | ( |  | ) | const

A top-level element definition.

short XSElementDeclaration::getSubstitutionGroupExclusions | ( |  | ) | const

[substitution group exclusions]: the returned value is a bit combination of the subset of { `DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} or `DERIVATION_NONE`.

XSTypeDefinition * XSElementDeclaration::getTypeDefinition | ( |  | ) | const

[type definition]: either a simple type definition or a complex type definition.

bool XSElementDeclaration::isDisallowedSubstitution | ( | XSConstants::DERIVATION_TYPE | disallowed | ) |

Convenience method.

Check if `disallowed` is a disallowed substitution for this element declaration.

Parameters

  disallowed | { `DERIVATION_SUBSTITUTION, DERIVATION_EXTENSION, DERIVATION_RESTRICTION` } or `DERIVATION_NONE`. Represents a block set for the element.

Returns
  True if `disallowed` is a part of the substitution group exclusion subset.

bool XSElementDeclaration::isSubstitutionGroupExclusion | ( | XSConstants::DERIVATION_TYPE | exclusion | ) |

Convenience method.

Check if `exclusion` is a substitution group exclusion for this element declaration.

Parameters

  exclusion | `DERIVATION_EXTENSION, DERIVATION_RESTRICTION` or `DERIVATION_NONE`. Represents final set for the element.

Returns
  True if `exclusion` is a part of the substitution group exclusion subset.

void XSElementDeclaration::setTypeDefinition | ( | XSTypeDefinition * | typeDefinition | ) |

methods needed by implementation

References XERCES_CPP_NAMESPACE_END.

## Friends And Related Function Documentation

friend class XSObjectFactory

friend

## Member Data Documentation

XSAnnotation* XSElementDeclaration::fAnnotation

protected

short XSElementDeclaration::fDisallowedSubstitutions

protected

XSComplexTypeDefinition* XSElementDeclaration::fEnclosingTypeDefinition

protected

XSNamedMap<XSIDCDefinition>* XSElementDeclaration::fIdentityConstraints

protected

SchemaElementDecl* XSElementDeclaration::fSchemaElementDecl

protected

XSConstants::SCOPE XSElementDeclaration::fScope

protected

XSElementDeclaration* XSElementDeclaration::fSubstitutionGroupAffiliation

protected

short XSElementDeclaration::fSubstitutionGroupExclusions

protected

XSTypeDefinition* XSElementDeclaration::fTypeDefinition

protected

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

- XSElementDeclaration.hpp