Xerces-C++ 3.2.4
XSComplexTypeDefinition Class Reference

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

Inheritance diagram for XSComplexTypeDefinition:
XSTypeDefinition XSObject XMemory

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
XSWildcardfXSWildcard
XSAttributeUseListfXSAttributeUseList
XSSimpleTypeDefinitionfXSSimpleTypeDefinition
XSAnnotationListfXSAnnotationList
XSParticlefParticle
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.
XSAttributeUseListgetAttributeUses ()
 A set of attribute uses.
XSWildcardgetAttributeWildcard () 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).
XSSimpleTypeDefinitiongetSimpleType () const
 A simple type definition corresponding to simple content model, otherwise null.
XSParticlegetParticle () 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).
XSAnnotationListgetAnnotations ()
 A set of [annotations].
const XMLChgetName () const
 The name of type NCName of this declaration as defined in XML Namespaces.
const XMLChgetNamespace () const
 The [target namespace] of this object, or null if it is unspecified.
XSNamespaceItemgetNamespaceItem ()
 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.
XSTypeDefinitiongetBaseType ()
 {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.
TYPE_CATEGORY fTypeCategory
short fFinal
XSTypeDefinitionfBaseType
XSConstants::COMPONENT_TYPE fComponentType
XSModelfXSModel
MemoryManagerfMemoryManager
XMLSize_t fId

Member Enumeration Documentation

◆ 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
managerThe configurable memory manager

References XMLPlatformUtils::fgMemoryManager, and XSTypeDefinition::XSTypeDefinition().

Referenced by XSObjectFactory.

◆ ~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
ancestorTypeAn ancestor type definition.
Returns
Return true if this type is derived from ancestorType.

Implements XSTypeDefinition.

References XSTypeDefinition::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.

References getAttributeUses(), and getAttributeWildcard().

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

Referenced by getAbstract().

◆ getAttributeWildcard()

XSWildcard * XSComplexTypeDefinition::getAttributeWildcard ( ) const

Optional.An attribute wildcard.

References fXSWildcard.

Referenced by getAbstract().

◆ getBaseType()

XSTypeDefinition * XSComplexTypeDefinition::getBaseType ( )
virtual

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

Implements XSTypeDefinition.

References XSTypeDefinition::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).

References getParticle(), and getSimpleType().

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

Referenced by getContentType().

◆ getProhibitedSubstitutions()

short XSComplexTypeDefinition::getProhibitedSubstitutions ( ) const

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

References fProhibitedSubstitution.

Referenced by isProhibitedSubstitution().

◆ getSimpleType()

XSSimpleTypeDefinition * XSComplexTypeDefinition::getSimpleType ( ) const

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

References fXSSimpleTypeDefinition.

Referenced by getContentType().

◆ isProhibitedSubstitution()

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

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

Parameters
toTestExtension or restriction constants (see XSObject).
Returns
True if toTest is a prohibited substitution, otherwise false.

References getProhibitedSubstitutions().

◆ 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

◆ 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: