Table of Contents

Namespace DocWright.Dom.Revisions

Classes

Revision

One tracked change, as a handle a host can show in a review UI and then resolve.

A handle is a snapshot, in the same sense as DocumentRange: it captures where the revision was when GetRevisions(DomNode) ran. Resolving other revisions first can leave a handle describing content that is no longer in the document — accepting a deleted paragraph mark removes that paragraph — and Accept() and Reject() then report false rather than mutating something else.

RevisionExtensions

Enumerating and resolving tracked changes over any subtree of the document model.

Revisions are stored by the reader and never applied at parse time — that is what makes the round trip lossless. Accepting or rejecting is an explicit caller action, and these methods are the only ones that perform it.

The resolution rules are the exact inverse of the projection StyleResolver performs for RevisionView: what accept-all leaves behind is what Final shows, and what reject-all leaves behind is what Original shows. Those two must never drift apart.

RevisionFilter

Selects a subset of a document's tracked changes for a bulk accept or reject. Every criterion left null matches everything, so a default filter selects all revisions.

Enums

RevisionType

What a Revision describes. The two paragraph-mark kinds are separate from the content kinds because they are the only ones whose resolution changes the structure of the document rather than its content.