Xalan-C++ API Reference  1.12.0
XalanDocumentType.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(XALANDOCUMENTTYPE_HEADER_GUARD_1357924680)
19 #define XALANDOCUMENTTYPE_HEADER_GUARD_1357924680
20 
21 
22 
25 
26 
27 
28 namespace XALAN_CPP_NAMESPACE {
29 
30 
31 
32 /*
33  * <meta name="usage" content="deprecated"/>
34  *
35  * Base class for the DOM DocumentType interface.
36  *
37  * This class is deprecated and should not be used!!
38  */
39 
41 {
42 public:
43 
45 
46  virtual
48 
49 
50  // These interfaces are inherited from XalanNode...
51 
52  /**
53  * Gets the name of this node.
54  */
55  virtual const XalanDOMString&
56  getNodeName() const = 0;
57 
58  /**
59  * Gets the value of this node, depending on its type.
60  */
61  virtual const XalanDOMString&
62  getNodeValue() const = 0;
63 
64  /**
65  * An enum value representing the type of the underlying object.
66  */
67  virtual NodeType
68  getNodeType() const = 0;
69 
70  /**
71  * Gets the parent of this node.
72  *
73  * All nodes, except <code>Document</code>,
74  * <code>DocumentFragment</code>, and <code>Attr</code> may have a parent.
75  * However, if a node has just been created and not yet added to the tree,
76  * or if it has been removed from the tree, a <code>null</code> Node
77  * is returned.
78  */
79  virtual XalanNode*
80  getParentNode() const = 0;
81 
82  /**
83  * Gets a <code>NodeList</code> that contains all children of this node.
84  *
85  * If there are no children, this is a <code>NodeList</code> containing no nodes.
86  */
87  virtual const XalanNodeList*
88  getChildNodes() const = 0;
89 
90  /**
91  * Gets the first child of this node.
92  *
93  * If there is no such node, this returns <code>null</code>.
94  */
95  virtual XalanNode*
96  getFirstChild() const = 0;
97 
98  /**
99  * Gets the last child of this node.
100  *
101  * If there is no such node, this returns <code>null</code>.
102  */
103  virtual XalanNode*
104  getLastChild() const = 0;
105 
106  /**
107  * Gets the node immediately preceding this node.
108  *
109  * If there is no such node, this returns <code>null</code>.
110  */
111  virtual XalanNode*
112  getPreviousSibling() const = 0;
113 
114  /**
115  * Gets the node immediately following this node.
116  *
117  * If there is no such node, this returns <code>null</code>.
118  */
119  virtual XalanNode*
120  getNextSibling() const = 0;
121 
122  /**
123  * Gets a <code>NamedNodeMap</code> containing the attributes of this node (if it
124  * is an <code>Element</code>) or <code>null</code> otherwise.
125  */
126  virtual const XalanNamedNodeMap*
127  getAttributes() const = 0;
128 
129  /**
130  * Gets the <code>Document</code> object associated with this node.
131  *
132  * This is also
133  * the <code>Document</code> object used to create new nodes. When this
134  * node is a <code>Document</code> or a <code>DocumentType</code>
135  * which is not used with any <code>Document</code> yet, this is
136  * <code>null</code>.
137  */
138  virtual XalanDocument*
139  getOwnerDocument() const = 0;
140 
141  /**
142  * Get the <em>namespace URI</em> of
143  * this node, or <code>null</code> if it is unspecified.
144  * <p>
145  * This is not a computed value that is the result of a namespace lookup
146  * based on an examination of the namespace declarations in scope. It is
147  * merely the namespace URI given at creation time.
148  * <p>
149  * For nodes of any type other than <CODE>ELEMENT_NODE</CODE> and
150  * <CODE>ATTRIBUTE_NODE</CODE> and nodes created with a DOM Level 1 method,
151  * such as <CODE>createElement</CODE> from the <CODE>Document</CODE>
152  * interface, this is always <CODE>null</CODE>.
153  */
154  virtual const XalanDOMString&
155  getNamespaceURI() const = 0;
156 
157  /**
158  * Get the <em>namespace prefix</em>
159  * of this node, or <code>null</code> if it is unspecified.
160  */
161  virtual const XalanDOMString&
162  getPrefix() const = 0;
163 
164  /**
165  * Returns the local part of the <em>qualified name</em> of this node.
166  * <p>
167  * For nodes created with a DOM Level 1 method, such as
168  * <code>createElement</code> from the <code>Document</code> interface,
169  * it is null.
170  */
171  virtual const XalanDOMString&
172  getLocalName() const = 0;
173 
174  /**
175  * Determine if the document is node-order indexed.
176  *
177  * @return true if the document is indexed, otherwise false.
178  */
179  virtual bool
180  isIndexed() const = 0;
181 
182  /**
183  * Get the node's index. Valid only if the owner document
184  * reports that the document is node-order indexed.
185  *
186  * @return The index value, or 0 if the node is not indexed.
187  */
188  virtual IndexType
189  getIndex() const = 0;
190 
191  // These interfaces are new to XalanDocumentType...
192 
193  /**
194  * The name of DTD; i.e., the name immediately following the
195  * <code>DOCTYPE</code> keyword in an XML source document.
196  */
197  virtual const XalanDOMString&
198  getName() const = 0;
199 
200  /**
201  * This function returns a <code>NamedNodeMap</code> containing the general entities, both
202  * external and internal, declared in the DTD. Parameter entities are not contained.
203  * Duplicates are discarded.
204  */
205  virtual const XalanNamedNodeMap*
206  getEntities() const = 0;
207 
208  /**
209  * This function returns a named node map containing an entry for
210  * each notation declared in a document's DTD. Duplicates are discarded.
211  */
212  virtual const XalanNamedNodeMap*
213  getNotations() const = 0;
214 
215  /**
216  * Get the public identifier of the external subset.
217  * @return The public identifier of the external subset.
218  */
219  virtual const XalanDOMString&
220  getPublicId() const = 0;
221 
222  /**
223  * Get the system identifier of the external subset.
224  * @return The system identifier of the external subset.
225  */
226  virtual const XalanDOMString&
227  getSystemId() const = 0;
228 
229  /**
230  * Get the internal subset as a string.
231  * @return The internal subset as a string.
232  */
233  virtual const XalanDOMString&
234  getInternalSubset() const = 0;
235 
236 protected:
237 
238  XalanDocumentType(const XalanDocumentType& theSource);
239 
241  operator=(const XalanDocumentType& theSource);
242 
243  bool
244  operator==(const XalanDocumentType& theRHS) const;
245 
246 private:
247 };
248 
249 
250 
251 }
252 
253 
254 
255 #endif // !defined(XALANDOCUMENTTYPE_HEADER_GUARD_1357924680)
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition: XalanVersion.hpp:76
xalanc::XalanNode
Definition: XalanNode.hpp:38
xalanc::XalanNode::NodeType
NodeType
Definition: XalanNode.hpp:47
xalanc::XalanDocument
Definition: XalanDocument.hpp:36
xalanc::operator==
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
Definition: XalanVector.hpp:1118
xalanc::XalanNode::IndexType
unsigned long IndexType
Definition: XalanNode.hpp:64
XalanNode.hpp
xalanc::XalanNodeList
Definition: XalanNodeList.hpp:36
xalanc::XalanDocumentType
Definition: XalanDocumentType.hpp:40
xalanc::XalanNamedNodeMap
Definition: XalanNamedNodeMap.hpp:36
XalanDOMDefinitions.hpp
XALAN_DOM_EXPORT
#define XALAN_DOM_EXPORT
Definition: XalanDOMDefinitions.hpp:37
xalanc::XalanDOMString
Definition: XalanDOMString.hpp:45