private XmlReader CreateReader(XmlReader reader, XmlSchemaSet ss, bool prohibitDTD)
{
var settings = GetSettings(prohibitDTD);
settings.Schemas = new XmlSchemaSet();
settings.Schemas.XmlResolver = new XmlUrlResolver();
settings.Schemas.ValidationEventHandler += ValidationCallback;
settings.Schemas.Add(ss);
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags = XmlSchemaValidationFlags.ReportValidationWarnings |
XmlSchemaValidationFlags.ProcessSchemaLocation |
XmlSchemaValidationFlags.ProcessIdentityConstraints |
XmlSchemaValidationFlags.ProcessInlineSchema;
settings.ValidationEventHandler += ValidationCallback;
return XmlReader.Create(reader, settings);
}