[Table of Contents] [docx version]

WordprocessingML Reference Material - Table of Contents

Revisions

Revisions in WordprocessingML provide a mechanism for storing information about the evolution of the document (i.e. the set of modifications made to a document by one of more authors). When an application adds revisions to the content of a WordprocessingML document, they are specifying this by storing either (depending on the revision type):

• The current state of the document (a deletion stores the current state of the text as deleted, and implies that its original state was the content used to exist)

• The initial state of the document (a run's initial properties are explicitly stored in a previous run properties block, as the current run properties are always those that are the child of the rPr element (§2.7.8.1))

A revision consists of two required pieces of information:

• The revision type (specified via the name of the revision element)

• A unique revision identifier (used to uniquely identify revisions)

As well as optional information:

• The author of the revision

• The date and time of the revision

[Example: Consider a paragraph of text in a WordprocessingML document in which one word has been inserted, as follows:

This paragraph has the word text marked inserted as a revision, and is represented as the following WordprocessingML:

<w:p>

<w:r>

<w:t>Some</w:t>

</w:r>

<w:ins w:id="0" w:author="Joe Smith" w:date="2006-03-31T12:50:00Z">

<w:r>

<w:t>text</w:t>

</w:r>

</w:ins>

</w:p>

The ins element contains both the required information: all of the content which shall be treated as revision marked as inserted (the word text); a unique revision identifier of 0.

The element also stores the optional information about the revision: the word text was inserted by Joe Smith on March 31, 2006 at 12:50pm. end example]

Within a WordprocessingML document, the following types of revisions may be used to track the changes to a document:

• Insertions

• Deletions

• Moves

• Changes to run/paragraph/table/numbering/section properties

• Changes to custom XML markup