00001 #ifndef DOMImplementation_HEADER_GUARD_
00002 #define DOMImplementation_HEADER_GUARD_
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 #include <xercesc/dom/DOMImplementationLS.hpp>
00065 #include <xercesc/dom/DOMException.hpp>
00066 #include <xercesc/dom/DOMRangeException.hpp>
00067 #include <xercesc/util/PlatformUtils.hpp>
00068
00069 XERCES_CPP_NAMESPACE_BEGIN
00070
00071
00072 class DOMDocument;
00073 class DOMDocumentType;
00074
00081 class DOMImplementation : public DOMImplementationLS
00082 {
00083 protected:
00084
00085
00086
00089 DOMImplementation() {};
00091
00092 private:
00093
00094
00095
00098 DOMImplementation(const DOMImplementation &);
00099 DOMImplementation & operator = (const DOMImplementation &);
00101
00102
00103 public:
00104
00105
00106
00113 virtual ~DOMImplementation() {};
00115
00116
00117
00118
00137 virtual bool hasFeature(const XMLCh *feature, const XMLCh *version) const = 0;
00139
00140
00141
00142
00170 virtual DOMDocumentType *createDocumentType(const XMLCh *qualifiedName,
00171 const XMLCh *publicId,
00172 const XMLCh *systemId) = 0;
00173
00210 virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
00211 const XMLCh *qualifiedName,
00212 DOMDocumentType *doctype,
00213 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00214
00216
00217
00218
00239 virtual DOMImplementation* getInterface(const XMLCh* feature) = 0;
00240
00242
00243
00244
00245
00253 virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00254
00262 static DOMImplementation *getImplementation();
00263
00275 static bool loadDOMExceptionMsg
00276 (
00277 const DOMException::ExceptionCode msgToLoad
00278 , XMLCh* const toFill
00279 , const unsigned int maxChars
00280 );
00281
00293 static bool loadDOMExceptionMsg
00294 (
00295 const DOMRangeException::RangeExceptionCode msgToLoad
00296 , XMLCh* const toFill
00297 , const unsigned int maxChars
00298 );
00300
00301 };
00302
00303 XERCES_CPP_NAMESPACE_END
00304
00305 #endif