DOM::Text Class Reference

#include <DOM.hpp>

Inheritance diagram for DOM::Text:

DOM::CharacterData DOM::Node DOM::CDATASection List of all members.

Detailed Description

The text struct hold the text child node.


Public Member Functions

const NodeappendChild (const Node *newNode)
 Append a child to the children list.
void appendData (const DOMString &arg)
 Append the given string to the end of the data.
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.
void data (const DOMString newData)
 Set the character's data.
DOMString data () const throw ()
 Get the character's data.
void deleteData (uint32 offset, uint32 count)
 Delete a part of the data.
const NodefirstChild () const
 Get the first child pointer.
const NodefirstChildOfType (const NodeType::Type type) const
 Get the first child pointer of the given type.
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.
void insertData (uint32 offset, const DOMString &arg)
 Insert a string at the given offset.
const NodelastChild () const
 Get the last child pointer.
const uint32 length () const throw ()
 Get the data length.
virtual DOMString localName () const
 Get the local name.
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 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.
void replaceData (uint32 offset, uint32 count, const DOMString &arg)
 Replace a part of the data with the given string.
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.
const TextsplitText (uint32 offset)
 Split the given text into two nodes at the given offset.
DOMString substringData (uint32 offset, uint32 count)
 Get a substring of the given data.
void Suicide ()
 Make this node commit suicide itself.
 Text (const Strings::FastString &text, DOMTree::Node *ref=0)
 Text (const DOMString &text, DOMTree::Node *ref=0)

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.
bool isShared () const
 Is the data shared ?
void limitTo (uint32 count)
 Allow the child text to modify us while splitting.


Constructor & Destructor Documentation

DOM::Text::Text ( const DOMString text,
DOMTree::Node ref = 0 
) [inline]

DOM::Text::Text ( const Strings::FastString text,
DOMTree::Node ref = 0 
) [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

void DOM::CharacterData::appendData ( const DOMString arg  )  [inline, inherited]

Append the given string to the end of the data.

Parameters:
arg the string to append to the current data

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::Text::Clone ( bool  deepCopy  )  const throw () [inline, virtual]

The clone implementation.

Todo:
use allocator here

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

void DOM::CharacterData::data ( const DOMString  newData  )  [inline, inherited]

Set the character's data.

Parameters:
newData is the new data to use (the data is copied)

DOMString DOM::CharacterData::data (  )  const throw () [inline, inherited]

Get the character's data.

Returns:
the current data as a read-only string

void DOM::CharacterData::deleteData ( uint32  offset,
uint32  count 
) [inline, inherited]

Delete a part of the data.

Parameters:
offset 0-based index of the first tchar to remove
count the number of tchar to remove
Exceptions:
Exceptions::IndexSize if the given indexes are not supported

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

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

void DOM::CharacterData::insertData ( uint32  offset,
const DOMString arg 
) [inline, inherited]

Insert a string at the given offset.

Parameters:
offset 0-based index of the first tchar to insert after
arg the string to insert
Exceptions:
Exceptions::IndexSize if the given indexes are not supported

bool DOM::CharacterData::isShared (  )  const [inline, protected, inherited]

Is the data shared ?

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

const uint32 DOM::CharacterData::length (  )  const throw () [inline, inherited]

Get the data length.

Returns:
the length of the data in tchar unit

void DOM::CharacterData::limitTo ( uint32  count  )  [inline, protected, inherited]

Allow the child text to modify us while splitting.

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

Get the local name.

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

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::Text::nodeName (  )  const [inline, virtual]

Get the node name.

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

Reimplemented from DOM::Node.

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

Set the node value.

Reimplemented from DOM::Node.

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

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 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::CharacterData::replaceData ( uint32  offset,
uint32  count,
const DOMString arg 
) [inline, inherited]

Replace a part of the data with the given string.

Parameters:
offset 0-based index of the first tchar to start replace with
count the number of tchar to remove
arg the string to insert
Exceptions:
Exceptions::IndexSize if the given indexes are not supported

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

Return this node to the allocator.

Parameters:
allocator The allocator to return this node to

Reimplemented in DOM::Attr, DOM::Element, and DOM::Document.

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

Set the reference correctly.

const Text* DOM::Text::splitText ( uint32  offset  )  [inline]

Split the given text into two nodes at the given offset.

Parameters:
offset 0-based index of the split position
Returns:
the new created node or 0 if failed
Exceptions:
Exceptions::IndexSize if the given indexes are not supported
Todo:
use the allocator here

DOMString DOM::CharacterData::substringData ( uint32  offset,
uint32  count 
) [inline, inherited]

Get a substring of the given data.

Parameters:
offset 0-based index of the first tchar
count the number of tchar to retrieve
Returns:
a read-only string
Exceptions:
Exceptions::IndexSize if the given indexes are not supported

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)...


Member Data Documentation

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

The node type.


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

(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