Xerces-C++: DOMImplementation.hpp Source File

| API Docs for SAX and DOM |
| Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages # 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  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

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.