public static FxtLog Run(XmlSchemaSet schemas, XElement trafo, interpreter i) { var trafos = new List<IFxtTransformation>(); var log = new FxtLog(); // Compile if necessary if (!schemas.IsCompiled) schemas.Compile(); if (trafo==null) return log; // Interpret trafo i(schemas, trafo,log,trafos); // Execute trafos foreach (var x in trafos) x.Run(); // Re-compile foreach (var x in schemas.XmlSchemas()) schemas.Reprocess(x); schemas.Compile(); return log; }