System.Xml.Tests.TC_SchemaSet_Misc.v108 C# (CSharp) Method

v108() private method

private v108 ( ) : void
return void
        public void v108()
        {
            string strSchema1 = @"
<xs:schema targetNamespace='http://bar'
           xmlns='http://bar' xmlns:x='http://foo'
           elementFormDefault='qualified'
           attributeFormDefault='unqualified'
           xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:import namespace='http://foo'/>
  <xs:element name='bar'>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref='x:foo'/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
";
            string strSchema2 = @"<xs:schema targetNamespace='http://foo'
           xmlns='http://foo' xmlns:x='http://bar'
           elementFormDefault='qualified'
           attributeFormDefault='unqualified'
           xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  <xs:import namespace='http://bar'/>
  <xs:element name='foo'>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref='x:bar'/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>";

            Initialize();
            XmlSchemaSet set = new XmlSchemaSet();
            set.XmlResolver = new XmlUrlResolver();
            ValidationEventHandler handler = new ValidationEventHandler(ValidationCallback);
            set.ValidationEventHandler += handler;
            XmlSchema s1 = null;
            using (XmlReader r = XmlReader.Create(new StringReader(strSchema1)))
            {
                s1 = XmlSchema.Read(r, handler);
                set.Add(s1);
            }
            set.Compile();

            // Now load set 2
            set = new XmlSchemaSet();
            set.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
            XmlSchema s2 = null;
            using (XmlReader r = XmlReader.Create(new StringReader(strSchema2)))
            {
                s2 = XmlSchema.Read(r, handler);
            }
            XmlSchemaImport import = (XmlSchemaImport)s2.Includes[0];
            import.Schema = s1;
            import = (XmlSchemaImport)s1.Includes[0];
            import.Schema = s2;
            set.Add(s1);
            set.Reprocess(s1);
            set.Add(s2);
            set.Reprocess(s2);
            set.Compile();

            s2 = null;
            using (XmlReader r = XmlReader.Create(new StringReader(strSchema2)))
            {
                s2 = XmlSchema.Read(r, handler);
            }
            set = new XmlSchemaSet();
            set.ValidationEventHandler += new ValidationEventHandler(ValidationCallback);
            import = (XmlSchemaImport)s2.Includes[0];
            import.Schema = s1;
            import = (XmlSchemaImport)s1.Includes[0];
            import.Schema = s2;
            set.Add(s1);
            set.Reprocess(s1);
            set.Add(s2);
            set.Reprocess(s2);
            set.Compile();
            CError.Compare(warningCount, 0, "Warning Count mismatch!");
            CError.Compare(errorCount, 1, "Error Count mismatch");
            return;
        }