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); } }