00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
#ifndef _DOM_ELEMENT_h_
00030
#define _DOM_ELEMENT_h_
00031
00032
#include <dom/dom_node.h>
00033
#include <dom/css_value.h>
00034
00035
#include <kdelibs_export.h>
00036
00037
namespace DOM {
00038
00039
class DOMString;
00040
class AttrImpl;
00041
class Element;
00042
class ElementImpl;
00043
class NamedAttrMapImpl;
00044
class DocumentImpl;
00045
00089 class KHTML_EXPORT Attr :
public Node
00090 {
00091
friend class Element;
00092
friend class Document;
00093
friend class DocumentImpl;
00094
friend class HTMLDocument;
00095
friend class ElementImpl;
00096
friend class NamedAttrMapImpl;
00097
friend class AttrImpl;
00098
00099
public:
00100 Attr();
00101 Attr(
const Node &other) :
Node()
00102 {(*this)=other;}
00103 Attr(
const Attr &other);
00104
00105 Attr & operator = (
const Node &other);
00106 Attr & operator = (
const Attr &other);
00107
00108 ~Attr();
00109
00114
DOMString name()
const;
00115
00147
bool specified()
const;
00148
00158
DOMString value()
const;
00159
00163
void setValue(
const DOMString & );
00164
00171
Element ownerElement()
const;
00172
00173
protected:
00174
00175 Attr( AttrImpl *_impl );
00176 };
00177
00178
class NodeList;
00179
class Attr;
00180
class DOMString;
00181
00210 class KHTML_EXPORT Element :
public Node
00211 {
00212
friend class Document;
00213
friend class HTMLDocument;
00214
00215
friend class Attr;
00216
00217
public:
00218 Element();
00219 Element(
const Node &other) :
Node()
00220 {(*this)=other;}
00221 Element(
const Element &other);
00222
00223 Element & operator = (
const Node &other);
00224 Element & operator = (
const Element &other);
00225
00226 ~Element();
00227
00238
DOMString tagName()
const;
00239
00250
DOMString getAttribute (
const DOMString &name );
00251
00279
void setAttribute (
const DOMString &name,
const DOMString &value );
00280
00293
void removeAttribute (
const DOMString &name );
00294
00305 Attr getAttributeNode (
const DOMString &name );
00306
00332 Attr setAttributeNode (
const Attr &newAttr );
00333
00350 Attr removeAttributeNode (
const Attr &oldAttr );
00351
00364
NodeList getElementsByTagName (
const DOMString &name );
00365
00380
NodeList getElementsByTagNameNS (
const DOMString &namespaceURI,
00381
const DOMString &localName );
00382
00398
DOMString getAttributeNS (
const DOMString &namespaceURI,
00399
const DOMString &localName );
00400
00439
void setAttributeNS (
const DOMString &namespaceURI,
00440
const DOMString &qualifiedName,
00441
const DOMString &value );
00442
00460
void removeAttributeNS (
const DOMString &namespaceURI,
00461
const DOMString &localName );
00462
00476 Attr getAttributeNodeNS (
const DOMString &namespaceURI,
00477
const DOMString &localName );
00478
00504 Attr setAttributeNodeNS (
const Attr &newAttr );
00505
00516
bool hasAttribute(
const DOMString& name );
00517
00532
bool hasAttributeNS (
const DOMString &namespaceURI,
00533
const DOMString &localName );
00534
00541
CSSStyleDeclaration style ( );
00542
00555
bool contentEditable()
const;
00556
00573
void setContentEditable(
bool enabled);
00574
00579
bool isHTMLElement()
const;
00580
00587 Element form()
const;
00588
00589
static bool khtmlValidAttrName(
const DOMString &name);
00590
static bool khtmlValidPrefix(
const DOMString &name);
00591
static bool khtmlValidQualifiedName(
const DOMString &name);
00592
00593
static bool khtmlMalformedQualifiedName(
const DOMString &name);
00594
static bool khtmlMalformedPrefix(
const DOMString &name);
00595
protected:
00596 Element(ElementImpl *_impl);
00597 };
00598
00599 }
00600
#endif