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
00212 virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
00213 const XMLCh *qualifiedName,
00214 DOMDocumentType *doctype,
00215 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00216
00218
00219
00220
00241 virtual DOMImplementation* getInterface(const XMLCh* feature) = 0;
00242
00244
00245
00246
00247
00255 virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00256
00264 static DOMImplementation *getImplementation();
00265
00277 static bool loadDOMExceptionMsg
00278 (
00279 const DOMException::ExceptionCode msgToLoad
00280 , XMLCh* const toFill
00281 , const unsigned int maxChars
00282 );
00283
00295 static bool loadDOMExceptionMsg
00296 (
00297 const DOMRangeException::RangeExceptionCode msgToLoad
00298 , XMLCh* const toFill
00299 , const unsigned int maxChars
00300 );
00302
00303 };
00304
00305 XERCES_CPP_NAMESPACE_END
00306
00307 #endif