public void SourceUriChangesDuringValidation()
{
string xmlSrc = "<root><foo><bar/></foo></root>";
Uri tempUri;
XmlSchemaInfo info = new XmlSchemaInfo();
XmlSchemaValidator val = CreateValidator(CreateSchemaSetFromXml(xmlSrc));
tempUri = new Uri("file://tempuri.com/schemas");
val.SourceUri = tempUri;
val.Initialize();
val.ValidateElement("root", "", info);
val.ValidateEndOfAttributes(null);
val.ValidateElement("foo", "", info);
tempUri = new Uri("urn:relativepath");
val.SourceUri = tempUri;
Assert.Equal(tempUri, val.SourceUri);
val.ValidateEndOfAttributes(null);
try
{
val.ValidateElement("bar2", "", info);
Assert.True(false);
}
catch (XmlSchemaValidationException e)
{
Assert.Equal(tempUri.ToString(), e.SourceUri);
}
return;
}
}