System.Xml.XmlDocument.AddDefaultAttributes C# (CSharp) Method

AddDefaultAttributes() private method

private AddDefaultAttributes ( XmlElement elem ) : void
elem XmlElement
return void
        internal void AddDefaultAttributes(XmlElement elem)
        {
            SchemaInfo schInfo = DtdSchemaInfo;
            SchemaElementDecl ed = GetSchemaElementDecl(elem);
            if (ed != null && ed.AttDefs != null)
            {
                IDictionaryEnumerator attrDefs = ed.AttDefs.GetEnumerator();
                while (attrDefs.MoveNext())
                {
                    SchemaAttDef attdef = (SchemaAttDef)attrDefs.Value;
                    if (attdef.Presence == SchemaDeclBase.Use.Default ||
                         attdef.Presence == SchemaDeclBase.Use.Fixed)
                    {
                        //build a default attribute and return
                        string attrPrefix = string.Empty;
                        string attrLocalname = attdef.Name.Name;
                        string attrNamespaceURI = string.Empty;
                        if (schInfo.SchemaType == SchemaType.DTD)
                            attrPrefix = attdef.Name.Namespace;
                        else
                        {
                            attrPrefix = attdef.Prefix;
                            attrNamespaceURI = attdef.Name.Namespace;
                        }
                        XmlAttribute defattr = PrepareDefaultAttribute(attdef, attrPrefix, attrLocalname, attrNamespaceURI);
                        elem.SetAttributeNode(defattr);
                    }
                }
            }
        }