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)
virtual const XalanNamedNodeMap * getAttributes() const =0
Gets a NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise...
Definition: XalanNode.hpp:44
Definition: XalanNodeList.hpp:42
Definition: XalanText.hpp:38
virtual XalanNode * cloneNode(bool deep) const =0
Returns a duplicate of this node.
virtual XalanNode * getLastChild() const =0
Gets the last child of this node.
XalanNode & operator=(const XalanNode &theSource)
Definition: XalanAttr.hpp:38
virtual IndexType getIndex() const =0
Get the node's index.
virtual XalanNode * removeChild(XalanNode *oldChild)=0
Removes the child node indicated by oldChild from the list of children, and returns it...
virtual const XalanDOMString & getLocalName() const =0
Returns the local part of the qualified name of this node.
Definition: XalanDocumentFragment.hpp:38
Definition: XalanComment.hpp:38
NodeType
Definition: XalanNode.hpp:53
virtual bool isSupported(const XalanDOMString &feature, const XalanDOMString &version) const =0
Tests whether the DOM implementation implements a specific feature and that feature is supported by t...
Definition: XalanElement.hpp:42
virtual void normalize()=0
Puts all Text nodes in the full depth of the sub-tree underneath this Node, including attribute nodes...
bool operator==(const XalanNode &theRHS) const
virtual const XalanDOMString & getNamespaceURI() const =0
Get the namespace URI of this node, or null if it is unspecified.
virtual XalanNode * getPreviousSibling() const =0
Gets the node immediately preceding this node.
Definition: XalanCDATASection.hpp:38
#define XALAN_DOM_EXPORT
Definition: XalanDOMDefinitions.hpp:35
virtual const XalanDOMString & getNodeValue() const =0
Gets the value of this node, depending on its type.
virtual XalanNode * getParentNode() const =0
Gets the parent of this node.
virtual bool hasChildNodes() const =0
This is a convenience method to allow easy determination of whether a node has any children...
virtual XalanNode * replaceChild(XalanNode *newChild, XalanNode *oldChild)=0
Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node...
virtual NodeType getNodeType() const =0
An enum value representing the type of the underlying object.
Definition: XalanDocumentType.hpp:38
Definition: XalanProcessingInstruction.hpp:38
virtual const XalanNodeList * getChildNodes() const =0
Gets a NodeList that contains all children of this node.
Definition: XalanNamedNodeMap.hpp:42
virtual void setNodeValue(const XalanDOMString &nodeValue)=0
Sets the value of the node.
virtual XalanNode * insertBefore(XalanNode *newChild, XalanNode *refChild)=0
Inserts the node newChild before the existing child node refChild.
Definition: XalanDocument.hpp:51
virtual XalanNode * getFirstChild() const =0
Gets the first child of this node.
virtual void setPrefix(const XalanDOMString &prefix)=0
Set the namespace prefix of this node.
virtual XalanDocument * getOwnerDocument() const =0
Gets the Document object associated with this node.
Definition: XalanDOMImplementation.hpp:43
virtual XalanNode * appendChild(XalanNode *newChild)=0
Adds the node newChild to the end of the list of children of this node.
Definition: XalanDOMString.hpp:42
virtual XalanNode * getNextSibling() const =0
Gets the node immediately following this node.
Definition: XalanEntityReference.hpp:38
unsigned long IndexType
Definition: XalanNode.hpp:70
virtual bool isIndexed() const =0
Determine if the document is node-order indexed.
virtual const XalanDOMString & getPrefix() const =0
Get the namespace prefix of this node, or null if it is unspecified.
virtual const XalanDOMString & getNodeName() const =0

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