Beispiel #1
0
        private System.Xml.XmlReaderSettings GetSettings()
        {
            if (m_xmlReaderSettings == null)
            {
                // Setting up validation settings
                var settings = new System.Xml.XmlReaderSettings
                {
                    CloseInput     = false,
                    ValidationType = System.Xml.ValidationType.Schema,
                    XmlResolver    = new System.Xml.XmlUrlResolver()
                    {
                        CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.CacheIfAvailable)
                    }
                };
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ProcessSchemaLocation;
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ReportValidationWarnings;
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ProcessIdentityConstraints;

                // Including only the required schemata to speed up validation.
                if (m_schemata.HasFlag(SchemaType.B2mml))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderB2mml + @"\b2mml\B2MML-V0600-ProductionSchedule.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Swe))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderRef + @"\swe\swe.xsd");
                }

                m_xmlReaderSettings = settings;
            }

            return(m_xmlReaderSettings);
        }
Beispiel #2
0
        private System.Xml.XmlReaderSettings GetSettings()
        {
            if (m_xmlReaderSettings == null)
            {
                // Setting up validation settings
                var settings = new System.Xml.XmlReaderSettings
                {
                    CloseInput     = false,
                    ValidationType = System.Xml.ValidationType.Schema,
                    XmlResolver    = new System.Xml.XmlUrlResolver()
                    {
                        CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.CacheIfAvailable)
                    }
                };
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ProcessSchemaLocation;
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ReportValidationWarnings;
                settings.ValidationFlags |= System.Xml.Schema.XmlSchemaValidationFlags.ProcessIdentityConstraints;

                // Including only the required schemata to speed up validation.
                // The TSML schema refers to multiple other schemata. Adding them explicitly is redundant and causes an error.
                if (m_schemata.HasFlag(SchemaType.Custom1_GmlOmSweTsml))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\cocopcustom\cocopcustom_1.1.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Custom2))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\cocopcustom\cocopcustom_1.2.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Om_Gml))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\om\2.0.0\observation.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Sos_GmlOmSwe))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\sos\2.0.1\sos.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Sps_GmlSwe))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\sps\2.0.0\sps.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Swe))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\swe\swe.xsd");
                }
                if (m_schemata.HasFlag(SchemaType.Tsml_GmlOmSwe))
                {
                    settings.Schemas.Add(null, TestHelper.SchemaFolderOpenGis + @"\tsml\1.0.0\timeseriesML.xsd");
                }

                m_xmlReaderSettings = settings;
            }

            return(m_xmlReaderSettings);
        }