Exemple #1
0
        public void ResourceStaticAnalysisCanReturnSchemaStream()
        {
            var reader = ResourceStaticAnalysisToolbox.GetConfigSchemaStream();

            Assert.IsNotNull(reader);
            var p = reader.ReadLine();

            Assert.AreEqual("<?xml version=\"1.0\" encoding=\"utf-8\"?>", p);
        }
        /// <summary>
        /// Offers a convenient method for loading a serialized version of configuration into memory.
        /// This deserialized object can then be passed into ResourceStaticAnalysis at construction to allow for engine configuration to happen.
        /// <param name="pathToXml">Uri or path to Xml file that contains a serialized version of engine configuration.</param>
        /// </summary>
        public static EngineConfig Deserialize(string pathToXml)
        {
            var settings = new XmlReaderSettings {
                ValidationType = ValidationType.Schema
            };
            XmlSchema schema;

            using (var configSchemaReader = XmlReader.Create(ResourceStaticAnalysisToolbox.GetConfigSchemaStream()))
            {
                schema = XmlSchema.Read(configSchemaReader, ConfigSchemaValidator);
            }
            settings.Schemas.Add(schema);
            settings.ValidationEventHandler += ConfigXmlValidationProblem;
            using (var fileReader = XmlReader.Create(pathToXml, settings))
            {
                return(Deserialize(fileReader));
            }
        }