Warning, file /include/xercesc/framework/XMLContentModel.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #if !defined(XERCESC_INCLUDE_GUARD_XMLCONTENTMODEL_HPP)
0023 #define XERCESC_INCLUDE_GUARD_XMLCONTENTMODEL_HPP
0024
0025 #include <xercesc/util/XMemory.hpp>
0026 #include <xercesc/util/QName.hpp>
0027
0028 XERCES_CPP_NAMESPACE_BEGIN
0029
0030 class ContentLeafNameTypeVector;
0031 class GrammarResolver;
0032 class XMLStringPool;
0033 class XMLValidator;
0034 class SchemaGrammar;
0035 class SubstitutionGroupComparator;
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046 class XMLPARSER_EXPORT XMLContentModel : public XMemory
0047 {
0048 public:
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064 static const unsigned int gInvalidTrans;
0065 static const unsigned int gEOCFakeId;
0066 static const unsigned int gEpsilonFakeId;
0067
0068
0069
0070
0071
0072
0073 virtual ~XMLContentModel()
0074 {
0075 }
0076
0077
0078
0079
0080
0081
0082 virtual bool validateContent
0083 (
0084 QName** const children
0085 , XMLSize_t childCount
0086 , unsigned int emptyNamespaceId
0087 , XMLSize_t* indexFailingChild
0088 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
0089 ) const = 0;
0090
0091 virtual bool validateContentSpecial
0092 (
0093 QName** const children
0094 , XMLSize_t childCount
0095 , unsigned int emptyNamespaceId
0096 , GrammarResolver* const pGrammarResolver
0097 , XMLStringPool* const pStringPool
0098 , XMLSize_t* indexFailingChild
0099 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
0100 ) const =0;
0101
0102 virtual void checkUniqueParticleAttribution
0103 (
0104 SchemaGrammar* const pGrammar
0105 , GrammarResolver* const pGrammarResolver
0106 , XMLStringPool* const pStringPool
0107 , XMLValidator* const pValidator
0108 , unsigned int* const pContentSpecOrgURI
0109 , const XMLCh* pComplexTypeName = 0
0110 ) =0;
0111
0112 virtual ContentLeafNameTypeVector* getContentLeafNameTypeVector()
0113 const = 0;
0114
0115 virtual unsigned int getNextState(unsigned int currentState,
0116 XMLSize_t elementIndex) const = 0;
0117
0118 virtual bool handleRepetitions( const QName* const curElem,
0119 unsigned int curState,
0120 unsigned int currentLoop,
0121 unsigned int& nextState,
0122 unsigned int& nextLoop,
0123 XMLSize_t elementIndex,
0124 SubstitutionGroupComparator * comparator) const = 0;
0125
0126 protected :
0127
0128
0129
0130 XMLContentModel()
0131 {
0132 }
0133
0134
0135 private :
0136
0137
0138
0139 XMLContentModel(const XMLContentModel&);
0140 XMLContentModel& operator=(const XMLContentModel&);
0141 };
0142
0143 XERCES_CPP_NAMESPACE_END
0144
0145 #endif