DOMImplementation.hpp

Go to the documentation of this file.
00001 #ifndef DOMImplementation_HEADER_GUARD_
00002 #define DOMImplementation_HEADER_GUARD_
00003 
00004 /*
00005  * Copyright 2001-2002,2004 The Apache Software Foundation.
00006  * 
00007  * Licensed under the Apache License, Version 2.0 (the "License");
00008  * you may not use this file except in compliance with the License.
00009  * You may obtain a copy of the License at
00010  * 
00011  *      http://www.apache.org/licenses/LICENSE-2.0
00012  * 
00013  * Unless required by applicable law or agreed to in writing, software
00014  * distributed under the License is distributed on an "AS IS" BASIS,
00015  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016  * See the License for the specific language governing permissions and
00017  * limitations under the License.
00018  */
00019 
00020 /*
00021  * $Id: DOMImplementation.hpp 176026 2004-09-08 13:57:07Z peiyongz $
00022  */
00023 
00024 #include <xercesc/dom/DOMImplementationLS.hpp>
00025 #include <xercesc/dom/DOMException.hpp>
00026 #include <xercesc/dom/DOMRangeException.hpp>
00027 #include <xercesc/util/PlatformUtils.hpp>
00028 
00029 XERCES_CPP_NAMESPACE_BEGIN
00030 
00031 
00032 class DOMDocument;
00033 class DOMDocumentType;
00034 
00041 class CDOM_EXPORT DOMImplementation : public DOMImplementationLS
00042 {
00043 protected:
00044     // -----------------------------------------------------------------------
00045     //  Hidden constructors
00046     // -----------------------------------------------------------------------
00049         DOMImplementation() {};                                      // no plain constructor
00051 
00052 private:
00053     // -----------------------------------------------------------------------
00054     // Unimplemented constructors and operators
00055     // -----------------------------------------------------------------------
00058         DOMImplementation(const DOMImplementation &);   // no copy construtor.
00059         DOMImplementation & operator = (const DOMImplementation &);  // No Assignment
00061 
00062 
00063 public:
00064     // -----------------------------------------------------------------------
00065     //  All constructors are hidden, just the destructor is available
00066     // -----------------------------------------------------------------------
00073     virtual ~DOMImplementation() {};
00075 
00076     // -----------------------------------------------------------------------
00077     // Virtual DOMImplementation interface
00078     // -----------------------------------------------------------------------
00097     virtual bool  hasFeature(const XMLCh *feature,  const XMLCh *version) const = 0;
00099 
00100     // -----------------------------------------------------------------------
00101     // Functions introduced in DOM Level 2
00102     // -----------------------------------------------------------------------
00130     virtual  DOMDocumentType *createDocumentType(const XMLCh *qualifiedName,
00131                                                  const XMLCh *publicId,
00132                                                  const XMLCh *systemId) = 0;
00133 
00172     virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
00173                                         const XMLCh *qualifiedName,
00174                                         DOMDocumentType *doctype,
00175                                         MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00176 
00178     // -----------------------------------------------------------------------
00179     // Functions introduced in DOM Level 3
00180     // -----------------------------------------------------------------------
00201     virtual DOMImplementation* getInterface(const XMLCh* feature) = 0;
00202 
00204 
00205     // -----------------------------------------------------------------------
00206     // Non-standard extension
00207     // -----------------------------------------------------------------------
00215     virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
00216 
00224     static DOMImplementation *getImplementation();
00225 
00237     static bool loadDOMExceptionMsg
00238     (
00239         const   DOMException::ExceptionCode  msgToLoad
00240         ,       XMLCh* const                 toFill
00241         , const unsigned int                 maxChars
00242     );
00243 
00255     static bool loadDOMExceptionMsg
00256     (
00257         const   DOMRangeException::RangeExceptionCode  msgToLoad
00258         ,       XMLCh* const                           toFill
00259         , const unsigned int                           maxChars
00260     );
00262 
00263 };
00264 
00265 XERCES_CPP_NAMESPACE_END
00266 
00267 #endif

Generated on Wed Dec 12 19:14:06 2007 for XQilla DOM Level 3 API by  doxygen 1.5.1