Xerces-C++ 3.3.0
XSElementDeclaration Class Reference

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

Inheritance diagram for XSElementDeclaration:
XSObject XMemory

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

XSElementDeclaration methods

class XSObjectFactory
 
short fDisallowedSubstitutions
 
short fSubstitutionGroupExclusions
 
XSConstants::SCOPE fScope
 
SchemaElementDecl * fSchemaElementDecl
 
XSTypeDefinitionfTypeDefinition
 
XSComplexTypeDefinitionfEnclosingTypeDefinition
 
XSElementDeclarationfSubstitutionGroupAffiliation
 
XSAnnotationfAnnotation
 
XSNamedMap< XSIDCDefinition > * fIdentityConstraints
 
XSTypeDefinitiongetTypeDefinition () const
 [type definition]: either a simple type definition or a complex type definition.
 
XSConstants::SCOPE getScope () const
 Optional.
 
XSComplexTypeDefinitiongetEnclosingCTDefinition () 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 XMLChgetConstraintValue ()
 [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.
 
XSElementDeclarationgetSubstitutionGroupAffiliation () 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.
 
XSAnnotationgetAnnotation () const
 Optional.
 
void setTypeDefinition (XSTypeDefinition *typeDefinition)
 methods needed by implementation
 

Additional Inherited Members

- Protected Member Functions inherited from XMemory
 XMemory ()
 Protected default constructor.
 
- Protected Attributes inherited from XSObject
XSConstants::COMPONENT_TYPE fComponentType
 
XSModelfXSModel
 
MemoryManagerfMemoryManager
 
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
managerThe 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 Symbol Documentation

◆ XSObjectFactory

friend class XSObjectFactory
friend

Member Data Documentation

◆ fAnnotation

XSAnnotation* XSElementDeclaration::fAnnotation
protected

Referenced by getAnnotation().

◆ fDisallowedSubstitutions

short XSElementDeclaration::fDisallowedSubstitutions
protected

◆ fEnclosingTypeDefinition

XSComplexTypeDefinition* XSElementDeclaration::fEnclosingTypeDefinition
protected

◆ 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

◆ fSubstitutionGroupExclusions

short XSElementDeclaration::fSubstitutionGroupExclusions
protected

◆ fTypeDefinition

XSTypeDefinition* XSElementDeclaration::fTypeDefinition
protected

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