00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 #if !defined(XMLSCHEMADESCRIPTION_HPP)
00073 #define XMLSCHEMADESCRIPTION_HPP
00074
00075 #include <xercesc/framework/XMLGrammarDescription.hpp>
00076 #include <xercesc/util/RefArrayVectorOf.hpp>
00077
00078 XERCES_CPP_NAMESPACE_BEGIN
00079
00080 typedef const XMLCh* const LocationHint;
00081
00082 class XMLSchemaDescription : public XMLGrammarDescription
00083 {
00084 public :
00085
00087
00089
00093 virtual ~XMLSchemaDescription();
00095
00096
00098
00100
00104 virtual Grammar::GrammarType getGrammarType() const
00105 {
00106 return Grammar::SchemaGrammarType;
00107 }
00109
00110
00112
00114
00115 enum ContextType
00116 {
00117 CONTEXT_INCLUDE,
00118 CONTEXT_REDEFINE,
00119 CONTEXT_IMPORT,
00120 CONTEXT_PREPARSE,
00121 CONTEXT_INSTANCE,
00122 CONTEXT_ELEMENT,
00123 CONTEXT_ATTRIBUTE,
00124 CONTEXT_XSITYPE,
00125 CONTEXT_UNKNOWN
00126 };
00127
00132 virtual ContextType getContextType() const = 0;
00133
00138 virtual const XMLCh* getTargetNamespace() const = 0;
00139
00144 virtual RefArrayVectorOf<XMLCh>* getLocationHints() const = 0;
00145
00150 virtual const QName* getTriggeringComponent() const = 0;
00151
00156 virtual const QName* getEnclosingElementName() const = 0;
00157
00162 virtual const XMLAttDef* getAttributes() const = 0;
00163
00168 virtual void setContextType(ContextType) = 0;
00169
00174 virtual void setTargetNamespace(const XMLCh* const) = 0;
00175
00180 virtual void setLocationHints(const XMLCh* const) = 0;
00181
00186 virtual void setTriggeringComponent(QName* const) = 0;
00187
00192 virtual void setEnclosingElementName(QName* const) = 0;
00193
00198 virtual void setAttributes(XMLAttDef* const) = 0;
00200
00201
00202
00203
00204 DECL_XSERIALIZABLE(XMLSchemaDescription)
00205
00206 protected :
00207
00209
00211
00213
00214 private :
00215
00217
00219
00220 XMLSchemaDescription& operator=(const XMLSchemaDescription& );
00222
00223 };
00224
00225
00226 XERCES_CPP_NAMESPACE_END
00227
00228 #endif