Revisions Revisions Revisions Class

Definition

Revisions. The root element of WorkbookRevisionLogPart. When the object is serialized out as xml, its qualified name is x:revisions.

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionRowColumn))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionMove))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionCustomView))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionSheetName))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionInsertSheet))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionCellChange))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionFormat))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionAutoFormat))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionDefinedName))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionComment))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionQueryTable))]
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Spreadsheet.RevisionConflict))]
public class Revisions : DocumentFormat.OpenXml.OpenXmlPartRootElement
type Revisions = class
    inherit OpenXmlPartRootElement
Public Class Revisions
Inherits OpenXmlPartRootElement
Inheritance
Attributes

Remarks

[ISO/IEC 29500-1 1st Edition]

revisions (Revisions)

This element represents the root node of a list of revisions made in this shared workbook. This root node shows up at the beginning of every log file that contains specific revisions made to the workbook.

When multiple users are sharing, and editing, a workbook at the same time, there can be conflicting changes. The spreadsheet application should have logic to resolve such conflicts, and the file format should only contain enough information so that the spreadsheet application can restore the workbook to the correct state after conflict resolution. Revisions can also be tracked by the spreadsheet application for review by the user at a later time (as opposed to only dealing with conflicts on a save event.) Some edits to workbooks are made as a result of this conflict resolution. So, there are cases where a revision is effectively undone by another user, and as a result that undoing is itself a revision that adds or changes data in the file. These operations are tracked by the ua and ra attributes of many different elements.

[Example:

Step 1:

User 1 inserts Column A. So the XML in the revision log would look like this:

<revisions xmlns="…" xmlns:r="…">  
  <rrc rId="1" sId="1" ref="A1:A1048576" action="insertCol"/>  
</revisions>  

Step 2:

User 2 synchronizes the file to pick up that change, but then activates the Track Changes feature, and rejects that change. This effectively performs an undo on User 1's insertion. This is denoted in the file with the ua attribute meaning that this change happened as the result of an undo. The XML for the revision log would look like this:

<revisions xmlns="…" xmlns:r="…">  
  <rrc rId="2" ua="1" sId="1" ref="A1:A1048576" action="deleteCol"/>  
  <rcft rId="1" ua="1" sheetId="1"/>  
</revisions>  

Step 3:

User 1 enters "foo" in A1, and saves the file. A conflict resolution dialog is shown since User 2's version of the file removed the inserted Column A. User 1 chooses to accept their own changes. This undoes the change that User 2 made. So, in effect, it performed an undo on a previous undo operation. This is denoted in the file format by the ra attribute meaning that a the change occurred because a previous undo was undone. So the resulting XML for the newest log file looks like this:

<revisions xmlns="…" xmlns:r="…">  
  <rrc rId="3" ua="1" ra="1" sId="1" ref="A1:A1048576" action="insertCol"/>  
  <rcft rId="2" ua="1" sheetId="1"/>  
  <rcc rId="4" sId="1">  
    <nc r="A1" t="inlineStr">  
      <is>  
        <t>foo</t>  
      </is>  
    </nc>  
  </rcc>  
  <rcft rId="2" sheetId="1"/>  
</revisions>  

end example]

Parent Elements
Root element of SpreadsheetML Shared Workbook Revision Log part
Child Elements Subclause
raf (Revision AutoFormat) §18.11.1.8
rcc (Revision Cell Change) §18.11.1.9
rcft (Revision Merge Conflict) §18.11.1.10
rcmt (Revision Cell Comment) §18.11.1.11
rcv (Revision Custom View) §18.11.1.12
rdn (Revision Defined Name) §18.11.1.13
rfmt (Revision Format) §18.11.1.17
ris (Revision Insert Sheet) §18.11.1.18
rm (Revision Cell Move) §18.11.1.19
rqt (Revision Query Table) §18.11.1.20
rrc (Revision Row Column Insert Delete) §18.11.1.21
rsnm (Revision Sheet Name) §18.11.1.22

[Note: The W3C XML Schema definition of this element’s content model (CT_Revisions) is located in §A.2. end note]

� ISO/IEC29500: 2008.

Constructors

Revisions() Revisions() Revisions()

Initializes a new instance of the Revisions class.

Revisions(IEnumerable<OpenXmlElement>) Revisions(IEnumerable<OpenXmlElement>) Revisions(IEnumerable<OpenXmlElement>)

Initializes a new instance of the Revisions class with the specified child elements.

Revisions(OpenXmlElement[]) Revisions(OpenXmlElement[]) Revisions(OpenXmlElement[])

Initializes a new instance of the Revisions class with the specified child elements.

Revisions(String) Revisions(String) Revisions(String)

Initializes a new instance of the Revisions class from outer XML.

Properties

ChildElements ChildElements ChildElements

Gets all the child nodes of the current element.

(Inherited from OpenXmlElement)
ExtendedAttributes ExtendedAttributes ExtendedAttributes

Gets all extended attributes (attributes not defined in the schema) of the current element.

(Inherited from OpenXmlElement)
FirstChild FirstChild FirstChild

Gets the first child of the current OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
HasAttributes HasAttributes HasAttributes

Gets a boolean value that indicates whether the current element has any attributes.

(Inherited from OpenXmlElement)
HasChildren HasChildren HasChildren

Gets a value that indicates whether the current element has any child elements.

(Inherited from OpenXmlCompositeElement)
InnerText InnerText InnerText

Gets or sets the concatenated values of the current node and all of its children.

(Inherited from OpenXmlCompositeElement)
InnerXml InnerXml InnerXml

Gets or sets the markup that represents only the child nodes of the current node.

(Inherited from OpenXmlCompositeElement)
LastChild LastChild LastChild

Gets the last child of the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no such OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
LocalName LocalName LocalName

Gets the local name of the element.

MCAttributes MCAttributes MCAttributes

Sets the markup compatibility attributes. Returns null if no markup compatibility attributes are defined for the current element.

(Inherited from OpenXmlElement)
NamespaceDeclarations NamespaceDeclarations NamespaceDeclarations

Gets all the namespace declarations defined in the current element. Returns an empty enumerator if there is no namespace declaration.

(Inherited from OpenXmlElement)
NamespaceUri NamespaceUri NamespaceUri

Gets the namespace URI of the current element.

(Inherited from OpenXmlElement)
OpenXmlElementContext OpenXmlElementContext OpenXmlElementContext

Gets the OpenXmlEementContext of the current element.

(Inherited from OpenXmlElement)
OuterXml OuterXml OuterXml

Gets the markup that represents the current element and all of its child elements.

(Inherited from OpenXmlElement)
Parent Parent Parent

Gets the parent element of the current element.

(Inherited from OpenXmlElement)
Prefix Prefix Prefix

Gets the namespace prefix of current element.

(Inherited from OpenXmlElement)
WorkbookRevisionLogPart WorkbookRevisionLogPart WorkbookRevisionLogPart

Gets the WorkbookRevisionLogPart associated with this element.

XmlQualifiedName XmlQualifiedName XmlQualifiedName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)
XName XName XName

Gets the qualified name of the current element.

(Inherited from OpenXmlElement)

Methods

AddAnnotation(Object) AddAnnotation(Object) AddAnnotation(Object)

Adds an object to the current OpenXmlElement element's list of annotations.

(Inherited from OpenXmlElement)
AddNamespaceDeclaration(String, String) AddNamespaceDeclaration(String, String) AddNamespaceDeclaration(String, String)

Adds a namepace declaration to the current node.

(Inherited from OpenXmlElement)
Ancestors() Ancestors() Ancestors()

Enumerates all of the current element's ancestors.

(Inherited from OpenXmlElement)
Ancestors<T>() Ancestors<T>() Ancestors<T>()

Enumerates only the current element's ancestors that have the specified type.

(Inherited from OpenXmlElement)
Annotation(Type) Annotation(Type) Annotation(Type)

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotation<T>() Annotation<T>() Annotation<T>()

Get the first annotation object of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations(Type) Annotations(Type) Annotations(Type)

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Annotations<T>() Annotations<T>() Annotations<T>()

Gets a collection of annotations with the specified type for the current OpenXmlElement element.

(Inherited from OpenXmlElement)
Append(IEnumerable<OpenXmlElement>) Append(IEnumerable<OpenXmlElement>) Append(IEnumerable<OpenXmlElement>)

Appends each element from a list of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
Append(OpenXmlElement[]) Append(OpenXmlElement[]) Append(OpenXmlElement[])

Appends each element from an array of elements to the end of the current element's list of child elements.

(Inherited from OpenXmlElement)
AppendChild<T>(T) AppendChild<T>(T) AppendChild<T>(T)

Appends the specified element to the end of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
ClearAllAttributes() ClearAllAttributes() ClearAllAttributes()

Clears all of the attributes, including both known attributes and extended attributes.

(Inherited from OpenXmlElement)
Clone() Clone() Clone()

Creates a duplicate of the current node.

(Inherited from OpenXmlElement)
CloneNode(Boolean) CloneNode(Boolean) CloneNode(Boolean)

Creates a duplicate of this node.

Descendants() Descendants() Descendants()

Enumerates all of the current element's descendants.

(Inherited from OpenXmlElement)
Descendants<T>() Descendants<T>() Descendants<T>()

Enumerate all of the current element's descendants of type T.

(Inherited from OpenXmlElement)
Elements() Elements() Elements()

Enumerates all of the current element's children.

(Inherited from OpenXmlElement)
Elements<T>() Elements<T>() Elements<T>()

Enumerates only the current element's children that have the specified type.

(Inherited from OpenXmlElement)
ElementsAfter() ElementsAfter() ElementsAfter()

Enumerates all of the sibling elements that follow the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
ElementsBefore() ElementsBefore() ElementsBefore()

Enumerates all of the sibling elements that precede the current element and have the same parent as the current element.

(Inherited from OpenXmlElement)
GetAttribute(String, String) GetAttribute(String, String) GetAttribute(String, String)

Gets an Open XML attribute with the specified tag name and namespace URI.

(Inherited from OpenXmlElement)
GetAttributes() GetAttributes() GetAttributes()

Gets a list that contains a copy of all the attributes.

(Inherited from OpenXmlElement)
GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumerator that iterates through the child collection.

(Inherited from OpenXmlElement)
GetFirstChild<T>() GetFirstChild<T>() GetFirstChild<T>()

Finds the first child element in type T.

(Inherited from OpenXmlElement)
InsertAfter<T>(T, OpenXmlElement) InsertAfter<T>(T, OpenXmlElement) InsertAfter<T>(T, OpenXmlElement)

Inserts the specified element immediately after the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertAfterSelf<T>(T) InsertAfterSelf<T>(T) InsertAfterSelf<T>(T)

Inserts the specified element immediately after the current element.

(Inherited from OpenXmlElement)
InsertAt<T>(T, Int32) InsertAt<T>(T, Int32) InsertAt<T>(T, Int32)

Inserts the specified element at the specified index of the current element's children.

(Inherited from OpenXmlCompositeElement)
InsertBefore<T>(T, OpenXmlElement) InsertBefore<T>(T, OpenXmlElement) InsertBefore<T>(T, OpenXmlElement)

Inserts the specified element immediately before the specified reference element.

(Inherited from OpenXmlCompositeElement)
InsertBeforeSelf<T>(T) InsertBeforeSelf<T>(T) InsertBeforeSelf<T>(T)

Inserts the specified element immediately before the current element.

(Inherited from OpenXmlElement)
IsAfter(OpenXmlElement) IsAfter(OpenXmlElement) IsAfter(OpenXmlElement)

Determines if the current element appears after a specified element in document order.

(Inherited from OpenXmlElement)
IsBefore(OpenXmlElement) IsBefore(OpenXmlElement) IsBefore(OpenXmlElement)

Determines if the current element appears before a specified element in document order.

(Inherited from OpenXmlElement)
Load(WorkbookRevisionLogPart) Load(WorkbookRevisionLogPart) Load(WorkbookRevisionLogPart)

Loads the DOM from the WorkbookRevisionLogPart.

LookupNamespace(String) LookupNamespace(String) LookupNamespace(String)

Resolves the namespace prefix in the context of the current node.

(Inherited from OpenXmlElement)
LookupPrefix(String) LookupPrefix(String) LookupPrefix(String)

Finds the corresponding prefix for a namespace uri in the current element scope.

(Inherited from OpenXmlElement)
NextSibling() NextSibling() NextSibling()

Gets the OpenXmlElement element that immediately follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement element.

(Inherited from OpenXmlElement)
NextSibling<T>() NextSibling<T>() NextSibling<T>()

Gets the OpenXmlElement element with the specified type that follows the current OpenXmlElement element. Returns null (Nothing in Visual Basic) if there is no next OpenXmlElement.

(Inherited from OpenXmlElement)
PrependChild<T>(T) PrependChild<T>(T) PrependChild<T>(T)

Inserts the specified element at the beginning of the current element's list of child nodes.

(Inherited from OpenXmlCompositeElement)
PreviousSibling() PreviousSibling() PreviousSibling()

Gets the OpenXmlElement element that immediately precedes the current OpenXmlElement element. Returns null (Nothing in Visual Basic ) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
PreviousSibling<T>() PreviousSibling<T>() PreviousSibling<T>()

Gets the OpenXmlElement element with the specified type that precedes the current OpenXmlElement. Returns null (Nothing in Visual Basic) if there is no preceding OpenXmlElement element.

(Inherited from OpenXmlElement)
Reload() Reload() Reload()

Reloads the part content into an Open XML DOM tree. This method can be called multiple times and each time it is called, the tree will be reloaded and previous changes on the tree are abandoned.

(Inherited from OpenXmlPartRootElement)
Remove() Remove() Remove()

Removes the current element from its parent.

(Inherited from OpenXmlElement)
RemoveAllChildren() RemoveAllChildren() RemoveAllChildren()

Removes all of the current element's child elements.

(Inherited from OpenXmlCompositeElement)
RemoveAllChildren<T>() RemoveAllChildren<T>() RemoveAllChildren<T>()

Remove all of the current element's child elements that are of type T.

(Inherited from OpenXmlElement)
RemoveAnnotations(Type) RemoveAnnotations(Type) RemoveAnnotations(Type)

Removes the annotations of the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAnnotations<T>() RemoveAnnotations<T>() RemoveAnnotations<T>()

Removes the annotations with the specified type from the current OpenXmlElement element.

(Inherited from OpenXmlElement)
RemoveAttribute(String, String) RemoveAttribute(String, String) RemoveAttribute(String, String)

Removes the attribute from the current element.

(Inherited from OpenXmlElement)
RemoveChild<T>(T) RemoveChild<T>(T) RemoveChild<T>(T)

Removes the specified child element.

(Inherited from OpenXmlCompositeElement)
RemoveNamespaceDeclaration(String) RemoveNamespaceDeclaration(String) RemoveNamespaceDeclaration(String)

Removes the namespace declaration for the specified prefix. Removes nothing if there is no prefix.

(Inherited from OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T) ReplaceChild<T>(OpenXmlElement, T) ReplaceChild<T>(OpenXmlElement, T)

Replaces one of the current element's child elements with another OpenXmlElement element.

(Inherited from OpenXmlCompositeElement)
Save() Save() Save()

Saves the data in the DOM tree back to the part. This method can be called multiple times and each time it is called, the stream will be flushed.

(Inherited from OpenXmlPartRootElement)
Save(Stream) Save(Stream) Save(Stream)

Saves the DOM tree to the specified stream.

(Inherited from OpenXmlPartRootElement)
Save(WorkbookRevisionLogPart) Save(WorkbookRevisionLogPart) Save(WorkbookRevisionLogPart)

Saves the DOM into the WorkbookRevisionLogPart.

SetAttribute(OpenXmlAttribute) SetAttribute(OpenXmlAttribute) SetAttribute(OpenXmlAttribute)

Sets an attribute to the specified element. If the attribute is a known attribute, the value of the attribute is set. If the attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>) SetAttributes(IEnumerable<OpenXmlAttribute>) SetAttributes(IEnumerable<OpenXmlAttribute>)

Sets a number of attributes to the element. If an attribute is a known attribute, the value of the attribute is set. If an attribute is an extended attribute, the 'openxmlAttribute' is added to the extended attributes list.

(Inherited from OpenXmlElement)
WriteTo(XmlWriter) WriteTo(XmlWriter) WriteTo(XmlWriter)

Saves the current node to the specified XmlWriter.

(Inherited from OpenXmlPartRootElement)

Explicit Interface Implementations

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() Inherited from OpenXmlElement

Applies to