[Table of Contents] [docx version]
WordprocessingML Reference Material - Table of Contents
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:r>
<w:ins w:id="0" w:author="Joe Smith" w:date="2006-03-31T12:50:00Z">
<w:r>
</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