private void PreprocessNotation(XmlSchemaNotation notation) {
if (notation.Name != null) {
ValidateNameAttribute(notation);
notation.QualifiedName = new XmlQualifiedName(notation.Name, this.targetNamespace);
}
else {
SendValidationEvent(Res.Sch_MissRequiredAttribute, "name", notation);
}
if (notation.Public == null && notation.System == null) {
SendValidationEvent(Res.Sch_MissingPublicSystemAttribute, notation);
}
else {
if (notation.Public != null) {
try {
XmlConvert.VerifyTOKEN(notation.Public); // can throw
}
catch(XmlException eInner) {
SendValidationEvent(Res.Sch_InvalidPublicAttribute, new string[] { notation.Public} , eInner, notation);
}
}
if (notation.System != null) {
ParseUri(notation.System, Res.Sch_InvalidSystemAttribute, notation);
}
}
PreprocessAnnotation(notation); //Set parent of annotation child of notation
ValidateIdAttribute(notation);
}