private XmlSchemaForm AttributeForm(string ns, XmlSchemaAttribute attribute)
{
if (attribute.Form == XmlSchemaForm.None)
{
XmlSchemaObject parent = attribute;
while (parent.Parent != null)
{
parent = parent.Parent;
}
XmlSchema schema = parent as XmlSchema;
if (schema != null)
{
if (ns == null || ns.Length == 0)
{
return schema.AttributeFormDefault == XmlSchemaForm.None ? XmlSchemaForm.Unqualified : schema.AttributeFormDefault;
}
else
{
XmlSchemas.Preprocess(schema);
return attribute.QualifiedName.Namespace == null || attribute.QualifiedName.Namespace.Length == 0 ? XmlSchemaForm.Unqualified : XmlSchemaForm.Qualified;
}
}
return XmlSchemaForm.Unqualified;
}
return attribute.Form;
}
}