/// <summary> Add a new metadata mapping configuration object </summary>
 /// <param name="Mapper"> All the information needed to create a new instance of the mapper </param>
 public void Add_Metadata_Mapper(Metadata_Mapping_Config Mapper)
 {
     Mapping_Configs.Add(Mapper);
 }
        private static void read_metadata_mappers_config(XmlReader ReaderXml, Metadata_Configuration Config)
        {
            while (ReaderXml.Read())
            {
                if ((ReaderXml.NodeType == XmlNodeType.Element) && (ReaderXml.Name.ToLower() == "clear"))
                {
                    Config.Clear_Metadata_Mappers();
                }

                if ((ReaderXml.NodeType == XmlNodeType.Element) && (ReaderXml.Name.ToLower() == "mapper"))
                {
                    // read all the values
                    Metadata_Mapping_Config module = new Metadata_Mapping_Config();
                    if (ReaderXml.MoveToAttribute("name"))
                        module.Name = ReaderXml.Value.Trim();
                    if (ReaderXml.MoveToAttribute("assembly"))
                        module.Code_Assembly = ReaderXml.Value;
                    if (ReaderXml.MoveToAttribute("namespace"))
                        module.Code_Namespace = ReaderXml.Value;
                    if (ReaderXml.MoveToAttribute("class"))
                        module.Code_Class = ReaderXml.Value;

                    // Only add if valid
                    if ((module.Code_Class.Length > 0) && (module.Code_Namespace.Length > 0))
                    {
                        Config.Add_Metadata_Mapper(module);
                    }
                }
            }
        }