public void Execute() { var tusNode = from el in ReadFromTmxFile(_inputFile.FilePath) select el; var outputWriter = new OutputWriter(_outputFile.FilePath); outputWriter.InitializeStudioTmx(_inputFile.DetectInfo.SourceLanguage.IsoAbbreviation); int tuIndex = 0; int tuCount = 0; foreach (var tu in tusNode) { var format = from propElement in tu.Elements("prop") where propElement.Attribute("type").Value == "x-OriginalFormat" && propElement.Value == "TradosTranslatorsWorkbench" select propElement.Parent; if (!format.Any()) { outputWriter.Write(tu.ToString()); tuCount++; } else { TusStripped++; } TusRead++; ReportProgress((int)(100.0 * tuIndex / _inputFile.GetDetectInfo().TuCount)); } outputWriter.Complete(); // output file has same properties as input file _outputFile.DetectInfo = _inputFile.GetDetectInfo().Clone(); _outputFile.DetectInfo.TuCount = tuCount; ReportProgress(100); }