Xerces-C++: XMLContentModel Class Reference

Xerces-C++ 3.3.0

Static Public Attributes | List of all members
XMLContentModel Class Referenceabstract

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

`#include <xercesc/framework/XMLContentModel.hpp>`

Inheritance diagram for XMLContentModel:

## Static Public Attributes
static const unsigned int | gInvalidTrans
static const unsigned int | gEOCFakeId
static const unsigned int | gEpsilonFakeId

## Destructor
virtual | ~XMLContentModel ()
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
| XMLContentModel ()

## Additional Inherited Members
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.
Protected Member Functions inherited from XMemory
| XMemory ()
| Protected default constructor.

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

## ◆ XMLContentModel()

XMLContentModel::XMLContentModel | ( |  | ) |
| protected

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