Example #1
0
        public static void Main(string[] args)
        {
            var argsList = new List <string>(args);
            var verbose  = false;

            if (argsList.Contains("-v") || argsList.Contains("-verbose"))
            {
                verbose = true;
                argsList.RemoveAll(s => s == "-v" || s == "-verbose");
            }
            if (argsList.Count != 1)
            {
                Usage();
                return;
            }
            try {
                var parser = new SchemaParser(argsList[0]);
                if (verbose)
                {
                    parser.Logger = new ConsoleLogger();
                }
                parser.Compile();
                var elements   = parser.GetXmlElements();
                var serializer = new CodeMirrorSchemaInfoSerializer(elements);
                serializer.Pretty = true;
                var json = serializer.ToJsonString();
                Console.WriteLine(json);
            } catch (Exception e) {
                Console.Error.WriteLine(e.GetType().Name);
                Console.Error.WriteLine(e.Message);
                Console.Error.WriteLine(e.StackTrace);
                Environment.Exit(1);
            }
        }
Example #2
0
        public static void Main(string[] args)
        {
            List <string> argsList = new List <string>(args);
            bool          verbose  = false;

            if (argsList.Contains("-v") || argsList.Contains("-verbose"))
            {
                verbose = true;
                argsList.RemoveAll(s => s == "-v" || s == "-verbose");
            }
            Dictionary <string, string> namespacePrefixes = new Dictionary <string, string>();
            int index;

            while ((index = argsList.IndexOf("-prefix")) != -1)
            {
                argsList.RemoveAt(index);
                if (argsList.Count <= index)
                {
                    Usage();
                    return;
                }
                var prefix = argsList[index];
                argsList.RemoveAt(index);
                if (argsList.Count <= index)
                {
                    Usage();
                    return;
                }
                var @namespace = argsList[index];
                argsList.RemoveAt(index);
                namespacePrefixes[@namespace] = prefix;
            }
            if (argsList.Count != 1)
            {
                Usage();
                return;
            }

            try
            {
                var parser = new SchemaParser(argsList[0]);
                if (verbose)
                {
                    parser.Logger = new ConsoleLogger();
                }
                parser.Compile();
                var elements = parser.GetXmlElements();

                var serializer = new CodeMirrorSchemaInfoSerializer(elements);
                serializer.Pretty = true;
                foreach (var nsPr in namespacePrefixes)
                {
                    serializer.SetPrefix(nsPr.Key, nsPr.Value);
                }
                var json = serializer.ToJsonString();
                Console.WriteLine(json);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.GetType().Name);
                Console.Error.WriteLine(e.Message);
                Console.Error.WriteLine(e.StackTrace);
                System.Environment.Exit(1);
            }
        }