| API Docs for SAX and DOM |
| Main Page Classes Files Related Pages # DOMImplementation.hpp Go to the documentation of this file.
    00001 #ifndef DOMImplementation_HEADER_GUARD_
    00002 #define DOMImplementation_HEADER_GUARD_
    00003
    00004 /*
    00005  * Licensed to the Apache Software Foundation (ASF) under one or more
    00006  * contributor license agreements.  See the NOTICE file distributed with
    00007  * this work for additional information regarding copyright ownership.
    00008  * The ASF licenses this file to You under the Apache License, Version 2.0
    00009  * (the "License"); you may not use this file except in compliance with
    00010  * the License.  You may obtain a copy of the License at
    00011  *
    00012  *      http://www.apache.org/licenses/LICENSE-2.0
    00013  *
    00014  * Unless required by applicable law or agreed to in writing, software
    00015  * distributed under the License is distributed on an "AS IS" BASIS,
    00016  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    00017  * See the License for the specific language governing permissions and
    00018  * limitations under the License.
    00019  */
    00020
    00021 /*
    00022  * $Id: DOMImplementation.hpp 568078 2007-08-21 11:43:25Z amassari $
    00023  */
    00024
    00025 #include <xercesc/dom/DOMImplementationLS.hpp>
    00026 #include <xercesc/dom/DOMException.hpp>
    00027 #include <xercesc/dom/DOMRangeException.hpp>
    00028 #include <xercesc/util/PlatformUtils.hpp>
    00029
    00030 XERCES_CPP_NAMESPACE_BEGIN
    00031
    00032
    00033 class DOMDocument;
    00034 class DOMDocumentType;
    00035
    00042 class  DOMImplementation : public DOMImplementationLS
    00043 {
    00044 protected:
    00045     // -----------------------------------------------------------------------
    00046     //  Hidden constructors
    00047     // -----------------------------------------------------------------------
    00050         DOMImplementation() {};                                      // no plain constructor
    00052
    00053 private:
    00054     // -----------------------------------------------------------------------
    00055     // Unimplemented constructors and operators
    00056     // -----------------------------------------------------------------------
    00059         DOMImplementation(const DOMImplementation &);   // no copy construtor.
    00060         DOMImplementation & operator = (const DOMImplementation &);  // No Assignment
    00062
    00063
    00064 public:
    00065     // -----------------------------------------------------------------------
    00066     //  All constructors are hidden, just the destructor is available
    00067     // -----------------------------------------------------------------------
    00074     virtual ~DOMImplementation() {};
    00076
    00077     // -----------------------------------------------------------------------
    00078     // Virtual DOMImplementation interface
    00079     // -----------------------------------------------------------------------
    00098     virtual bool  hasFeature(const XMLCh *feature,  const XMLCh *version) const = 0;
    00100
    00101     // -----------------------------------------------------------------------
    00102     // Functions introduced in DOM Level 2
    00103     // -----------------------------------------------------------------------
    00131     virtual  DOMDocumentType *createDocumentType(const XMLCh *qualifiedName,
    00132                                                  const XMLCh *publicId,
    00133                                                  const XMLCh *systemId) = 0;
    00134
    00173     virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
    00174                                         const XMLCh *qualifiedName,
    00175                                         DOMDocumentType *doctype,
    00176                                         MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
    00177
    00179     // -----------------------------------------------------------------------
    00180     // Functions introduced in DOM Level 3
    00181     // -----------------------------------------------------------------------
    00202     virtual DOMImplementation* getInterface(const XMLCh* feature) = 0;
    00203
    00205
    00206     // -----------------------------------------------------------------------
    00207     // Non-standard extension
    00208     // -----------------------------------------------------------------------
    00216     virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
    00217
    00225     static DOMImplementation *getImplementation();
    00226
    00238     static bool loadDOMExceptionMsg
    00239     (
    00240         const   DOMException::ExceptionCode  msgToLoad
    00241         ,       XMLCh* const                 toFill
    00242         , const unsigned int                 maxChars
    00243     );
    00244
    00256     static bool loadDOMExceptionMsg
    00257     (
    00258         const   DOMRangeException::RangeExceptionCode  msgToLoad
    00259         ,       XMLCh* const                           toFill
    00260         , const unsigned int                           maxChars
    00261     );
    00263
    00264 };
    00265
    00266 XERCES_CPP_NAMESPACE_END
    00267
    00268 #endif

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