Xerces-C++: XSComplexTypeDefinition Class Reference

Xerces-C++ 3.3.0

Public Types | List of all members
XSComplexTypeDefinition Class Reference

`#include <xercesc/framework/psvi/XSComplexTypeDefinition.hpp>`

Inheritance diagram for XSComplexTypeDefinition:

## Public Types
enum | CONTENT_TYPE { CONTENTTYPE_EMPTY = 0 , CONTENTTYPE_SIMPLE = 1 , CONTENTTYPE_ELEMENT = 2 , CONTENTTYPE_MIXED = 3 }
Public Types inherited from XSTypeDefinition
enum | TYPE_CATEGORY { COMPLEX_TYPE = 15 , SIMPLE_TYPE = 16 }

## Public Member Functions
Constructors
| XSComplexTypeDefinition (ComplexTypeInfo *const complexTypeInfo, XSWildcard *const xsWildcard, XSSimpleTypeDefinition *const xsSimpleType, XSAttributeUseList *const xsAttList, XSTypeDefinition *const xsBaseType, XSParticle *const xsParticle, XSAnnotation *const headAnnot, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
Destructor
| ~XSComplexTypeDefinition ()
Public Member Functions inherited from XSTypeDefinition
| XSTypeDefinition (TYPE_CATEGORY typeCategory, XSTypeDefinition *const xsBaseType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
virtual | ~XSTypeDefinition ()
TYPE_CATEGORY | getTypeCategory () const
| Return whether this type definition is a simple type or complex type.
bool | isFinal (short toTest)
| {final}.
short | getFinal () const
| For complex types the returned value is a bit combination of the subset of {`DERIVATION_EXTENSION, DERIVATION_RESTRICTION`} corresponding to `final` set of this type or `DERIVATION_NONE`.
bool | derivedFrom (const XMLCh *typeNamespace, const XMLCh *name)
| Convenience method: check if this type is derived from the given ancestor type.
Public Member Functions inherited from XSObject
| XSObject (XSConstants::COMPONENT_TYPE compType, XSModel *const xsModel, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| The default constructor.
virtual | ~XSObject ()
XSConstants::COMPONENT_TYPE | getType () const
| The `type` of this object, i.e.
virtual XMLSize_t | getId () const
| Optional.
void | setId (XMLSize_t id)
| methods needed by implementation
Public Member Functions inherited from XMemory
void * | operator new (size_t size)
| This method overrides operator new.
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.
void * | operator new (size_t size, void *ptr)
| This method overrides placement operator new.
void | operator delete (void *p)
| This method overrides operator delete.
void | operator delete (void *p, MemoryManager *memMgr)
| This method provides a matching delete for the custom operator new.
void | operator delete (void *p, void *ptr)
| This method provides a matching delete for the placement new.

## XSComplexTypeDefinition methods
class | XSObjectFactory
ComplexTypeInfo * | fComplexTypeInfo
XSWildcard * | fXSWildcard
XSAttributeUseList * | fXSAttributeUseList
XSSimpleTypeDefinition * | fXSSimpleTypeDefinition
XSAnnotationList * | fXSAnnotationList
XSParticle * | fParticle
short | fProhibitedSubstitution
XSConstants::DERIVATION_TYPE | getDerivationMethod () const
| [derivation method]: either `DERIVATION_EXTENSION`, `DERIVATION_RESTRICTION`, or `DERIVATION_NONE` (see `XSObject`).
bool | getAbstract () const
| [abstract]: a boolean.
XSAttributeUseList * | getAttributeUses ()
| A set of attribute uses.
XSWildcard * | getAttributeWildcard () const
| Optional.An attribute wildcard.
CONTENT_TYPE | getContentType () const
| [content type]: one of empty (`CONTENTTYPE_EMPTY`), a simple type definition (`CONTENTTYPE_SIMPLE`), mixed ( `CONTENTTYPE_MIXED`), or element-only ( `CONTENTTYPE_ELEMENT`).
XSSimpleTypeDefinition * | getSimpleType () const
| A simple type definition corresponding to simple content model, otherwise `null`
XSParticle * | getParticle () const
| A particle for mixed or element-only content model, otherwise `null`
bool | isProhibitedSubstitution (XSConstants::DERIVATION_TYPE toTest)
| [prohibited substitutions]: a subset of {extension, restriction}
short | getProhibitedSubstitutions () const
| [prohibited substitutions]: A subset of {extension, restriction} or `DERIVATION_NONE` represented as a bit flag (see `XSObject`).
XSAnnotationList * | getAnnotations ()
| A set of [annotations].
const XMLCh * | getName () const
| The name of type `NCName` of this declaration as defined in XML Namespaces.
const XMLCh * | getNamespace () const
| 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.
bool | getAnonymous () const
| A boolean that specifies if the type definition is anonymous.
XSTypeDefinition * | getBaseType ()
| {base type definition}: either a simple type definition or a complex type definition.
bool | derivedFromType (const XSTypeDefinition *const ancestorType)
| Convenience method: check if this type is derived from the given `ancestorType`.

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

## Member Enumeration Documentation

## ◆ CONTENT_TYPE

enum XSComplexTypeDefinition::CONTENT_TYPE

Enumerator
CONTENTTYPE_EMPTY | Represents an empty content type. A content type with the distinguished value empty validates elements with no character or element information item children.
CONTENTTYPE_SIMPLE | Represents a simple content type. A content type which is a simple validates elements with character-only children.
CONTENTTYPE_ELEMENT | Represents an element-only content type. An element-only content type validates elements with children that conform to the supplied content model.
CONTENTTYPE_MIXED | Represents a mixed content type.

## Constructor & Destructor Documentation

## ◆ XSComplexTypeDefinition()

XSComplexTypeDefinition::XSComplexTypeDefinition | ( | ComplexTypeInfo *const | complexTypeInfo,
|  | XSWildcard *const | xsWildcard,
|  | XSSimpleTypeDefinition *const | xsSimpleType,
|  | XSAttributeUseList *const | xsAttList,
|  | XSTypeDefinition *const | xsBaseType,
|  | XSParticle *const | xsParticle,
|  | XSAnnotation *const | headAnnot,
|  | XSModel *const | xsModel,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

The default constructor.

Parameters

  complexTypeInfo |
  xsWildcard |
  xsSimpleType |
  xsAttList |
  xsBaseType |
  xsParticle |
  headAnnot |
  xsModel |
  manager | The configurable memory manager

## ◆ ~XSComplexTypeDefinition()

XSComplexTypeDefinition::~XSComplexTypeDefinition | ( |  | ) |

## Member Function Documentation

## ◆ derivedFromType()

bool XSComplexTypeDefinition::derivedFromType | ( | const XSTypeDefinition *const | ancestorType | ) |
| virtual

Convenience method: check if this type is derived from the given `ancestorType`.

Parameters

  ancestorType | An ancestor type definition.

Returns
  Return true if this type is derived from `ancestorType`.

Implements XSTypeDefinition.

## ◆ getAbstract()

bool XSComplexTypeDefinition::getAbstract | ( |  | ) | const

[abstract]: a boolean.

Complex types for which `abstract` is true must not be used as the type definition for the validation of element information items.

## ◆ getAnnotations()

XSAnnotationList * XSComplexTypeDefinition::getAnnotations | ( |  | ) |

A set of [annotations].

## ◆ getAnonymous()

bool XSComplexTypeDefinition::getAnonymous | ( |  | ) | const
| virtual

A boolean that specifies if the type definition is anonymous.

Convenience attribute.

Implements XSTypeDefinition.

## ◆ getAttributeUses()

XSAttributeUseList * XSComplexTypeDefinition::getAttributeUses | ( |  | ) |

A set of attribute uses.

References fXSAttributeUseList.

## ◆ getAttributeWildcard()

XSWildcard * XSComplexTypeDefinition::getAttributeWildcard | ( |  | ) | const

Optional.An attribute wildcard.

References fXSWildcard.

## ◆ getBaseType()

XSTypeDefinition * XSComplexTypeDefinition::getBaseType | ( |  | ) |
| virtual

{base type definition}: either a simple type definition or a complex type definition.

Implements XSTypeDefinition.

## ◆ getContentType()

CONTENT_TYPE XSComplexTypeDefinition::getContentType | ( |  | ) | const

[content type]: one of empty (`CONTENTTYPE_EMPTY`), a simple type definition (`CONTENTTYPE_SIMPLE`), mixed ( `CONTENTTYPE_MIXED`), or element-only ( `CONTENTTYPE_ELEMENT`).

## ◆ getDerivationMethod()

XSConstants::DERIVATION_TYPE XSComplexTypeDefinition::getDerivationMethod | ( |  | ) | const

[derivation method]: either `DERIVATION_EXTENSION`, `DERIVATION_RESTRICTION`, or `DERIVATION_NONE` (see `XSObject`).

## ◆ getName()

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

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

Implements XSTypeDefinition.

## ◆ getNamespace()

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

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

Implements XSTypeDefinition.

## ◆ getNamespaceItem()

XSNamespaceItem * XSComplexTypeDefinition::getNamespaceItem | ( |  | ) |
| virtual

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

Implements XSTypeDefinition.

## ◆ getParticle()

XSParticle * XSComplexTypeDefinition::getParticle | ( |  | ) | const

A particle for mixed or element-only content model, otherwise `null`

References fParticle.

## ◆ getProhibitedSubstitutions()

short XSComplexTypeDefinition::getProhibitedSubstitutions | ( |  | ) | const

[prohibited substitutions]: A subset of {extension, restriction} or `DERIVATION_NONE` represented as a bit flag (see `XSObject`).

References fProhibitedSubstitution.

## ◆ getSimpleType()

XSSimpleTypeDefinition * XSComplexTypeDefinition::getSimpleType | ( |  | ) | const

A simple type definition corresponding to simple content model, otherwise `null`

References fXSSimpleTypeDefinition.

## ◆ isProhibitedSubstitution()

bool XSComplexTypeDefinition::isProhibitedSubstitution | ( | XSConstants::DERIVATION_TYPE | toTest | ) |

[prohibited substitutions]: a subset of {extension, restriction}

Parameters

  toTest | Extension or restriction constants (see `XSObject`).

Returns
  True if toTest is a prohibited substitution, otherwise false.

## Friends And Related Symbol Documentation

## ◆ XSObjectFactory

friend class XSObjectFactory
| friend

## Member Data Documentation

## ◆ fComplexTypeInfo

ComplexTypeInfo* XSComplexTypeDefinition::fComplexTypeInfo
| protected

## ◆ fParticle

XSParticle* XSComplexTypeDefinition::fParticle
| protected

Referenced by getParticle().

## ◆ fProhibitedSubstitution

short XSComplexTypeDefinition::fProhibitedSubstitution
| protected

Referenced by getProhibitedSubstitutions().

## ◆ fXSAnnotationList

XSAnnotationList* XSComplexTypeDefinition::fXSAnnotationList
| protected

## ◆ fXSAttributeUseList

XSAttributeUseList* XSComplexTypeDefinition::fXSAttributeUseList
| protected

Referenced by getAttributeUses().

## ◆ fXSSimpleTypeDefinition

XSSimpleTypeDefinition* XSComplexTypeDefinition::fXSSimpleTypeDefinition
| protected

Referenced by getSimpleType().

## ◆ fXSWildcard

XSWildcard* XSComplexTypeDefinition::fXSWildcard
| protected

Referenced by getAttributeWildcard().

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

- XSComplexTypeDefinition.hpp