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

ElementForm() private method

private ElementForm ( string ns, XmlSchemaElement element ) : XmlSchemaForm
ns string
element System.Xml.Schema.XmlSchemaElement
return XmlSchemaForm
        private XmlSchemaForm ElementForm(string ns, XmlSchemaElement element)
        {
            if (element.Form == XmlSchemaForm.None)
            {
                XmlSchemaObject parent = element;
                while (parent.Parent != null)
                {
                    parent = parent.Parent;
                }
                XmlSchema schema = parent as XmlSchema;

                if (schema != null)
                {
                    if (ns == null || ns.Length == 0)
                    {
                        return schema.ElementFormDefault == XmlSchemaForm.None ? XmlSchemaForm.Unqualified : schema.ElementFormDefault;
                    }
                    else
                    {
                        XmlSchemas.Preprocess(schema);
                        return element.QualifiedName.Namespace == null || element.QualifiedName.Namespace.Length == 0 ? XmlSchemaForm.Unqualified : XmlSchemaForm.Qualified;
                    }
                }
                return XmlSchemaForm.Qualified;
            }
            return element.Form;
        }