XMLContentModel Class Referenceabstract

This class defines the abstract interface for all content models. More...

Inheritance diagram for XMLContentModel:

## Public Member Functions

virtual bool | validateContent (QName **const children, XMLSize_t childCount, unsigned int emptyNamespaceId, XMLSize_t *indexFailingChild, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) const =0
virtual bool | validateContentSpecial (QName **const children, XMLSize_t childCount, unsigned int emptyNamespaceId, GrammarResolver *const pGrammarResolver, XMLStringPool *const pStringPool, XMLSize_t *indexFailingChild, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager) const =0
virtual void | checkUniqueParticleAttribution (SchemaGrammar *const pGrammar, GrammarResolver *const pGrammarResolver, XMLStringPool *const pStringPool, XMLValidator *const pValidator, unsigned int *const pContentSpecOrgURI, const XMLCh *pComplexTypeName=0)=0
virtual ContentLeafNameTypeVector * | getContentLeafNameTypeVector () const =0
virtual unsigned int | getNextState (unsigned int currentState, XMLSize_t elementIndex) const =0
virtual bool | handleRepetitions (const QName *const curElem, unsigned int curState, unsigned int currentLoop, unsigned int &nextState, unsigned int &nextLoop, XMLSize_t elementIndex, SubstitutionGroupComparator *comparator) const =0
Destructor
virtual | ~XMLContentModel ()
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...

## Static Public Attributes

static const unsigned int | gInvalidTrans
static const unsigned int | gEOCFakeId
static const unsigned int | gEpsilonFakeId

## Protected Member Functions

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

## Detailed Description

This class defines the abstract interface for all content models.

All elements have a content model against which (if validating) its content is checked. Each type of validator (DTD, Schema, etc...) can have different types of content models, and even with each type of validator there can be specialized content models. So this simple class provides the abstract API via which all the types of contents models are dealt with generically. Its pretty simple.

## Constructor & Destructor Documentation

## ~XMLContentModel()

virtual XMLContentModel::~XMLContentModel | ( |  | ) |

virtual

References XMLPlatformUtils::fgMemoryManager.

## XMLContentModel()

XMLContentModel::XMLContentModel | ( |  | ) |

protected

References XERCES_CPP_NAMESPACE_END.

## Member Function Documentation

## checkUniqueParticleAttribution()

virtual void XMLContentModel::checkUniqueParticleAttribution | ( | SchemaGrammar *const | pGrammar,
|  | GrammarResolver *const | pGrammarResolver,
|  | XMLStringPool *const | pStringPool,
|  | XMLValidator *const | pValidator,
|  | unsigned int *const | pContentSpecOrgURI,
|  | const XMLCh * | pComplexTypeName = `0`
| ) |  |

pure virtual

## getContentLeafNameTypeVector()

virtual ContentLeafNameTypeVector* XMLContentModel::getContentLeafNameTypeVector | ( |  | ) | const

pure virtual

## getNextState()

virtual unsigned int XMLContentModel::getNextState | ( | unsigned int | currentState,
|  | XMLSize_t | elementIndex
| ) |  | const

pure virtual

## handleRepetitions()

virtual bool XMLContentModel::handleRepetitions | ( | const QName *const | curElem,
|  | unsigned int | curState,
|  | unsigned int | currentLoop,
|  | unsigned int & | nextState,
|  | unsigned int & | nextLoop,
|  | XMLSize_t | elementIndex,
|  | SubstitutionGroupComparator * | comparator
| ) |  | const

pure virtual

## validateContent()

virtual bool XMLContentModel::validateContent | ( | QName **const | children,
|  | XMLSize_t | childCount,
|  | unsigned int | emptyNamespaceId,
|  | XMLSize_t * | indexFailingChild,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  | const

pure virtual

## validateContentSpecial()

virtual bool XMLContentModel::validateContentSpecial | ( | QName **const | children,
|  | XMLSize_t | childCount,
|  | unsigned int | emptyNamespaceId,
|  | GrammarResolver *const | pGrammarResolver,
|  | XMLStringPool *const | pStringPool,
|  | XMLSize_t * | indexFailingChild,
|  | MemoryManager *const | manager = `XMLPlatformUtils::fgMemoryManager`
| ) |  | const

pure virtual

## Member Data Documentation

## gEOCFakeId

const unsigned int XMLContentModel::gEOCFakeId

static

## gEpsilonFakeId

const unsigned int XMLContentModel::gEpsilonFakeId

static

## gInvalidTrans

const unsigned int XMLContentModel::gInvalidTrans

static

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

- XMLContentModel.hpp