DOM::Attr Class Reference

#include <DOM.hpp>

Inheritance diagram for DOM::Attr:

DOM::Node List of all members.

Public Member Functions

const NodeappendChild (const Node *newNode)
 Append a child to the children list.
 Attr (HTML::Attributes::Attribute *attrib, const DOMString &value)
virtual const NamedNodeMapattributes () const
 Get the attributes (if this node is an Element).
NodeListchildNodes () const
 Get the child nodes.
virtual NodeClone (bool deepCopy) const throw ()
 The clone implementation.
NodecloneNode (bool deepCloning) const throw ()
 Clone this node This methods returns a duplicate for this node, but the returned node has no parent.
const NodefirstChild () const
 Get the first child pointer.
const NodefirstChildOfType (const NodeType::Type type) const
 Get the first child pointer of the given type.
HTML::Attributes::AttributegetAttributeDeclaration ()
 Get the attribute declaration.
const uint32 getChildrenCount () const throw ()
 Get the children count.
const uint16 getNodeType () const
 Get the node type as the DOM 2.0 standard requires it.
bool hasAttributes () const throw ()
 Does this node has attribute ?
bool hasChildNodes () const throw ()
 Does this node has children ?
const NodeinsertBefore (const Node *newNode, const Node *refNode)
 Insert a node before the given node.
const NodelastChild () const
 Get the last child pointer.
virtual DOMString localName () const
 Get the local name.
DOMString name () const throw ()
 Get the attribute name as a read only value.
virtual DOMString namespaceURI () const
 Get the namespace URI (if specified).
const NodenextSibling () const
 Get the next node in the same current child level.
virtual DOMString nodeName () const
 Get the node name.
virtual void nodeValue (const DOMString &newValue)
 Set the node value.
virtual DOMString nodeValue () const
 Get the node value.
void normalize () throw ()
 Normalize this tree so that the tree will never have 2 adjacent Text child, or an empty Text child This is used to the tree structure is kept as minimal (normalized).
const DOM::DocumentownerDocument () const
 Get the owner document.
const DOM::ElementownerElement () const
 Get the owner element.
const NodeparentNode () const
 Get the parent node.
void prefix (const DOMString &) const
 Set the prefix.
virtual DOMString prefix () const
 Get the prefix.
const NodepreviousSibling () const
 Get the previous node in the same current child level.
const NoderemoveChild (const Node *oldNode)
 Remove a child.
const NodereplaceChild (const Node *newNode, const Node *oldNode)
 Replace a child node by another node.
virtual void returnToAllocator (const volatile HTML::Elements::Allocators::BaseAllocator *allocator)
 Return this node to the allocator.
void setTreeNode (DOMTree::Node *newTreeNode) const
 Set the reference correctly.
bool specified () const throw ()
 Has this attribute been specified since created ?
void Suicide ()
 Make this node commit suicide itself.
void value (const DOMString &newValue)
 Set the attribute value (if possible).
DOMString value () const throw ()
 Get the attribute value as a string.

Static Public Member Functions

static bool isSupported (const DOMString &feature, const DOMString &version)
 Tell if the given features is supported.

Public Attributes

const NodeType::Type nodeType
 The node type.

Protected Member Functions

const DOMTree::NodegetTreeNode () const
 Get the underlying tree node.
DOMTree::NodegetTreeNode ()
 Get the underlying tree node.

Friends

class DOM::Document
class DOM::Element
struct DOM::NamedNodeMap

Constructor & Destructor Documentation

DOM::Attr::Attr ( HTML::Attributes::Attribute attrib,
const DOMString value 
) [inline]


Member Function Documentation

const Node* DOM::Node::appendChild ( const Node newNode  )  [inline, inherited]

Append a child to the children list.

Parameters:
newNode the new node to append to the list
Returns:
the node added

virtual const NamedNodeMap* DOM::Node::attributes (  )  const [inline, virtual, inherited]

Get the attributes (if this node is an Element).

Returns:
0 if this node is not an element, or the NamedNodeMap pointer else

Reimplemented in DOM::Element.

NodeList* DOM::Node::childNodes (  )  const [inline, inherited]

Get the child nodes.

Returns:
a pointer on a newly created NodeList object that can be used to access the child nodes

virtual Node* DOM::Attr::Clone ( bool  deepCopy  )  const throw () [inline, virtual]

The clone implementation.

Reimplemented from DOM::Node.

Node* DOM::Node::cloneNode ( bool  deepCloning  )  const throw () [inline, inherited]

Clone this node This methods returns a duplicate for this node, but the returned node has no parent.

This is a very long process.

Warning:
Cloning is Node type dependent, please refer to http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html for implication
Parameters:
deepCloning Does the cloning should also clone childrens
Returns:
the cloned node

const Node* DOM::Node::firstChild (  )  const [inline, inherited]

Get the first child pointer.

Returns:
the first child Node pointer or 0 if no child is available

const Node* DOM::Node::firstChildOfType ( const NodeType::Type  type  )  const [inline, inherited]

Get the first child pointer of the given type.

Parameters:
type The child type to look for
Returns:
the first child Node pointer of the given type or 0 if no child of this type is available

HTML::Attributes::Attribute* DOM::Attr::getAttributeDeclaration (  )  [inline]

Get the attribute declaration.

const uint32 DOM::Node::getChildrenCount (  )  const throw () [inline, inherited]

Get the children count.

Returns:
the number of children if known

const uint16 DOM::Node::getNodeType (  )  const [inline, inherited]

Get the node type as the DOM 2.0 standard requires it.

const DOMTree::Node* DOM::Node::getTreeNode (  )  const [inline, protected, inherited]

Get the underlying tree node.

DOMTree::Node* DOM::Node::getTreeNode (  )  [inline, protected, inherited]

Get the underlying tree node.

bool DOM::Node::hasAttributes (  )  const throw () [inline, inherited]

Does this node has attribute ?

Returns:
true if this node is an Element with attributes

bool DOM::Node::hasChildNodes (  )  const throw () [inline, inherited]

Does this node has children ?

Returns:
true if this node is parent

const Node* DOM::Node::insertBefore ( const Node newNode,
const Node refNode 
) [inline, inherited]

Insert a node before the given node.

Parameters:
newNode the new node pointer to insert before refNode
refNode the reference node to find. If refNode is 0, the newNode is appended, otherwise it Exception::NotFound is thrown
Returns:
the Node being inserted
Exceptions:
Exceptions::NotFound if the given node is not found

static bool DOM::Node::isSupported ( const DOMString feature,
const DOMString version 
) [inline, static, inherited]

Tell if the given features is supported.

Parameters:
feature the feature name
version the version number ("1.0", "2.0" etc...)
Returns:
true if the given feature is supported with the given version

const Node* DOM::Node::lastChild (  )  const [inline, inherited]

Get the last child pointer.

Returns:
the last child Node pointer or 0 if no child is available

virtual DOMString DOM::Node::localName (  )  const [inline, virtual, inherited]

Get the local name.

Todo:
implement this once I understand what it means for HTML

DOMString DOM::Attr::name (  )  const throw () [inline]

Get the attribute name as a read only value.

virtual DOMString DOM::Node::namespaceURI (  )  const [inline, virtual, inherited]

Get the namespace URI (if specified).

Todo:
implement this once I understand what it means for HTML

const Node* DOM::Node::nextSibling (  )  const [inline, inherited]

Get the next node in the same current child level.

Returns:
0 if no next Node are linked to us, or the next Node pointer else

virtual DOMString DOM::Attr::nodeName (  )  const [inline, virtual]

Get the node name.

Returns:
the node name if known or "Unknown" else

Reimplemented from DOM::Node.

virtual void DOM::Attr::nodeValue ( const DOMString newValue  )  [inline, virtual]

Set the node value.

Reimplemented from DOM::Node.

virtual DOMString DOM::Attr::nodeValue (  )  const [inline, virtual]

Get the node value.

Returns:
the node name if known or "Unknown" else

Reimplemented from DOM::Node.

void DOM::Node::normalize (  )  throw () [inline, inherited]

Normalize this tree so that the tree will never have 2 adjacent Text child, or an empty Text child This is used to the tree structure is kept as minimal (normalized).

Todo:
Perform this structure check here, the parser should never create such strange documents anyway

const DOM::Document* DOM::Node::ownerDocument (  )  const [inline, inherited]

Get the owner document.

Returns:
0 if no owner is set, or a pointer on the Document instance

const DOM::Element* DOM::Attr::ownerElement (  )  const [inline]

Get the owner element.

Returns:
a pointer on the element or 0 if this is a free attribute

const Node* DOM::Node::parentNode (  )  const [inline, inherited]

Get the parent node.

Returns:
0 if no parent are set for this node

void DOM::Node::prefix ( const DOMString  )  const [inline, inherited]

Set the prefix.

Exceptions:
Exceptions::NoModificationAllowed exception if not supported

virtual DOMString DOM::Node::prefix (  )  const [inline, virtual, inherited]

Get the prefix.

Todo:
implement this once I understand what it means for HTML

const Node* DOM::Node::previousSibling (  )  const [inline, inherited]

Get the previous node in the same current child level.

Returns:
0 if no previous Node are linked to us, or the previous Node pointer else

const Node* DOM::Node::removeChild ( const Node oldNode  )  [inline, inherited]

Remove a child.

Parameters:
oldNode the old node to remove
Exceptions:
Exceptions::NotFound if the oldNode can't be found in the child list
Returns:
the old Node being removed

const Node* DOM::Node::replaceChild ( const Node newNode,
const Node oldNode 
) [inline, inherited]

Replace a child node by another node.

Parameters:
newNode the new node pointer to replace oldNode with (if newNode is already in the child list, it is removed first)
oldNode the old node to remove
Exceptions:
Exceptions::NotFound if the oldNode can't be found in the child list
Returns:
the old Node being replaced

void DOM::Attr::returnToAllocator ( const volatile HTML::Elements::Allocators::BaseAllocator allocator  )  [virtual]

Return this node to the allocator.

Parameters:
allocator The allocator to return this node to

Reimplemented from DOM::Node.

void DOM::Node::setTreeNode ( DOMTree::Node newTreeNode  )  const [inline, inherited]

Set the reference correctly.

bool DOM::Attr::specified (  )  const throw () [inline]

Has this attribute been specified since created ?

Todo:
implement this

void DOM::Node::Suicide (  )  [inline, inherited]

Make this node commit suicide itself.

Warning:
After calling this method, the pointer you might have on the node is invalidated.

Only call this method for unreachable nodes (like duplicate attribute, and removed or replaced child, and so on)...

void DOM::Attr::value ( const DOMString newValue  )  [inline]

Set the attribute value (if possible).

Warning:
: Setting an attribute is seen like creating a new Text node
Parameters:
newValue the new value to set
Exceptions:
Exceptions::NoModificationAllowed if the document is read only
Todo:
implement this

DOMString DOM::Attr::value (  )  const throw () [inline]

Get the attribute value as a string.

Todo:
implement this


Friends And Related Function Documentation

friend class DOM::Document [friend]

friend class DOM::Element [friend]

friend struct DOM::NamedNodeMap [friend]


Member Data Documentation

const NodeType::Type DOM::Node::nodeType [inherited]

The node type.


The documentation for this class was generated from the following files:

(C) An X-Ryl669 project 2007

This document describes Unlimited Zooming Interface source code. UZI stands for Unlimited Zooming Interface, and source code license is