override protected void HandleStartElement(XmlNodeInformation nodeInfo)
 {
     if (nodeInfo.NodeName == "rcc")
     {
         //m_inRevisionText = true;
         m_currentrId = nodeInfo.GetAttributeValue("rId");
         m_currentsId = nodeInfo.GetAttributeValue("sId");
     }
     else if (nodeInfo.NodeName == "rm" && nodeInfo.EmptyElement)
     {
         base.HandleStartElement(nodeInfo);
         PostProcessMovedTrackChangeElement();
         return;
     }
     else if (nodeInfo.NodeName == "rrc")
     { 
         SetRowColRevisionTypeType(nodeInfo.GetAttributeValue("action"));
         if (nodeInfo.EmptyElement)
         {
             base.HandleStartElement(nodeInfo);
             PostProcessRowColTrackChangeElement();
             m_currentRevisionType = RowColRevisionType.none;
             return;
         }
     }
     base.HandleStartElement(nodeInfo);
 }
 override protected void HandleEndElement(XmlNodeInformation nodeInfo)
 {
     base.HandleEndElement(nodeInfo);
     if (nodeInfo.FullName == "rcc")
     {
         //m_inRevisionText = false;
     }
     else if (ShouldTreatThisAsSimpleElement(nodeInfo.FullName))
     {
         PostProcessSimpleTrackChangeElement();
     }
     else if (nodeInfo.FullName == "rm")
     {
         PostProcessMovedTrackChangeElement();
     }
     else if (nodeInfo.FullName == "rrc")
     {
         PostProcessRowColTrackChangeElement();
         m_currentRevisionType = RowColRevisionType.none;
     }
 }
 private void SetRowColRevisionTypeType(string rowcolAction)
 {
     switch (rowcolAction)
     { 
         case "insertCol":
             m_currentRevisionType = RowColRevisionType.insertCol;
             break;
         case "deleteCol":
             m_currentRevisionType = RowColRevisionType.deleteCol;
             break;
         case "insertRow":
             m_currentRevisionType = RowColRevisionType.insertRow;
             break;
         case "deleteRow":
             m_currentRevisionType = RowColRevisionType.deleteRow;
             break;
         default:
             m_currentRevisionType = RowColRevisionType.none;
             break;
     }
 }
 public XlsxRevisionXmlFilter(DocumentText docText, CommonNamespaces commonNamespaces, Dictionary<string, WorkSheet> WorksheetLookup)
     : base(docText, commonNamespaces)
 {
     WorksheetDataLookup = WorksheetLookup;
     m_currentRevisionType = RowColRevisionType.none;
 }