# XSElementDeclaration Class Reference

Inheritance diagram for XSElementDeclaration:

List of all members.

## 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.
Destructor
| ~XSElementDeclaration ()
overridden XSXSObject methods
const XMLCh * | getName () const
| The name of type `NCName` of this declaration as defined in XML Namespaces.
const XMLCh * | getNamespace ()
| The [target namespace] of this object, or `null` if it is unspecified.
XSNamespaceItem * | getNamespaceItem ()
| A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise.
XSElementDeclaration methods
XSTypeDefinition * | getTypeDefinition () const
| [type definition]: either a simple type definition or a complex type definition.
XSConstants::SCOPE | getScope () const
| Optional.
XSComplexTypeDefinition * | getEnclosingCTDefinition () const
| The complex type definition for locally scoped declarations (see `scope`).
XSConstants::VALUE_CONSTRAINT | getConstraintType () const
| [Value constraint]: one of `VC_NONE, VC_DEFAULT, VC_FIXED`.
const XMLCh * | getConstraintValue ()
| [Value constraint]: the actual value with respect to the [type definition].
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.
XSNamedMap< XSIDCDefinition > * | getIdentityConstraints ()
| identity-constraint definitions: a set of constraint definitions.
XSElementDeclaration * | getSubstitutionGroupAffiliation () const
| [substitution group affiliation]: optional.
bool | isSubstitutionGroupExclusion (XSConstants::DERIVATION_TYPE exclusion)
| Convenience method.
short | getSubstitutionGroupExclusions () const
| [substitution group exclusions]: the returned value is a bit combination of the subset of { `DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} or `DERIVATION_NONE`.
bool | isDisallowedSubstitution (XSConstants::DERIVATION_TYPE disallowed)
| Convenience method.
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`.
bool | getAbstract () const
| {abstract} A boolean.
XSAnnotation * | getAnnotation () const
| Optional.
void | setTypeDefinition (XSTypeDefinition *typeDefinition)
| methods needed by implementation

## Protected Attributes

short | fDisallowedSubstitutions
short | fSubstitutionGroupExclusions
XSConstants::SCOPE | fScope
SchemaElementDecl * | fSchemaElementDecl
XSTypeDefinition * | fTypeDefinition
XSComplexTypeDefinition * | fEnclosingTypeDefinition
XSElementDeclaration * | fSubstitutionGroupAffiliation
XSAnnotation * | fAnnotation
XSNamedMap< XSIDCDefinition > * | fIdentityConstraints

## Friends

class | XSObjectFactory

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

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.

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

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

References fTypeDefinition.

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.

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

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

References fEnclosingTypeDefinition.

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

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.

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

identity-constraint definitions: a set of constraint definitions.

References fIdentityConstraints.

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

[substitution group affiliation]: optional.

A top-level element definition.

References fSubstitutionGroupAffiliation.

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.

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.

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.

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.

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

{abstract} A boolean.

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

Optional.

Annotation.

References fAnnotation.

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

methods needed by implementation

References fTypeDefinition.

## Friends And Related Function Documentation

friend class XSObjectFactory`[friend]`

## Member Data Documentation

short XSElementDeclaration::fDisallowedSubstitutions`[protected]`

Referenced by getDisallowedSubstitutions().

short XSElementDeclaration::fSubstitutionGroupExclusions`[protected]`

Referenced by getSubstitutionGroupExclusions().

XSConstants::SCOPE XSElementDeclaration::fScope`[protected]`

Referenced by getScope().

SchemaElementDecl* XSElementDeclaration::fSchemaElementDecl`[protected]`

XSTypeDefinition* XSElementDeclaration::fTypeDefinition`[protected]`

Referenced by getTypeDefinition(), and setTypeDefinition().

XSComplexTypeDefinition* XSElementDeclaration::fEnclosingTypeDefinition`[protected]`

Referenced by getEnclosingCTDefinition().

XSElementDeclaration* XSElementDeclaration::fSubstitutionGroupAffiliation`[protected]`

Referenced by getSubstitutionGroupAffiliation().

XSAnnotation* XSElementDeclaration::fAnnotation`[protected]`

Referenced by getAnnotation().

XSNamedMap<XSIDCDefinition>* XSElementDeclaration::fIdentityConstraints`[protected]`

Referenced by getIdentityConstraints().

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

- XSElementDeclaration.hpp