ATMLSignalModelLibrary.signal.SignalModel.Process C# (CSharp) Method

Process() private method

private Process ( XmlDocument xml ) : void
xml System.Xml.XmlDocument
return void
        private void Process( XmlDocument xml )
        {
            var nsmgr = new XmlNamespaceManager( xml.NameTable );
            //TODO: Interate through database list of available schema namespaces
            nsmgr.AddNamespace( "tsf", ATMLContext.NS_STDTSF );
            nsmgr.AddNamespace( "std", ATMLContext.NS_STDBSC );
            nsmgr.AddNamespace( "std1", ATMLContext.NS_STDBSC );
            nsmgr.AddNamespace( "this", ATMLContext.NS_STDTSFLIB );
            nsmgr.AddNamespace( "xsi", ATMLContext.NS_XSI );
            var settings = new XmlReaderSettings();
            settings.ValidationType = ValidationType.Schema;
            settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
            settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessSchemaLocation;
            settings.ValidationFlags |= XmlSchemaValidationFlags.ReportValidationWarnings;
            settings.ValidationEventHandler += ValidationCallBack;
            TextReader tr = new StringReader( _interfaceSchema );
            XmlSchema schema = XmlSchema.Read( tr, ValidationCallBack );
            if (schema.Attributes.Count > 0)
            {
                IDictionaryEnumerator enumerator = schema.Attributes.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    var attribute = (XmlSchemaAttribute) enumerator.Value;
                    Console.WriteLine( _tsf.name + @"." + attribute.Name + @" (attribute)" );
                }
            }
            String root = _tsf.name;
            XmlSchemaObjectCollection schemaItems = schema.Items;
            if (schemaItems != null)
            {
                foreach (XmlSchemaObject o in schemaItems)
                {
                    var childElement = (XmlSchemaElement) o;
                    root += String.Concat( ".", childElement.Name );
                    IterateOverElement( root, childElement );
                }
            }
        }