public ComparisonUnitAtom(XElement contentElement, XElement[] ancestorElements, OpenXmlPart part, WmlComparerSettings settings) { ContentElement = contentElement; AncestorElements = ancestorElements; Part = part; RevTrackElement = GetRevisionTrackingElementFromAncestors(contentElement, AncestorElements); if (RevTrackElement == null) { CorrelationStatus = CorrelationStatus.Equal; } else { if (RevTrackElement.Name == W.del) { CorrelationStatus = CorrelationStatus.Deleted; } else if (RevTrackElement.Name == W.ins) { CorrelationStatus = CorrelationStatus.Inserted; } } var sha1Hash = (string)contentElement.Attribute(PtOpenXml.SHA1Hash); if (sha1Hash != null) { SHA1Hash = sha1Hash; } else { var shaHashString = GetSha1HashStringForElement(ContentElement, settings); SHA1Hash = PtUtils.SHA1HashStringForUTF8String(shaHashString); } }
public ComparisonUnitWord(IEnumerable <ComparisonUnitAtom> comparisonUnitAtomList) { Contents = comparisonUnitAtomList.OfType <ComparisonUnit>().ToList(); var sha1String = Contents .Select(c => c.SHA1Hash) .StringConcatenate(); SHA1Hash = PtUtils.SHA1HashStringForUTF8String(sha1String); }