public static System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(System.Xml.Schema.XmlSchemaSet xs)
            {
                System.Xml.Schema.XmlSchemaComplexType type     = new System.Xml.Schema.XmlSchemaComplexType();
                System.Xml.Schema.XmlSchemaSequence    sequence = new System.Xml.Schema.XmlSchemaSequence();
                RendererProviderConfig ds = new RendererProviderConfig();

                xs.Add(ds.GetSchemaSerializable());
                System.Xml.Schema.XmlSchemaAny any1 = new System.Xml.Schema.XmlSchemaAny();
                any1.Namespace       = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs       = new decimal(0);
                any1.MaxOccurs       = decimal.MaxValue;
                any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                System.Xml.Schema.XmlSchemaAny any2 = new System.Xml.Schema.XmlSchemaAny();
                any2.Namespace       = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs       = new decimal(1);
                any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                System.Xml.Schema.XmlSchemaAttribute attribute1 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name       = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                System.Xml.Schema.XmlSchemaAttribute attribute2 = new System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name       = "tableTypeName";
                attribute2.FixedValue = "ProvidersDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                return(type);
            }
コード例 #2
0
        /// <summary>
        /// Get RendererProvider for specified control type
        /// </summary>
        /// <param name="controlType">Control type</param>
        /// <returns>RendererProvider object</returns>
        public static BaseRendererProvider GetRendererProvider(Type controlType)
        {
            configurationFilePath = Path.Combine(Application.StartupPath, "DWMRendererProvider.config");
            // verify if configuration file exits
            if (!File.Exists(configurationFilePath))
            {
                //throw new FileNotFoundException("Configuration File not found !", configurationFilePath);
                return(null);
            }

            //System.Diagnostics.Debug.Assert(controlType == typeof(System.Windows.Forms.Label));

            BaseRendererProvider   provider = null;
            RendererProviderConfig dataset  = new RendererProviderConfig();

            dataset.ReadXml(configurationFilePath);
            RendererProviderConfig.ProvidersRow row = dataset.Providers.FindByAssociatedType(controlType.Name);

            if (row != null)
            {
                string assembly = row.Assembly;
                string type     = row.Type;

                provider = GetRendererProvider(type, assembly);
            }
            return(provider);
        }
        public override System.Data.DataSet Clone()
        {
            RendererProviderConfig cln = ((RendererProviderConfig)(base.Clone()));

            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return(cln);
        }
        public static System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(System.Xml.Schema.XmlSchemaSet xs)
        {
            RendererProviderConfig ds = new RendererProviderConfig();

            System.Xml.Schema.XmlSchemaComplexType type     = new System.Xml.Schema.XmlSchemaComplexType();
            System.Xml.Schema.XmlSchemaSequence    sequence = new System.Xml.Schema.XmlSchemaSequence();
            xs.Add(ds.GetSchemaSerializable());
            System.Xml.Schema.XmlSchemaAny any = new System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            return(type);
        }