Example #1
0
        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;
        }