예제 #1
0
        static void Main(string[] args)
        {
            try
            {
                _Arguments = new CommandLineArgumentList(args, StringComparison.CurrentCultureIgnoreCase);

                IXmlDocumentProvider docProvider = null;

                // Initialize our xml document provider
                if (File.Exists("icalvalidSchema.zip"))
                {
                    docProvider = new XmlDocumentZipExtractor("icalvalidSchema.zip");
                }
                else if (Directory.Exists("icalvalidSchema"))
                {
                    docProvider = new LocalXmlDocumentProvider("icalvalidSchema");
                }
                else
                {
                    throw new Exception("A valid schema directory or zip file could not be located!");
                }

                // Setup the language to use for validation/tests
                SetupLanguage(docProvider);
                IValidationRuleset selectedRuleset = LoadRuleset(docProvider);

                if (_Arguments.Contains(_SchemaValidationArgument))
                {
                    SchemaTest(docProvider);
                    LanguageKeyValidation(docProvider);
                }
                else
                {
                    // Determine whether we are performing a self test, or
                    // validating an iCalendar file...
                    if (_Arguments.Contains(_TestArgument))
                    {
                        SelfTest(docProvider, selectedRuleset);
                    }
                    else
                    {
                        ValidateFile(docProvider, selectedRuleset);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
예제 #2
0
파일: Program.cs 프로젝트: xxjeng/nuxleus
        static void Main(string[] args)
        {
            try
            {
                _Arguments = new CommandLineArgumentList(args, StringComparison.CurrentCultureIgnoreCase);

                IXmlDocumentProvider docProvider = null;

                // Initialize our xml document provider
                if (File.Exists("icalvalidSchema.zip"))
                    docProvider = new XmlDocumentZipExtractor("icalvalidSchema.zip");
                else if (Directory.Exists("icalvalidSchema"))
                    docProvider = new LocalXmlDocumentProvider("icalvalidSchema");
                else
                    throw new Exception("A valid schema directory or zip file could not be located!");

                // Setup the language to use for validation/tests
                SetupLanguage(docProvider);
                IValidationRuleset selectedRuleset = LoadRuleset(docProvider);

                if (_Arguments.Contains(_SchemaValidationArgument))
                {
                    SchemaTest(docProvider);
                    LanguageKeyValidation(docProvider);
                }
                else
                {
                    // Determine whether we are performing a self test, or
                    // validating an iCalendar file...
                    if (_Arguments.Contains(_TestArgument))
                    {
                        SelfTest(docProvider, selectedRuleset);
                    }
                    else
                    {
                        ValidateFile(docProvider, selectedRuleset);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
예제 #3
0
        static void SetupLanguage(IXmlDocumentProvider docProvider)
        {
            bool foundLanguage = false;

            // Determine what language we're using...
            if (_Arguments.Contains(_LanguageArgument))
            {
                // Initialize our resource manager with a user-defined culture
                foundLanguage = ResourceManager.Initialize(docProvider, _Arguments[_LanguageArgument].Value);
            }
            else
            {
                // Initialize our resource manager with our current culture
                foundLanguage = ResourceManager.Initialize(docProvider, false);
            }

            if (!foundLanguage)
            {
                Console.WriteLine("Could not find the selected language; using English instead...");

                // Force initialization to English
                ResourceManager.Initialize(docProvider, true);
            }
        }
예제 #4
0
        static void Main(string[] args)
        {
            try
            {
                Debug.Initialize();

                ISerializationSettings settings = SerializationContext.Default.GetService<ISerializationSettings>();
                settings.ParsingMode = ParsingModeType.Loose;
                settings.EnsureAccurateLineNumbers = true;
                settings.StoreExtraSerializationData = true;

                _Arguments = new CommandLineArgumentList(args, StringComparison.CurrentCultureIgnoreCase);

                IXmlDocumentProvider docProvider = null;

                // Initialize our xml document provider
                if (File.Exists("icalvalidSchema.zip"))
                    docProvider = new ZipXmlDocumentProvider("icalvalidSchema.zip");
                else if (Directory.Exists("icalvalidSchema"))
                    docProvider = new DirectoryXmlDocumentProvider("icalvalidSchema");
                else
                    throw new Exception("A valid schema directory or zip file could not be located!");

                IValidationRuleset selectedRuleset = null;
                try
                {
                    // Setup the language to use for validation/tests
                    SetupLanguage(docProvider);
                    selectedRuleset = LoadRuleset(docProvider);
                }
                catch (ValidationRuleLoadException ex)
                {
                    _ValidationRuleLoadException = ex;
                }

                if (_Arguments.Contains(_SchemaValidationArgument))
                {
                    SchemaTest(docProvider);
                    LanguageKeyValidation(docProvider);
                }
                else if (_ValidationRuleLoadException == null)
                {
                    // Determine whether we are performing a self test, or
                    // validating an iCalendar file...
                    if (_Arguments.Contains(_TestArgument))
                    {
                        SelfTest(docProvider, selectedRuleset);
                    }
                    else
                    {
                        ValidateFile(docProvider, selectedRuleset);
                    }
                }
                else
                {
                    Console.WriteLine("The icalvalid schema did not load successfully: " + _ValidationRuleLoadException.Message +
                        Environment.NewLine +
                        Environment.NewLine +
                        "Try 'icalvalid /s' for more information.");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }