private void PreprocessAttributeContent(XmlSchemaAttribute attribute) {
PreprocessAnnotation(attribute);
if (schema.TargetNamespace == XmlReservedNs.NsXsi) {
SendValidationEvent(Res.Sch_TargetNamespaceXsi, attribute);
}
if (!attribute.RefName.IsEmpty) {
SendValidationEvent(Res.Sch_ForbiddenAttribute, "ref", attribute);
}
if (attribute.DefaultValue != null && attribute.FixedValue != null) {
SendValidationEvent(Res.Sch_DefaultFixedAttributes, attribute);
}
if (attribute.DefaultValue != null && attribute.Use != XmlSchemaUse.Optional && attribute.Use != XmlSchemaUse.None) {
SendValidationEvent(Res.Sch_OptionalDefaultAttribute, attribute);
}
if (attribute.Name == Xmlns) {
SendValidationEvent(Res.Sch_XmlNsAttribute, attribute);
}
if (attribute.SchemaType != null) {
SetParent(attribute.SchemaType, attribute);
if (!attribute.SchemaTypeName.IsEmpty) {
SendValidationEvent(Res.Sch_TypeMutualExclusive, attribute);
}
PreprocessSimpleType(attribute.SchemaType, true);
}
if (!attribute.SchemaTypeName.IsEmpty) {
ValidateQNameAttribute(attribute, "type", attribute.SchemaTypeName);
}
}