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 #if !defined(XMLSCHEMADESCRIPTION_HPP)
00036 #define XMLSCHEMADESCRIPTION_HPP
00037
00038 #include <xercesc/framework/XMLGrammarDescription.hpp>
00039 #include <xercesc/util/RefArrayVectorOf.hpp>
00040
00041 XERCES_CPP_NAMESPACE_BEGIN
00042
00043 typedef const XMLCh* const LocationHint;
00044
00045 class XMLSchemaDescription : public XMLGrammarDescription
00046 {
00047 public :
00048
00050
00052
00056 virtual ~XMLSchemaDescription();
00058
00059
00061
00063
00067 virtual Grammar::GrammarType getGrammarType() const
00068 {
00069 return Grammar::SchemaGrammarType;
00070 }
00072
00073
00075
00077
00078 enum ContextType
00079 {
00080 CONTEXT_INCLUDE,
00081 CONTEXT_REDEFINE,
00082 CONTEXT_IMPORT,
00083 CONTEXT_PREPARSE,
00084 CONTEXT_INSTANCE,
00085 CONTEXT_ELEMENT,
00086 CONTEXT_ATTRIBUTE,
00087 CONTEXT_XSITYPE,
00088 CONTEXT_UNKNOWN
00089 };
00090
00095 virtual ContextType getContextType() const = 0;
00096
00101 virtual const XMLCh* getTargetNamespace() const = 0;
00102
00107 virtual RefArrayVectorOf<XMLCh>* getLocationHints() const = 0;
00108
00113 virtual const QName* getTriggeringComponent() const = 0;
00114
00119 virtual const QName* getEnclosingElementName() const = 0;
00120
00125 virtual const XMLAttDef* getAttributes() const = 0;
00126
00131 virtual void setContextType(ContextType) = 0;
00132
00137 virtual void setTargetNamespace(const XMLCh* const) = 0;
00138
00143 virtual void setLocationHints(const XMLCh* const) = 0;
00144
00149 virtual void setTriggeringComponent(QName* const) = 0;
00150
00155 virtual void setEnclosingElementName(QName* const) = 0;
00156
00161 virtual void setAttributes(XMLAttDef* const) = 0;
00163
00164
00165
00166
00167 DECL_XSERIALIZABLE(XMLSchemaDescription)
00168
00169 protected :
00170
00172
00174
00176
00177 private :
00178
00180
00182
00183 XMLSchemaDescription& operator=(const XMLSchemaDescription& );
00185
00186 };
00187
00188
00189 XERCES_CPP_NAMESPACE_END
00190
00191 #endif