XMLContentModel Class Reference

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

Inheritance diagram for XMLContentModel:

XMemory

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:

Generated on Fri Jan 29 15:30:49 2010 for Xerces-C++ by  doxygen 1.5.6