Xerces-C++: XSElementDeclaration Class Reference

Xerces-C++ 3.2.3

List of all members
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 () const
| 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...
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...

## XSElementDeclaration methods
class | XSObjectFactory
short | fDisallowedSubstitutions
short | fSubstitutionGroupExclusions
XSConstants::SCOPE | fScope
SchemaElementDecl * | fSchemaElementDecl
XSTypeDefinition * | fTypeDefinition
XSComplexTypeDefinition * | fEnclosingTypeDefinition
XSElementDeclaration * | fSubstitutionGroupAffiliation
XSAnnotation * | fAnnotation
XSNamedMap< XSIDCDefinition > * | fIdentityConstraints
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
| [substitution group affiliation]: optional. More...
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...

## Additional Inherited Members
Protected Member Functions inherited from XMemory
| XMemory ()
| Protected default constructor. More...
Protected Attributes inherited from XSObject
XSConstants::COMPONENT_TYPE | fComponentType
XSModel * | fXSModel
MemoryManager * | fMemoryManager
XMLSize_t | fId

## Constructor & Destructor Documentation

## ◆ XSElementDeclaration()

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::~XSElementDeclaration | ( |  | ) |

## Member Function Documentation

## ◆ getAbstract()

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

{abstract} A boolean.

## ◆ getAnnotation()

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

Optional.

Annotation.

References fAnnotation.

## ◆ getConstraintType()

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

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

## ◆ getConstraintValue()

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

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

## ◆ getDisallowedSubstitutions()

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

References fDisallowedSubstitutions.

## ◆ getEnclosingCTDefinition()

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

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

References fEnclosingTypeDefinition.

## ◆ getIdentityConstraints()

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

identity-constraint definitions: a set of constraint definitions.

References fIdentityConstraints.

## ◆ getName()

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

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

Reimplemented from XSObject.

## ◆ getNamespace()

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

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

Reimplemented from XSObject.

## ◆ getNamespaceItem()

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.

## ◆ getNillable()

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.

## ◆ getScope()

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.

References fScope.

## ◆ getSubstitutionGroupAffiliation()

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

[substitution group affiliation]: optional.

A top-level element definition.

References fSubstitutionGroupAffiliation.

## ◆ getSubstitutionGroupExclusions()

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

References fSubstitutionGroupExclusions.

## ◆ getTypeDefinition()

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

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

References fTypeDefinition.

## ◆ isDisallowedSubstitution()

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.

## ◆ isSubstitutionGroupExclusion()

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.

## ◆ setTypeDefinition()

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

methods needed by implementation

References fTypeDefinition.

## Friends And Related Function Documentation

## ◆ XSObjectFactory

friend class XSObjectFactory
| friend

## Member Data Documentation

## ◆ fAnnotation

XSAnnotation* XSElementDeclaration::fAnnotation
| protected

Referenced by getAnnotation().

## ◆ fDisallowedSubstitutions

short XSElementDeclaration::fDisallowedSubstitutions
| protected

Referenced by getDisallowedSubstitutions().

## ◆ fEnclosingTypeDefinition

XSComplexTypeDefinition* XSElementDeclaration::fEnclosingTypeDefinition
| protected

Referenced by getEnclosingCTDefinition().

## ◆ fIdentityConstraints

XSNamedMap<XSIDCDefinition>* XSElementDeclaration::fIdentityConstraints
| protected

Referenced by getIdentityConstraints().

## ◆ fSchemaElementDecl

SchemaElementDecl* XSElementDeclaration::fSchemaElementDecl
| protected

## ◆ fScope

XSConstants::SCOPE XSElementDeclaration::fScope
| protected

Referenced by getScope().

## ◆ fSubstitutionGroupAffiliation

XSElementDeclaration* XSElementDeclaration::fSubstitutionGroupAffiliation
| protected

Referenced by getSubstitutionGroupAffiliation().

## ◆ fSubstitutionGroupExclusions

short XSElementDeclaration::fSubstitutionGroupExclusions
| protected

Referenced by getSubstitutionGroupExclusions().

## ◆ fTypeDefinition

XSTypeDefinition* XSElementDeclaration::fTypeDefinition
| protected

Referenced by getTypeDefinition(), and setTypeDefinition().

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

- XSElementDeclaration.hpp