00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(XERCESC_INCLUDE_GUARD_PSVIELEMENT_HPP)
00023 #define XERCESC_INCLUDE_GUARD_PSVIELEMENT_HPP
00024
00025 #include <xercesc/framework/psvi/PSVIItem.hpp>
00026
00027 XERCES_CPP_NAMESPACE_BEGIN
00028
00036
00037 class XSElementDeclaration;
00038 class XSNotationDeclaration;
00039 class XSModel;
00040
00041 class XMLPARSER_EXPORT PSVIElement : public PSVIItem
00042 {
00043 public:
00044
00045
00046
00049
00055 PSVIElement( MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00056
00058
00061 ~PSVIElement();
00063
00064
00068
00075 XSElementDeclaration *getElementDeclaration();
00076
00082 XSNotationDeclaration *getNotationDeclaration();
00083
00090 XSModel *getSchemaInformation();
00091
00097 XSTypeDefinition *getTypeDefinition();
00098
00108 XSSimpleTypeDefinition *getMemberTypeDefinition();
00109
00111
00112
00116 void reset
00117 (
00118 const VALIDITY_STATE validityState
00119 , const ASSESSMENT_TYPE assessmentType
00120 , const XMLCh* const validationContext
00121 , bool isSpecified
00122 , XSElementDeclaration* const elemDecl
00123 , XSTypeDefinition* const typeDef
00124 , XSSimpleTypeDefinition* const memberType
00125 , XSModel* const schemaInfo
00126 , const XMLCh* const defaultValue
00127 , const XMLCh* const normalizedValue = 0
00128 , XMLCh* const canonicalValue = 0
00129 , XSNotationDeclaration* const notationDecl = 0
00130 );
00131
00133
00134 private:
00135
00136
00137
00138
00139 PSVIElement(const PSVIElement&);
00140 PSVIElement & operator=(const PSVIElement &);
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152 XSElementDeclaration *fElementDecl;
00153 XSNotationDeclaration *fNotationDecl;
00154 XSModel *fSchemaInfo;
00155 };
00156
00157 inline XSElementDeclaration *PSVIElement::getElementDeclaration()
00158 {
00159 return fElementDecl;
00160 }
00161
00162 inline XSNotationDeclaration* PSVIElement::getNotationDeclaration()
00163 {
00164 return fNotationDecl;
00165 }
00166
00167 inline XSModel* PSVIElement::getSchemaInformation()
00168 {
00169 return fSchemaInfo;
00170 }
00171
00172 XERCES_CPP_NAMESPACE_END
00173
00174 #endif