Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanDocument.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)
17 #define XALANDOCUMENT_HEADER_GUARD_1357924680
18 
19 
20 
23 
24 
25 
26 XALAN_CPP_NAMESPACE_BEGIN
27 
28 
29 
30 class XalanAttr;
31 class XalanCDATASection;
32 class XalanComment;
34 class XalanDocumentType;
36 class XalanElement;
39 class XalanText;
40 
41 
42 
43 /*
44  * <meta name="usage" content="experimental"/>
45  *
46  * Base class for the DOM Document interface.
47  *
48  * This class is experimental and subject to change!!
49  */
50 
52 {
53 public:
54 
55  XalanDocument();
56 
57  virtual
58  ~XalanDocument();
59 
60  // These interfaces are inherited from XalanNode...
61 
62  virtual const XalanDOMString&
63  getNodeName() const = 0;
64 
68  virtual const XalanDOMString&
69  getNodeValue() const = 0;
70 
74  virtual NodeType
75  getNodeType() const = 0;
76 
86  virtual XalanNode*
87  getParentNode() const = 0;
88 
102  virtual const XalanNodeList*
103  getChildNodes() const = 0;
104 
110  virtual XalanNode*
111  getFirstChild() const = 0;
112 
118  virtual XalanNode*
119  getLastChild() const = 0;
120 
126  virtual XalanNode*
127  getPreviousSibling() const = 0;
128 
134  virtual XalanNode*
135  getNextSibling() const = 0;
136 
141  virtual const XalanNamedNodeMap*
142  getAttributes() const = 0;
143 
153  virtual XalanDocument*
154  getOwnerDocument() const = 0;
155 
157 
159 
178 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
179  virtual XalanNode*
180 #else
181  virtual XalanDocument*
182 #endif
183  cloneNode(bool deep) const = 0;
184 
186 
188 
205  virtual XalanNode*
206  insertBefore(
207  XalanNode* newChild,
208  XalanNode* refChild) = 0;
209 
223  virtual XalanNode*
224  replaceChild(
225  XalanNode* newChild,
226  XalanNode* oldChild) = 0;
227 
235  virtual XalanNode*
236  removeChild(XalanNode* oldChild) = 0;
237 
249  virtual XalanNode*
250  appendChild(XalanNode* newChild) = 0;
251 
253 
255 
263  virtual bool
264  hasChildNodes() const = 0;
265 
266 
268 
270 
271 
285  virtual void
286  setNodeValue(const XalanDOMString& nodeValue) = 0;
287 
289 
291 
308  virtual void
309  normalize() = 0;
310 
324  virtual bool
325  isSupported(
326  const XalanDOMString& feature,
327  const XalanDOMString& version) const = 0;
328 
342  virtual const XalanDOMString&
343  getNamespaceURI() const = 0;
344 
349  virtual const XalanDOMString&
350  getPrefix() const = 0;
351 
359  virtual const XalanDOMString&
360  getLocalName() const = 0;
361 
391  virtual void
392  setPrefix(const XalanDOMString& prefix) = 0;
393 
399  virtual bool
400  isIndexed() const = 0;
401 
408  virtual IndexType
409  getIndex() const = 0;
410 
412 
413  // These interfaces are new to XalanDocument...
414 
424  virtual XalanElement*
425  createElement(const XalanDOMString& tagName) = 0;
426 
433  virtual XalanDocumentFragment*
434  createDocumentFragment() = 0;
435 
443  virtual XalanText*
444  createTextNode(const XalanDOMString& data) = 0;
445 
453  virtual XalanComment*
454  createComment(const XalanDOMString& data) = 0;
455 
465  virtual XalanCDATASection*
466  createCDATASection(const XalanDOMString& data) = 0;
467 
480  createProcessingInstruction(
481  const XalanDOMString& target,
482  const XalanDOMString& data) = 0;
483 
500  virtual XalanAttr*
501  createAttribute(const XalanDOMString& name) = 0;
502 
513  virtual XalanEntityReference*
514  createEntityReference(const XalanDOMString &name) = 0;
515 
517 
528  virtual XalanDocumentType*
529  getDoctype() const = 0;
530 
531 
535  virtual XalanDOMImplementation*
536  getImplementation() const = 0;
537 
538 
542  virtual XalanElement*
543  getDocumentElement() const = 0;
544 
559  virtual XalanNodeList*
560  getElementsByTagName(const XalanDOMString& tagname) const = 0;
561 
563 
565 
588  virtual XalanNode*
589  importNode(
590  XalanNode* importedNode,
591  bool deep) = 0;
592 
615  virtual XalanElement*
616  createElementNS(
617  const XalanDOMString& namespaceURI,
618  const XalanDOMString& qualifiedName) = 0;
619 
648  virtual XalanAttr*
649  createAttributeNS(
650  const XalanDOMString& namespaceURI,
651  const XalanDOMString& qualifiedName) = 0;
652 
669  virtual XalanNodeList*
670  getElementsByTagNameNS(
671  const XalanDOMString& namespaceURI,
672  const XalanDOMString& localName) const = 0;
673 
689  virtual XalanElement*
690  getElementById(const XalanDOMString& elementId) const = 0;
691 
693 
694 protected:
695 
696  XalanDocument(const XalanDocument& theSource);
697 
699  operator=(const XalanDocument& theSource);
700 
701  bool
702  operator==(const XalanDocument& theRHS) const;
703 
704 private:
705 };
706 
707 
708 
709 XALAN_CPP_NAMESPACE_END
710 
711 
712 
713 #endif // !defined(XALANDOCUMENT_HEADER_GUARD_1357924680)

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo