# XMLContentModel Class Reference

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

Inheritance diagram for XMLContentModel:

List of all members.

## 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 ()

## Static Public Attributes

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

## Protected Member Functions

| XMLContentModel ()

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

virtual XMLContentModel::~XMLContentModel | ( |  | ) | `[virtual]`

XMLContentModel::XMLContentModel | ( |  | ) | `[protected]`

## Member Function Documentation

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

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

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

virtual ContentLeafNameTypeVector* XMLContentModel::getContentLeafNameTypeVector | ( |  | ) | const`[pure virtual]`

virtual unsigned int XMLContentModel::getNextState | ( | unsigned int | currentState,
|  | XMLSize_t | elementIndex |
| ) |  |  | const`[pure virtual]`

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

## Member Data Documentation

const unsigned int XMLContentModel::gInvalidTrans`[static]`

const unsigned int XMLContentModel::gEOCFakeId`[static]`

const unsigned int XMLContentModel::gEpsilonFakeId`[static]`

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

- XMLContentModel.hpp