# Poco::XML

# class AbstractNode

Library: XML
Package: DOM
Header: Poco/DOM/AbstractNode.h

## Description

AbstractNode provides a basic implementation of the Node interface for all types of nodes that do not contain other nodes.

## Inheritance

Direct Base Classes: Node

All Base Classes: DOMObject, EventTarget, Node

Known Derived Classes: AbstractContainerNode, Attr, CDATASection, Comment, CharacterData, Document, DocumentType, DocumentFragment, Element, Entity, EntityReference, ProcessingInstruction, Notation, Text

## Member Summary

Member Functions: addEventListener, appendChild, attributes, autoRelease, bubbleEvent, captureEvent, childNodes, cloneNode, copyNode, dispatchAttrModified, dispatchCharacterDataModified, dispatchEvent, dispatchNodeInserted, dispatchNodeInsertedIntoDocument, dispatchNodeRemoved, dispatchNodeRemovedFromDocument, dispatchSubtreeModified, events, eventsSuspended, firstChild, getNodeValue, hasAttributes, hasChildNodes, innerText, insertBefore, isSupported, lastChild, localName, namespaceURI, nextSibling, nodeName, normalize, ownerDocument, parentNode, prefix, previousSibling, removeChild, removeEventListener, replaceChild, setNodeValue, setOwnerDocument

Inherited Functions: addEventListener, appendChild, attributes, autoRelease, childNodes, cloneNode, dispatchEvent, duplicate, firstChild, getNodeValue, hasAttributes, hasChildNodes, innerText, insertBefore, isSupported, lastChild, localName, namespaceURI, nextSibling, nodeName, nodeType, nodeValue, normalize, ownerDocument, parentNode, prefix, previousSibling, release, removeChild, removeEventListener, replaceChild, setNodeValue

## Constructors

### AbstractNode

AbstractNode(
Document * pOwnerDocument
);

### AbstractNode

AbstractNode(
Document * pOwnerDocument,
const AbstractNode & node
);

## Destructor

### ~AbstractNode

~AbstractNode();

## Member Functions

### addEventListener

void addEventListener(
const XMLString & type,
EventListener * listener,
bool useCapture
);

See also: Poco::XML::EventTarget::addEventListener()

### appendChild

Node * appendChild(
Node * newChild
);

See also: Poco::XML::Node::appendChild()

### attributes

NamedNodeMap * attributes() const;

See also: Poco::XML::Node::attributes()

### autoRelease

virtual void autoRelease();

See also: Poco::XML::DOMObject::autoRelease()

### childNodes

NodeList * childNodes() const;

See also: Poco::XML::Node::childNodes()

### cloneNode

Node * cloneNode(
bool deep
) const;

See also: Poco::XML::Node::cloneNode()

### dispatchEvent

bool dispatchEvent(
Event * evt
);

See also: Poco::XML::EventTarget::dispatchEvent()

### firstChild

Node * firstChild() const;

See also: Poco::XML::Node::firstChild()

### getNodeValue

const XMLString & getNodeValue() const;

See also: Poco::XML::Node::getNodeValue()

### hasAttributes

bool hasAttributes() const;

See also: Poco::XML::Node::hasAttributes()

### hasChildNodes

bool hasChildNodes() const;

See also: Poco::XML::Node::hasChildNodes()

### innerText

XMLString innerText() const;

See also: Poco::XML::Node::innerText()

### insertBefore

Node * insertBefore(
Node * newChild,
Node * refChild
);

See also: Poco::XML::Node::insertBefore()

### isSupported

bool isSupported(
const XMLString & feature,
const XMLString & version
) const;

See also: Poco::XML::Node::isSupported()

### lastChild

Node * lastChild() const;

See also: Poco::XML::Node::lastChild()

### localName

const XMLString & localName() const;

See also: Poco::XML::Node::localName()

### namespaceURI

const XMLString & namespaceURI() const;

See also: Poco::XML::Node::namespaceURI()

### nextSibling

Node * nextSibling() const;

See also: Poco::XML::Node::nextSibling()

### nodeName

const XMLString & nodeName() const;

See also: Poco::XML::Node::nodeName()

### normalize

void normalize();

See also: Poco::XML::Node::normalize()

### ownerDocument

Document * ownerDocument() const;

See also: Poco::XML::Node::ownerDocument()

### parentNode

Node * parentNode() const;

See also: Poco::XML::Node::parentNode()

### prefix

XMLString prefix() const;

See also: Poco::XML::Node::prefix()

### previousSibling

Node * previousSibling() const;

See also: Poco::XML::Node::previousSibling()

### removeChild

Node * removeChild(
Node * oldChild
);

See also: Poco::XML::Node::removeChild()

### removeEventListener

void removeEventListener(
const XMLString & type,
EventListener * listener,
bool useCapture
);

See also: Poco::XML::EventTarget::removeEventListener()

### replaceChild

Node * replaceChild(
Node * newChild,
Node * oldChild
);

See also: Poco::XML::Node::replaceChild()

### setNodeValue

void setNodeValue(
const XMLString & value
);

See also: Poco::XML::Node::setNodeValue()

### bubbleEvent

void bubbleEvent(
Event * evt
);

### captureEvent

void captureEvent(
Event * evt
);

### copyNode

virtual Node * copyNode(
bool deep,
Document * pOwnerDocument
) const = 0;

### dispatchAttrModified

void dispatchAttrModified(
Attr * pAttr,
MutationEvent::AttrChangeType changeType,
const XMLString & prevValue,
const XMLString & newValue
);

### dispatchCharacterDataModified

void dispatchCharacterDataModified(
const XMLString & prevValue,
const XMLString & newValue
);

### dispatchNodeInserted

void dispatchNodeInserted();

### dispatchNodeInsertedIntoDocument

virtual void dispatchNodeInsertedIntoDocument();

### dispatchNodeRemoved

void dispatchNodeRemoved();

### dispatchNodeRemovedFromDocument

virtual void dispatchNodeRemovedFromDocument();

### dispatchSubtreeModified

void dispatchSubtreeModified();

### events

virtual bool events() const;

### eventsSuspended

virtual bool eventsSuspended() const;

### setOwnerDocument

void setOwnerDocument(
Document * pOwnerDocument
);

## Variables

### EMPTY_STRING

static const XMLString EMPTY_STRING;