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