private void ValidateQNameAttribute(XmlSchemaObject xso, string attributeName, XmlQualifiedName value) {
try {
value.Verify();
value.Atomize(NameTable);
if (currentSchema.IsChameleon && value.Namespace.Length == 0) {
value.SetNamespace(currentSchema.TargetNamespace); //chameleon schemas are clones that have correct targetNamespace set
}
if(referenceNamespaces[value.Namespace] == null) {
SendValidationEvent(Res.Sch_UnrefNS, value.Namespace, xso, XmlSeverityType.Warning);
}
}
catch(FormatException fx) {
SendValidationEvent(Res.Sch_InvalidAttribute, new string[] {attributeName, fx.Message}, fx, xso);
}
catch(XmlException ex) {
SendValidationEvent(Res.Sch_InvalidAttribute, new string[] {attributeName, ex.Message}, ex, xso);
}
}