Table of Contents

Class DomNode

Namespace
DocWright.Dom
Assembly
DocWright.Dom.dll

The base class of every node in the mutable DocWright document tree. Nodes know their Parent, expose their Children for generic traversal, support deep Clone() and double-dispatch via Accept(DomVisitor) (virtual dispatch, no reflection). These are the primitives that find/replace, compare, merge/split and mail merge build on.

public abstract class DomNode : UnknownXmlHost
Inheritance
DomNode
Derived
Inherited Members
Extension Methods

Constructors

DomNode()

Properties

Children

Gets this node's children in document order. Nodes without children return an empty list. The list is a live view; mutate through the typed collections (for example Inlines), not through this property.

OwnerDocument

Gets the WordDocument this node belongs to, or null if the node is not attached to a document.

Parent

Gets the node that contains this node, or null for a detached or root node.

Methods

Accept(DomVisitor)

Dispatches to the visitor method for this node's concrete type.

Clone()

Creates a deep copy of this node. The copy is detached (Parent is null) and shares no mutable state with the original; preserved UnknownContent islands are copied.

CloneCore()

Creates the deep copy for Clone(). Implementations copy all owned state, deep-clone children and copy unknown-XML islands.

Remove()

Removes this node from its parent's child collection.

RemoveChildCore(DomNode)

Removes child from this node's child collections.