private XmlReader GetValidatingReader(XmlReader reader, XmlSchemaSet schemas, ValidationEventHandler validationEvent, XmlSchemaType schemaType, XmlSchemaElement schemaElement, XmlSchemaAttribute schemaAttribute)
{
if (schemaAttribute != null)
{
return schemaAttribute.Validate(reader, null, schemas, validationEvent);
}
if (schemaElement != null)
{
return schemaElement.Validate(reader, null, schemas, validationEvent);
}
if (schemaType != null)
{
return schemaType.Validate(reader, null, schemas, validationEvent);
}
XmlReaderSettings settings = new XmlReaderSettings {
ConformanceLevel = ConformanceLevel.Auto,
ValidationType = ValidationType.Schema,
Schemas = schemas
};
settings.ValidationEventHandler += validationEvent;
return XmlReader.Create(reader, settings);
}