public void v3(object param0, object param1, object param2, object param3, object param4, object param5, object param6)
{
string ns1 = param0.ToString();
string ns2 = param3.ToString();
string e1 = param1.ToString();
string e2 = param2.ToString();
string e3 = param4.ToString();
string e4 = param5.ToString();
bool doCompile = (bool)param6;
XmlSchema s1 = GetSchema(ns1, e1, e2);
XmlSchema s2 = GetSchema(ns2, e3, e4);
XmlSchemaSet ss1 = new XmlSchemaSet();
XmlSchemaSet ss2 = new XmlSchemaSet();
ss1.Add(s1);
ss1.Compile();
ss2.Add(s2);
if (doCompile)
ss2.Compile();
// add one schemaset to another
ss1.Add(ss2);
if (!doCompile)
ss1.Compile();
//Verify
CError.Compare(ss1.GlobalElements.Count, 4, "Types Count after add, compile,add");
CError.Compare(ss1.GlobalElements.Contains(new XmlQualifiedName(e1, ns1)), true, "Contains1");
CError.Compare(ss1.GlobalElements.Contains(new XmlQualifiedName(e2, ns1)), true, "Contains2");
CError.Compare(ss1.GlobalElements.Contains(new XmlQualifiedName(e3, ns2)), true, "Contains3");
CError.Compare(ss1.GlobalElements.Contains(new XmlQualifiedName(e4, ns2)), true, "Contains4");
//Now reprocess one schema and check
ss1.Reprocess(s1);
ss1.Compile();
CError.Compare(ss1.GlobalElements.Count, 4, "Types Count after reprocess/compile");
//Now Remove one schema and check
ss1.Remove(s1);
CError.Compare(ss1.GlobalElements.Count, 2, "Types Count after remove"); // count should still be 4
ss1.Compile();
CError.Compare(ss1.GlobalElements.Count, 2, "Types Count after remove/comp"); // count should NOW still be 2
return;
}