17.13.5 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
-
(17.7.9.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 must 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 can 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
Subsections
- 17.13.5.1 cellDel
- 17.13.5.2 cellIns
- 17.13.5.3 cellMerge
- 17.13.5.4 customXmlDelRangeEnd
- 17.13.5.5 customXmlDelRangeStart
- 17.13.5.6 customXmlInsRangeEnd
- 17.13.5.7 customXmlInsRangeStart
- 17.13.5.8 customXmlMoveFromRangeEnd
- 17.13.5.9 customXmlMoveFromRangeStart
- 17.13.5.10 customXmlMoveToRangeEnd
- 17.13.5.11 customXmlMoveToRangeStart
- 17.13.5.12 del
- 17.13.5.13 del
- 17.13.5.14 del
- 17.13.5.15 del
- 17.13.5.16 ins
- 17.13.5.17 ins
- 17.13.5.18 ins
- 17.13.5.19 ins
- 17.13.5.20 ins
- 17.13.5.21 moveFrom
- 17.13.5.22 moveFrom
- 17.13.5.23 moveFromRangeEnd
- 17.13.5.24 moveFromRangeStart
- 17.13.5.25 moveTo
- 17.13.5.26 moveTo
- 17.13.5.27 moveToRangeEnd
- 17.13.5.28 moveToRangeStart
- 17.13.5.29 pPrChange
- 17.13.5.30 rPrChange
- 17.13.5.31 rPrChange
- 17.13.5.32 sectPrChange
- 17.13.5.33 tblGridChange
- 17.13.5.34 tblPrChange
- 17.13.5.35 tblPrExChange
- 17.13.5.36 tcPrChange
- 17.13.5.37 trPrChange