0022815: Missing delete operator for placement new
[occt.git] / src / LDOM / LDOM_Element.hxx
CommitLineData
7fd59977 1// File: LDOM_Element.hxx
2// Created: 26.06.01 12:39:31
3// Author: Alexander GRIGORIEV
4// Copyright: OpenCascade 2001
5
6
7#ifndef LDOM_Element_HeaderFile
8#define LDOM_Element_HeaderFile
9
10#include <LDOM_Attr.hxx>
11#include <LDOM_NodeList.hxx>
12
13class LDOMParser;
14class LDOM_BasicElement;
15
16// Class LDOM_Element
17//
18
19class LDOM_Element : public LDOM_Node
20{
21 public:
22 // ---------- PUBLIC METHODS ----------
23
24 LDOM_Element () {}
25 // Empty constructor
26
27 LDOM_Element (const LDOM_Element& anOther) : LDOM_Node (anOther) {}
28 // Copy constructor
29
30 LDOM_Element& operator = (const LDOM_Element& anOther)
31 { return (LDOM_Element&) LDOM_Node::operator = (anOther); }
32 // Assignment
33
34 Standard_EXPORT LDOM_Element&
35 operator = (const LDOM_NullPtr * aNull)
36 { return (LDOM_Element&) LDOM_Node::operator = (aNull); }
37 // Nullify
38
39 LDOMString getTagName () const { return getNodeName(); }
40
41 Standard_EXPORT LDOMString
42 getAttribute (const LDOMString& aName) const;
43
44 Standard_EXPORT LDOM_Attr
45 getAttributeNode (const LDOMString& aName) const;
46
47 Standard_EXPORT LDOM_NodeList
48 getElementsByTagName (const LDOMString& aName) const;
49
50 Standard_EXPORT void setAttribute (const LDOMString& aName,
51 const LDOMString& aValue);
52
53 Standard_EXPORT void setAttributeNode(const LDOM_Attr& aNewAttr);
54
55 Standard_EXPORT void removeAttribute (const LDOMString& aName);
56
57// AGV auxiliary API
58 Standard_EXPORT LDOM_Element
59 GetChildByTagName (const LDOMString& aTagName) const;
60
61 Standard_EXPORT LDOM_Element
62 GetSiblingByTagName () const;
63
64 Standard_EXPORT void
65 ReplaceElement (const LDOM_Element& anOther);
66 // The old element is destroyed by the new one
67
68 Standard_EXPORT LDOM_NodeList
69 GetAttributesList () const;
70
71 protected:
72 friend class LDOM_Document;
73 friend class LDOMParser;
74 // ---------- PROTECTED METHODS ----------
75
76 LDOM_Element (const LDOM_BasicElement& anElem,
77 const Handle(LDOM_MemManager)& aDoc);
78
79 private:
80 // ---------- PRIVATE FIELDS ----------
81
82};
83
84
85#endif