/// <summary> Add new metadata module configuration information for a module which should always be included </summary>
 /// <param name="MetadatModuleConfig"> New metadata module to include with all new items </param>
 public void Add_Metadata_Module_Config( Additional_Metadata_Module_Config MetadatModuleConfig )
 {
     Metadata_Modules_To_Include.Add( MetadatModuleConfig );
 }
        private static void read_metadata_modules_config(XmlReader readerXml, Dictionary<string, METS_Section_ReaderWriter_Config> readerWriters)
        {
            bool inPackage = false;
            bool inDivision = false;
            bool inFile = false;
            bool inDmdSec = true;
            METS_Writing_Profile profile = null;
            int unnamed_profile_counter = 1;

            while (readerXml.Read())
            {
                if (( readerXml.NodeType == XmlNodeType.Element) && ( readerXml.Name.ToLower() == "metadatamodule"))
                {
                    // read all the values
                    Additional_Metadata_Module_Config module = new Additional_Metadata_Module_Config();
                    if (readerXml.MoveToAttribute("key"))
                        module.Key = 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.Key.Length > 0) && (module.Code_Class.Length > 0) && (module.Code_Namespace.Length > 0))
                    {
                        Add_Metadata_Module_Config(module);
                    }
                }
            }
        }
 /// <summary> Add new metadata module configuration information for a module which should always be included </summary>
 /// <param name="MetadatModuleConfig"> New metadata module to include with all new items </param>
 public static void Add_Metadata_Module_Config( Additional_Metadata_Module_Config MetadatModuleConfig )
 {
     metadataModules.Add( MetadatModuleConfig );
 }
        private static void read_metadata_modules_config(XmlReader ReaderXml)
        {
            while (ReaderXml.Read())
            {
                if (( ReaderXml.NodeType == XmlNodeType.Element) && ( ReaderXml.Name.ToLower() == "metadatamodule"))
                {
                    // read all the values
                    Additional_Metadata_Module_Config module = new Additional_Metadata_Module_Config();
                    if (ReaderXml.MoveToAttribute("key"))
                        module.Key = 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.Key.Length > 0) && (module.Code_Class.Length > 0) && (module.Code_Namespace.Length > 0))
                    {
                        Add_Metadata_Module_Config(module);
                    }
                }
            }
        }