System.Xml.Serialization.XmlSchemaImporter.AttributeForm C# (CSharp) Method

AttributeForm() private method

private AttributeForm ( string ns, XmlSchemaAttribute attribute ) : XmlSchemaForm
ns string
attribute System.Xml.Schema.XmlSchemaAttribute
return XmlSchemaForm
        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;
        }
    }