Xerces-C++  3.1.2
Protected Attributes | Friends | List of all members
XSElementDeclaration Class Reference
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. More...
 
Destructor
 ~XSElementDeclaration ()
 
overridden XSXSObject methods
const XMLChgetName () const
 The name of type NCName of this declaration as defined in XML Namespaces. More...
 
const XMLChgetNamespace ()
 The [target namespace] of this object, or null if it is unspecified. More...
 
XSNamespaceItemgetNamespaceItem ()
 A namespace schema information item corresponding to the target namespace of the component, if it's globally declared; or null otherwise. More...
 
XSElementDeclaration methods
XSTypeDefinitiongetTypeDefinition () const
 [type definition]: either a simple type definition or a complex type definition. More...
 
XSConstants::SCOPE getScope () const
 Optional. More...
 
XSComplexTypeDefinitiongetEnclosingCTDefinition () 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 XMLChgetConstraintValue ()
 [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...
 
XSElementDeclarationgetSubstitutionGroupAffiliation () const
 
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...
 
XSAnnotationgetAnnotation () const
 Optional. More...
 
void setTypeDefinition (XSTypeDefinition *typeDefinition)
 methods needed by implementation 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...
 

Protected Attributes

short fDisallowedSubstitutions
 
short fSubstitutionGroupExclusions
 
XSConstants::SCOPE fScope
 
SchemaElementDecl * fSchemaElementDecl
 
XSTypeDefinitionfTypeDefinition
 
XSComplexTypeDefinitionfEnclosingTypeDefinition
 
XSElementDeclarationfSubstitutionGroupAffiliation
 
XSAnnotationfAnnotation
 
XSNamedMap< XSIDCDefinition > * fIdentityConstraints
 
- Protected Attributes inherited from XSObject
XSConstants::COMPONENT_TYPE fComponentType
 
XSModelfXSModel
 
MemoryManagerfMemoryManager
 
XMLSize_t fId
 

Friends

class XSObjectFactory
 

Additional Inherited Members

- Protected Member Functions inherited from XMemory
 XMemory ()
 Protected default constructor. More...
 

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
managerThe configurable memory manager
XSElementDeclaration::~XSElementDeclaration ( )

Member Function Documentation

bool XSElementDeclaration::getAbstract ( ) const

{abstract} A boolean.

XSAnnotation * XSElementDeclaration::getAnnotation ( ) const

Optional.

Annotation.

References fAnnotation.

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

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.

XSComplexTypeDefinition * XSElementDeclaration::getEnclosingCTDefinition ( ) const

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

References fEnclosingTypeDefinition.

XSNamedMap< XSIDCDefinition > * XSElementDeclaration::getIdentityConstraints ( )

identity-constraint definitions: a set of constraint definitions.

References fIdentityConstraints.

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.

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.

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.

XSElementDeclaration * XSElementDeclaration::getSubstitutionGroupAffiliation ( ) const

A top-level element definition.

References fSubstitutionGroupAffiliation.

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.

XSTypeDefinition * XSElementDeclaration::getTypeDefinition ( ) const

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

References fTypeDefinition.

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.
bool XSElementDeclaration::isSubstitutionGroupExclusion ( XSConstants::DERIVATION_TYPE  exclusion)

Convenience method.

Check if exclusion is a substitution group exclusion for this element declaration.

Parameters
exclusionDERIVATION_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.
void XSElementDeclaration::setTypeDefinition ( XSTypeDefinition typeDefinition)

methods needed by implementation

References fTypeDefinition.

Friends And Related Function Documentation

friend class XSObjectFactory
friend

Member Data Documentation

XSAnnotation* XSElementDeclaration::fAnnotation
protected

Referenced by getAnnotation().

short XSElementDeclaration::fDisallowedSubstitutions
protected
XSComplexTypeDefinition* XSElementDeclaration::fEnclosingTypeDefinition
protected
XSNamedMap<XSIDCDefinition>* XSElementDeclaration::fIdentityConstraints
protected

Referenced by getIdentityConstraints().

SchemaElementDecl* XSElementDeclaration::fSchemaElementDecl
protected
XSConstants::SCOPE XSElementDeclaration::fScope
protected

Referenced by getScope().

XSElementDeclaration* XSElementDeclaration::fSubstitutionGroupAffiliation
protected
short XSElementDeclaration::fSubstitutionGroupExclusions
protected
XSTypeDefinition* XSElementDeclaration::fTypeDefinition
protected

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