# Poco::XML

# class MutationEvent

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

## Description

The MutationEvent interface provides specific contextual information associated with Mutation events.

## Inheritance

Direct Base Classes: Event

All Base Classes: DOMObject, Event

## Member Summary

Member Functions: attrChange, attrName, initMutationEvent, newValue, prevValue, relatedNode

Inherited Functions: autoRelease, bubbles, cancelable, currentTarget, duplicate, eventPhase, initEvent, isCanceled, isStopped, preventDefault, release, setCurrentPhase, setCurrentTarget, setTarget, stopPropagation, target, timeStamp, type

## Enumerations

### AttrChangeType

MODIFICATION = 1

The Attr was modified in place.

ADDITION = 2

The Attr was just added.

REMOVAL = 3

The Attr was just removed.

## Constructors

### MutationEvent

MutationEvent(
Document * pOwnerDocument,
const XMLString & type
);

### MutationEvent

MutationEvent(
Document * pOwnerDocument,
const XMLString & type,
EventTarget * pTarget,
bool canBubble,
bool cancelable,
Node * relatedNode
);

### MutationEvent

MutationEvent(
Document * pOwnerDocument,
const XMLString & type,
EventTarget * pTarget,
bool canBubble,
bool cancelable,
Node * relatedNode,
const XMLString & prevValue,
const XMLString & newValue,
const XMLString & attrName,
AttrChangeType change
);

## Destructor

### ~MutationEvent

~MutationEvent();

## Member Functions

### attrChange

AttrChangeType attrChange() const;

attrChange indicates the type of change which triggered the DOMAttrModified event. The values can be MODIFICATION, ADDITION, or REMOVAL.

### attrName

const XMLString & attrName() const;

attrName indicates the name of the changed Attr node in a DOMAttrModified event.

### initMutationEvent

void initMutationEvent(
const XMLString & type,
bool canBubble,
bool cancelable,
Node * relatedNode,
const XMLString & prevValue,
const XMLString & newValue,
const XMLString & attrName,
AttrChangeType change
);

The initMutationEvent method is used to initialize the value of a MutationEvent created through the DocumentEvent interface. This method may only be called before the MutationEvent has been dispatched via the dispatchEvent method, though it may be called multiple times during that phase if necessary. If called multiple times, the final invocation takes precedence.

### newValue

const XMLString & newValue() const;

newValue indicates the new value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharDataModified events.

### prevValue

const XMLString & prevValue() const;

prevValue indicates the previous value of the Attr node in DOMAttrModified events, and of the CharacterData node in DOMCharDataModified events.

### relatedNode

Node * relatedNode() const;

relatedNode is used to identify a secondary node related to a mutation event. For example, if a mutation event is dispatched to a node indicating that its parent has changed, the relatedNode is the changed parent. If an event is instead dispatched to a subtree indicating a node was changed within it, the relatedNode is the changed node. In the case of the DOMAttrModified event it indicates the Attr node which was modified, added, or removed.

## Variables

### DOMAttrModified

static const XMLString DOMAttrModified;

### DOMCharacterDataModified

static const XMLString DOMCharacterDataModified;

### DOMNodeInserted

static const XMLString DOMNodeInserted;

### DOMNodeInsertedIntoDocument

static const XMLString DOMNodeInsertedIntoDocument;

### DOMNodeRemoved

static const XMLString DOMNodeRemoved;

### DOMNodeRemovedFromDocument

static const XMLString DOMNodeRemovedFromDocument;

### DOMSubtreeModified

static const XMLString DOMSubtreeModified;