http://xml.apache.org/http://www.apache.org/http://www.w3.org/

Home

Readme
Release Info

Installation
Download
Build

FAQs
Samples
API Docs

DOM C++ Binding
Programming
Migration Guide

Feedback
Bug-Reporting
PDF Document

CVS Repository
Mail Archive

API Docs for SAX and DOM
 

Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

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,v 1.14 2004/09/08 13:55:39 peiyongz Exp $
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.