Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

XalanElement.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(XALANELEMENT_HEADER_GUARD_1357924680)
17 #define XALANELEMENT_HEADER_GUARD_1357924680
18 
19 
20 
23 
24 
25 
26 XALAN_CPP_NAMESPACE_BEGIN
27 
28 
29 
30 class XalanAttr;
31 
32 
33 
34 /*
35  * <meta name="usage" content="experimental"/>
36  *
37  * Base class for the DOM Element interface.
38  *
39  * This class is experimental and subject to change!!
40  */
41 
43 {
44 public:
45 
46  XalanElement();
47 
48  virtual
49  ~XalanElement();
50 
51  // These interfaces are inherited from XalanNode
52  virtual const XalanDOMString&
53  getNodeName() const = 0;
54 
58  virtual const XalanDOMString&
59  getNodeValue() const = 0;
60 
64  virtual NodeType
65  getNodeType() const = 0;
66 
76  virtual XalanNode*
77  getParentNode() const = 0;
78 
92  virtual const XalanNodeList*
93  getChildNodes() const = 0;
94 
100  virtual XalanNode*
101  getFirstChild() const = 0;
102 
108  virtual XalanNode*
109  getLastChild() const = 0;
110 
116  virtual XalanNode*
117  getPreviousSibling() const = 0;
118 
124  virtual XalanNode*
125  getNextSibling() const = 0;
126 
131  virtual const XalanNamedNodeMap*
132  getAttributes() const = 0;
133 
143  virtual XalanDocument*
144  getOwnerDocument() const = 0;
145 
147 
149 
168 #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
169  virtual XalanNode*
170 #else
171  virtual XalanElement*
172 #endif
173  cloneNode(bool deep) const = 0;
174 
176 
178 
195  virtual XalanNode*
196  insertBefore(
197  XalanNode* newChild,
198  XalanNode* refChild) = 0;
199 
213  virtual XalanNode*
214  replaceChild(
215  XalanNode* newChild,
216  XalanNode* oldChild) = 0;
217 
225  virtual XalanNode*
226  removeChild(XalanNode* oldChild) = 0;
227 
239  virtual XalanNode*
240  appendChild(XalanNode* newChild) = 0;
241 
243 
245 
253  virtual bool
254  hasChildNodes() const = 0;
255 
256 
258 
260 
261 
275  virtual void
276  setNodeValue(const XalanDOMString& nodeValue) = 0;
277 
279 
281 
298  virtual void
299  normalize() = 0;
300 
314  virtual bool
315  isSupported(
316  const XalanDOMString& feature,
317  const XalanDOMString& version) const = 0;
318 
332  virtual const XalanDOMString&
333  getNamespaceURI() const = 0;
334 
339  virtual const XalanDOMString&
340  getPrefix() const = 0;
341 
349  virtual const XalanDOMString&
350  getLocalName() const = 0;
351 
381  virtual void
382  setPrefix(const XalanDOMString& prefix) = 0;
383 
389  virtual bool
390  isIndexed() const = 0;
391 
398  virtual IndexType
399  getIndex() const = 0;
400 
402 
403  // These interfaces are new to XalanElement...
412  virtual const XalanDOMString&
413  getTagName() const = 0;
414 
422  virtual const XalanDOMString&
423  getAttribute(const XalanDOMString& name) const = 0;
424 
432  virtual XalanAttr*
433  getAttributeNode(const XalanDOMString& name) const = 0;
434 
445  virtual XalanNodeList*
446  getElementsByTagName(const XalanDOMString& name) const = 0;
447 
449 
451 
473  virtual void
474  setAttribute(
475  const XalanDOMString& name,
476  const XalanDOMString& value) = 0;
477 
497  virtual XalanAttr*
498  setAttributeNode(XalanAttr* newAttr) = 0;
499 
501 
503 
519  virtual XalanAttr*
520  removeAttributeNode(XalanAttr* oldAttr) = 0;
521 
534  virtual void
535  removeAttribute(const XalanDOMString& name) = 0;
536 
538 
540 
551  virtual const XalanDOMString&
552  getAttributeNS(
553  const XalanDOMString& namespaceURI,
554  const XalanDOMString& localName) const = 0;
555 
596  virtual void
597  setAttributeNS(
598  const XalanDOMString& namespaceURI,
599  const XalanDOMString& qualifiedName,
600  const XalanDOMString& value) = 0;
601 
616  virtual void
617  removeAttributeNS(
618  const XalanDOMString& namespaceURI,
619  const XalanDOMString& localName) = 0;
620 
631  virtual XalanAttr*
632  getAttributeNodeNS(
633  const XalanDOMString& namespaceURI,
634  const XalanDOMString& localName) const = 0;
635 
655  virtual XalanAttr*
656  setAttributeNodeNS(XalanAttr* newAttr) = 0;
657 
673  virtual XalanNodeList*
674  getElementsByTagNameNS(
675  const XalanDOMString& namespaceURI,
676  const XalanDOMString& localName) const = 0;
677 
679 
680 protected:
681 
682  XalanElement(const XalanElement& theSource);
683 
684  XalanElement&
685  operator=(const XalanElement& theSource);
686 
687  bool
688  operator==(const XalanElement& theRHS) const;
689 
690 private:
691 };
692 
693 
694 
695 XALAN_CPP_NAMESPACE_END
696 
697 
698 
699 #endif // !defined(XALANELEMENT_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