00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined(XMLSCHEMADESCRIPTION_HPP)
00024 #define XMLSCHEMADESCRIPTION_HPP
00025
00026 #include <xercesc/framework/XMLGrammarDescription.hpp>
00027 #include <xercesc/util/RefArrayVectorOf.hpp>
00028
00029 XERCES_CPP_NAMESPACE_BEGIN
00030
00031 typedef const XMLCh* const LocationHint;
00032
00033 class XMLSchemaDescription : public XMLGrammarDescription
00034 {
00035 public :
00036
00038
00040
00044 virtual ~XMLSchemaDescription();
00046
00047
00049
00051
00055 virtual Grammar::GrammarType getGrammarType() const
00056 {
00057 return Grammar::SchemaGrammarType;
00058 }
00060
00061
00063
00065
00066 enum ContextType
00067 {
00068 CONTEXT_INCLUDE,
00069 CONTEXT_REDEFINE,
00070 CONTEXT_IMPORT,
00071 CONTEXT_PREPARSE,
00072 CONTEXT_INSTANCE,
00073 CONTEXT_ELEMENT,
00074 CONTEXT_ATTRIBUTE,
00075 CONTEXT_XSITYPE,
00076 CONTEXT_UNKNOWN
00077 };
00078
00083 virtual ContextType getContextType() const = 0;
00084
00089 virtual const XMLCh* getTargetNamespace() const = 0;
00090
00095 virtual RefArrayVectorOf<XMLCh>* getLocationHints() const = 0;
00096
00101 virtual const QName* getTriggeringComponent() const = 0;
00102
00107 virtual const QName* getEnclosingElementName() const = 0;
00108
00113 virtual const XMLAttDef* getAttributes() const = 0;
00114
00119 virtual void setContextType(ContextType) = 0;
00120
00125 virtual void setTargetNamespace(const XMLCh* const) = 0;
00126
00131 virtual void setLocationHints(const XMLCh* const) = 0;
00132
00137 virtual void setTriggeringComponent(QName* const) = 0;
00138
00143 virtual void setEnclosingElementName(QName* const) = 0;
00144
00149 virtual void setAttributes(XMLAttDef* const) = 0;
00151
00152
00153
00154
00155 DECL_XSERIALIZABLE(XMLSchemaDescription)
00156
00157 protected :
00158
00160
00162 XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
00164
00165 private :
00166
00168
00170 XMLSchemaDescription(const XMLSchemaDescription& );
00171 XMLSchemaDescription& operator=(const XMLSchemaDescription& );
00173
00174 };
00175
00176
00177 XERCES_CPP_NAMESPACE_END
00178
00179 #endif