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_XMLSCHEMADESCRIPTION_HPP)
00023 #define XERCESC_INCLUDE_GUARD_XMLSCHEMADESCRIPTION_HPP
00024
00025 #include <xercesc/framework/XMLGrammarDescription.hpp>
00026 #include <xercesc/util/RefArrayVectorOf.hpp>
00027
00028 XERCES_CPP_NAMESPACE_BEGIN
00029
00030 typedef const XMLCh* const LocationHint;
00031
00032 class XMLPARSER_EXPORT XMLSchemaDescription : public XMLGrammarDescription
00033 {
00034 public :
00035
00037
00039
00043 virtual ~XMLSchemaDescription();
00045
00046
00048
00050
00054 virtual Grammar::GrammarType getGrammarType() const
00055 {
00056 return Grammar::SchemaGrammarType;
00057 }
00059
00060
00062
00064
00065 enum ContextType
00066 {
00067 CONTEXT_INCLUDE,
00068 CONTEXT_REDEFINE,
00069 CONTEXT_IMPORT,
00070 CONTEXT_PREPARSE,
00071 CONTEXT_INSTANCE,
00072 CONTEXT_ELEMENT,
00073 CONTEXT_ATTRIBUTE,
00074 CONTEXT_XSITYPE,
00075 CONTEXT_UNKNOWN
00076 };
00077
00082 virtual ContextType getContextType() const = 0;
00083
00088 virtual const XMLCh* getTargetNamespace() const = 0;
00089
00094 virtual const RefArrayVectorOf<XMLCh>* getLocationHints() const = 0;
00095
00100 virtual const QName* getTriggeringComponent() const = 0;
00101
00106 virtual const QName* getEnclosingElementName() const = 0;
00107
00112 virtual const XMLAttDef* getAttributes() const = 0;
00113
00118 virtual void setContextType(ContextType) = 0;
00119
00124 virtual void setTargetNamespace(const XMLCh* const) = 0;
00125
00130 virtual void setLocationHints(const XMLCh* const) = 0;
00131
00136 virtual void setTriggeringComponent(QName* const) = 0;
00137
00142 virtual void setEnclosingElementName(QName* const) = 0;
00143
00148 virtual void setAttributes(XMLAttDef* const) = 0;
00150
00151
00152
00153
00154 DECL_XSERIALIZABLE(XMLSchemaDescription)
00155
00156 protected :
00157
00159
00161 XMLSchemaDescription(MemoryManager* const memMgr = XMLPlatformUtils::fgMemoryManager);
00163
00164 private :
00165
00167
00169 XMLSchemaDescription(const XMLSchemaDescription& );
00170 XMLSchemaDescription& operator=(const XMLSchemaDescription& );
00172
00173 };
00174
00175
00176 XERCES_CPP_NAMESPACE_END
00177
00178 #endif