Xalan-C++ API Reference  1.12.0
XercesDOMImplementationWrapper.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680)
19 #define XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680
20 
21 
22 
24 
26 
28 
29 
30 
32 
33 
34 
35 namespace XALAN_CPP_NAMESPACE {
36 
37 
38 
39 class XercesWrapperNavigator;
40 
41 
42 
44 {
45 public:
46 
47  XercesDOMImplementationWrapper(DOMImplementationType* theXercesDOMImplementation);
48 
50  create(MemoryManager& theManager, DOMImplementationType* theXercesDOMImplementation);
51 
52  virtual
54 
55  /** @name Getter functions */
56  //@{
57 
58  /**
59  * Test if the DOM implementation implements a specific feature.
60  *
61  * @param feature The string of the feature to test (case-insensitive). The legal
62  * values are defined throughout this specification. The string must be
63  * an <EM>XML name</EM> (see also Compliance).
64  * @param version This is the version number of the package name to test.
65  * In Level 1, this is the string "1.0". If the version is not specified,
66  * supporting any version of the feature will cause the method to return
67  * <code>true</code>.
68  * @return <code>true</code> if the feature is implemented in the specified
69  * version, <code>false</code> otherwise.
70  */
71  virtual bool
72  hasFeature(
73  const XalanDOMString& feature,
74  const XalanDOMString& version);
75 
76  //@}
77 
78  /** @name Functions introduced in DOM Level 2. */
79  //@{
80 
81  /**
82  * Creates an empty <code>DOMDocumentType</code> node.
83  * Entity declarations and notations are not made available.
84  * Entity reference expansions and default attribute additions
85  * do not occur. It is expected that a future version of the DOM
86  * will provide a way for populating a <code>DOMDocumentType</code>.
87  * @param qualifiedName The <em>qualified name</em>
88  * of the document type to be created.
89  * @param publicId The external subset public identifier.
90  * @param systemId The external subset system identifier.
91  * @return A new <code>DocumentType</code> node with
92  * <code>Node.ownerDocument</code> set to <code>null</code>.
93  */
94  virtual XalanDocumentType*
95  createDocumentType(
96  const XalanDOMString& qualifiedName,
97  const XalanDOMString& publicId,
98  const XalanDOMString& systemId);
99 
100  /**
101  * Creates an XML <code>DOMDocument</code> object of the specified type
102  * with its document element.
103  * @param namespaceURI The <em>namespace URI</em> of
104  * the document element to create, or <code>null</code>.
105  * @param qualifiedName The <em>qualified name</em>
106  * of the document element to be created.
107  * @param doctype The type of document to be created or <code>null</code>.
108  * <p>When <code>doctype</code> is not <code>null</code>, its
109  * <code>Node.ownerDocument</code> attribute is set to the document
110  * being created.
111  * @return A new <code>Document</code> object.
112  * @exception DOMException
113  * WRONG_DOCUMENT_ERR: Raised if <code>doctype</code> has already
114  * been used with a different document.
115  */
116  virtual XalanDocument*
117  createDocument(
118  const XalanDOMString& namespaceURI,
119  const XalanDOMString& qualifiedName,
120  const XalanDocumentType& doctype);
121 
122  /**
123  * Get the Xerces node this instance represent.
124  *
125  * @return The Xerces node
126  */
129  {
130  return m_xercesNode;
131  }
132 
133  //@}
134 
135 private:
136 
137  // These are not defined...
138 
140 
142  operator=(const XercesDOMImplementationWrapper& theSource);
143 
144  bool
145  operator==(const XercesDOMImplementationWrapper& theRHS) const;
146 
147  // Data members...
148 
149  DOMImplementationType* const m_xercesNode;
150 };
151 
152 
153 
154 }
155 
156 
157 
158 #endif // !defined (XERCESDOMIMPLEMENTATIONWRAPPER_HEADER_GUARD_1357924680)
xalanc::DOMImplementationType
xercesc::DOMImplementation DOMImplementationType
Definition: XercesWrapperTypes.hpp:64
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::XalanDocument
Definition: XalanDocument.hpp:36
xalanc::operator==
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1118
xalanc::XercesDOMImplementationWrapper::getXercesNode
DOMImplementationType * getXercesNode() const
Get the Xerces node this instance represent.
Definition: XercesDOMImplementationWrapper.hpp:128
xalanc::XalanDOMImplementation
Definition: XalanDOMImplementation.hpp:45
XalanDOMImplementation.hpp
xalanc::XercesDOMImplementationWrapper
Definition: XercesDOMImplementationWrapper.hpp:43
XercesParserLiaisonDefinitions.hpp
xalanc::XalanDocumentType
Definition: XalanDocumentType.hpp:40
XALAN_XERCESPARSERLIAISON_EXPORT
#define XALAN_XERCESPARSERLIAISON_EXPORT
Definition: XercesParserLiaisonDefinitions.hpp:39
XercesWrapperTypes.hpp
xalanc::XalanDOMString
Definition: XalanDOMString.hpp:45
XalanMemMgrAutoPtr.hpp