Xerces-C++  3.1.2
DOMImplementation.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 /*
19  * $Id: DOMImplementation.hpp 932887 2010-04-11 13:04:59Z borisk $
20  */
21 
22 #if !defined(XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATION_HPP)
23 #define XERCESC_INCLUDE_GUARD_DOMIMPLEMENTATION_HPP
24 
30 
32 
33 
34 class DOMDocument;
35 class DOMDocumentType;
36 
44 {
45 protected:
46  // -----------------------------------------------------------------------
47  // Hidden constructors
48  // -----------------------------------------------------------------------
51  DOMImplementation() {}; // no plain constructor
53 
54 private:
55  // -----------------------------------------------------------------------
56  // Unimplemented constructors and operators
57  // -----------------------------------------------------------------------
60  DOMImplementation(const DOMImplementation &); // no copy constructor.
61  DOMImplementation & operator = (const DOMImplementation &); // No Assignment
63 
64 
65 public:
66  // -----------------------------------------------------------------------
67  // All constructors are hidden, just the destructor is available
68  // -----------------------------------------------------------------------
75  virtual ~DOMImplementation() {};
77 
78  // -----------------------------------------------------------------------
79  // Virtual DOMImplementation interface
80  // -----------------------------------------------------------------------
99  virtual bool hasFeature(const XMLCh *feature, const XMLCh *version) const = 0;
101 
102  // -----------------------------------------------------------------------
103  // Functions introduced in DOM Level 2
104  // -----------------------------------------------------------------------
132  virtual DOMDocumentType *createDocumentType(const XMLCh *qualifiedName,
133  const XMLCh *publicId,
134  const XMLCh *systemId) = 0;
135 
174  virtual DOMDocument *createDocument(const XMLCh *namespaceURI,
175  const XMLCh *qualifiedName,
176  DOMDocumentType *doctype,
177  MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
178 
180  // -----------------------------------------------------------------------
181  // Functions introduced in DOM Level 3
182  // -----------------------------------------------------------------------
200  virtual void* getFeature(const XMLCh* feature, const XMLCh* version) const = 0;
201 
203 
204  // -----------------------------------------------------------------------
205  // Non-standard extension
206  // -----------------------------------------------------------------------
214  virtual DOMDocument *createDocument(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager) = 0;
215 
223  static DOMImplementation *getImplementation();
224 
236  static bool loadDOMExceptionMsg
237  (
238  const short msgToLoad
239  , XMLCh* const toFill
240  , const XMLSize_t maxChars
241  );
242 
244 
245 };
246 
248 
249 #endif
Each DOMDocument has a doctype attribute whose value is either null or a DOMDocumentType object...
Definition: DOMDocumentType.hpp:45
static MemoryManager * fgMemoryManager
The configurable memory manager.
Definition: PlatformUtils.hpp:121
DOMImplementation()
Definition: DOMImplementation.hpp:51
The DOMDocument interface represents the entire XML document.
Definition: DOMDocument.hpp:64
The DOMImplementation interface provides a number of methods for performing operations that are indep...
Definition: DOMImplementation.hpp:43
Configurable memory manager.
Definition: MemoryManager.hpp:39
#define CDOM_EXPORT
Definition: XercesDefs.hpp:166
SIZE_T XMLSize_t
Definition: Xerces_autoconf_config.borland.hpp:86
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
wchar_t XMLCh
Definition: Xerces_autoconf_config.borland.hpp:92
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
Definition: DOMImplementationLS.hpp:49
virtual ~DOMImplementation()
Destructor.
Definition: DOMImplementation.hpp:75