/// <summary> Add a new package-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Package_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iPackage_dmdSec_ReaderWriter) { packageLevelDmdSecWriterConfigs.Add(NewConfig); } }
/// <summary> Add a new division-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Division_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iDivision_dmdSec_ReaderWriter) { divisionLevelDmdSecWriterConfigs.Add(NewConfig); } }
/// <summary> Add a new file-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_File_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iFile_amdSec_ReaderWriter) { fileLevelAmdSecWriterConfigs.Add(NewConfig); } }
/// <summary> Add a new division-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Division_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) { return; } // if (NewConfig.ReaderWriterObject is iDivision_amdSec_ReaderWriter) Division_Level_AmdSec_Writer_Configs.Add(NewConfig); }
/// <summary> Add a new file-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_File_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) { return; } // if (NewConfig.ReaderWriterObject is iFile_dmdSec_ReaderWriter) File_Level_DmdSec_Writer_Configs.Add(NewConfig); }
/// <summary> Add a new package-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Package_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) { return; } if (NewConfig.ReaderWriterObject is iPackage_amdSec_ReaderWriter) { packageLevelAmdSecWriterConfigs.Add(NewConfig); } }
/// <summary> Add a new file-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_File_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iFile_amdSec_ReaderWriter) fileLevelAmdSecWriterConfigs.Add(NewConfig); }
/// <summary> Add a new package-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Package_Level_AmdSec_Writer_Config( METS_Section_ReaderWriter_Config NewConfig ) { if (NewConfig == null) return; if ( NewConfig.ReaderWriterObject is iPackage_amdSec_ReaderWriter ) packageLevelAmdSecWriterConfigs.Add(NewConfig); }
/// <summary> Add a new division-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Division_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iDivision_dmdSec_ReaderWriter) divisionLevelDmdSecWriterConfigs.Add(NewConfig); }
/// <summary> Add a new package-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Package_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) return; // if (NewConfig.ReaderWriterObject is iPackage_dmdSec_ReaderWriter) Package_Level_DmdSec_Writer_Configs.Add(NewConfig); }
/// <summary> Add a new file-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_File_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) return; // if (NewConfig.ReaderWriterObject is iFile_amdSec_ReaderWriter) File_Level_AmdSec_Writer_Configs.Add(NewConfig); }
/// <summary> Adds a new METS section reader/writer configuration </summary> /// <param name="New_ReaderWriter"> New METS section reader/writer</param> /// <remarks> This instantiates the actual reader/writer class to determine which interfaces /// are implemeneted. </remarks> public void Add_METS_Section_ReaderWriter(METS_Section_ReaderWriter_Config New_ReaderWriter) { // Add to list of all METS sections readers/writers METS_Section_File_ReaderWriter_Configs.Add(New_ReaderWriter); }
/// <summary> Clears the current metadata configuration and restores all the values /// to the default reader/writers and profiles </summary> public void Set_Default_Values() { Clear(); isDefault = true; // Add the dublin core file reader/writer Metadata_File_ReaderWriter_Config dcFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.DC, Label = "Dublin Core File", canRead = true, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "DC_File_ReaderWriter"}; dcFile.Add_Option("RDF_Style", "false"); Add_Metadata_File_ReaderWriter(dcFile); // Add the dublin core file reader/writer Metadata_File_ReaderWriter_Config dcFile2 = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.DC, Label = "Dublin Core File (RDF Style)", canRead = false, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "DC_File_ReaderWriter"}; dcFile2.Add_Option("RDF_Style", "true"); Add_Metadata_File_ReaderWriter(dcFile2); // Add the EAD file reader/writer Metadata_File_ReaderWriter_Config eadFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.EAD, Label = "Encoded Archival Descriptor (EAD)", canRead = true, canWrite = false, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "EAD_File_ReaderWriter"}; eadFile.Add_Option("Analyze_Description", "true"); Add_Metadata_File_ReaderWriter(eadFile); // Add the MARC21 file reader/writer Metadata_File_ReaderWriter_Config marc21File = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.MARC21, Label = "MARC21 Single Record File", canRead = true, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "Marc21_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(marc21File); // Add the MarcXML file reader/writer Metadata_File_ReaderWriter_Config marcxmlFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.MARCXML, Label = "MarcXML Single Record File", canRead = true, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "MarcXML_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(marcxmlFile); // Add the METS file reader/writer Metadata_File_ReaderWriter_Config metsFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.METS, Label = "Metadata Encoding and Transmission Standard (METS)", canRead = true, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "METS_File_ReaderWriter"}; metsFile.Add_Option("Minimize_File_Info", "false"); metsFile.Add_Option("Support_Divisional_dmdSec_amdSec", "true"); Add_Metadata_File_ReaderWriter(metsFile); // Add the MODS file reader/writer Metadata_File_ReaderWriter_Config modsFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.MODS, Label = "Metadata Object Description Standard (MODS)", canRead = true, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "MODS_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(modsFile); // Add the INFO file reader/writer Metadata_File_ReaderWriter_Config infoFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.OTHER, Other_MD_Type = "INFO", Label = "Legacy UF INFO Files", canRead = true, canWrite = false, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "INFO_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(infoFile); // Add the MXF file reader/writer Metadata_File_ReaderWriter_Config mxfFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.OTHER, Other_MD_Type = "MXF", Label = "MXF File", canRead = true, canWrite = false, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "MXF_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(mxfFile); // Add the OAI-PMH file reader/writer Metadata_File_ReaderWriter_Config oaiFile = new Metadata_File_ReaderWriter_Config {MD_Type = Metadata_File_Type_Enum.OTHER, Other_MD_Type = "OAI", Label = "OAI-PMH File", canRead = false, canWrite = true, Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters", Code_Class = "OAI_File_ReaderWriter"}; Add_Metadata_File_ReaderWriter(oaiFile); // Add the MODS section reader/writer METS_Section_ReaderWriter_Config modsSection = new METS_Section_ReaderWriter_Config {ID = "MODS", Label = "MODS", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "MODS_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; modsSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("MODS", "MODS Metadata", true)); modsSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("Metadata Object Description Standard", false )); Add_METS_Section_ReaderWriter(modsSection); // Add the dublin core section reader/writer METS_Section_ReaderWriter_Config dcSection = new METS_Section_ReaderWriter_Config {ID = "DC", Label = "Dublin Core", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "DC_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; dcSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("DC", "Dublin Core Metadata", true)); dcSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("DUBLIN CORE", false)); Add_METS_Section_ReaderWriter(dcSection); // Add the MarcXML section reader/writer METS_Section_ReaderWriter_Config marcXMLSection = new METS_Section_ReaderWriter_Config {ID = "MARCXML", Label = "MARCXML", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "MarcXML_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; marcXMLSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("MARCXML", "MarcXML Metadata", true)); Add_METS_Section_ReaderWriter(marcXMLSection); // Add the DarwinCore section reader/writer METS_Section_ReaderWriter_Config darwinSection = new METS_Section_ReaderWriter_Config {ID = "DARWIN", Label = "DarwinCore", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "DarwinCore_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; darwinSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DARWINCORE", "DarwinCore Zoological Taxonomic Information", true)); Add_METS_Section_ReaderWriter(darwinSection); // Add the ETD section reader/writer METS_Section_ReaderWriter_Config etdSection = new METS_Section_ReaderWriter_Config {ID = "ETD", Label = "ETD", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "ETD_SobekCM_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; etdSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEK_ETD", "SobekCM ETD Extension", true)); Add_METS_Section_ReaderWriter(etdSection); // Add the ETD section reader/writer METS_Section_ReaderWriter_Config etd2Section = new METS_Section_ReaderWriter_Config {ID = "ETD2", Label = "ETD2", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "ETD_PALMM_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; etd2Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "PALMM", "PALMM ETD Extension", true)); etd2Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "PALMM Extensions", "PALMM ETD Extension", false)); Add_METS_Section_ReaderWriter(etd2Section); // Add the SobekCM section reader/writer METS_Section_ReaderWriter_Config sobekCMSection = new METS_Section_ReaderWriter_Config {ID = "SOBEK1", Label = "SobekCM", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "SobekCM_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; sobekCMSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEKCM", "SobekCM Custom Metadata", true)); sobekCMSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "UFDC", "SobekCM Custom Metadata", false)); sobekCMSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DLOC", "SobekCM Custom Metadata", false)); Add_METS_Section_ReaderWriter(sobekCMSection); // Add the SobekCM Map section reader/writer METS_Section_ReaderWriter_Config sobekCMMapSection = new METS_Section_ReaderWriter_Config {ID = "SOBEK2", Label = "SobekCM Map", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "SobekCM_Map_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; sobekCMMapSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEK_MAP", "SobekCM Custom Map Authority Metadata", true)); sobekCMMapSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "UFDC_MAP", "SobekCM Custom Map Authority Metadata", false)); Add_METS_Section_ReaderWriter(sobekCMMapSection); // Add the DAITSS section reader/writer METS_Section_ReaderWriter_Config daitssSection = new METS_Section_ReaderWriter_Config {ID = "DAITSS", Label = "DAITSS", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "DAITSS_METS_amdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.AmdSec, AmdSecType = METS_amdSec_Type_Enum.DigiProvMD}; daitssSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DAITSS", "DAITSS Archiving Information", true)); Add_METS_Section_ReaderWriter(daitssSection); // Add the RightsMD section reader/writer METS_Section_ReaderWriter_Config rightsSection = new METS_Section_ReaderWriter_Config {ID = "RIGHTS", Label = "RightsMD", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "RightsMD_METS_amdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.AmdSec, AmdSecType = METS_amdSec_Type_Enum.RightsMD}; rightsSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "RIGHTSMD", "Rights Information", true)); Add_METS_Section_ReaderWriter(rightsSection); // Add the SobekCM fileinfo section reader/writer METS_Section_ReaderWriter_Config sobekCMFileSection = new METS_Section_ReaderWriter_Config {ID = "SOBEK3", Label = "SobekCM FileInfo", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "SobekCM_FileInfo_METS_amdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.AmdSec, AmdSecType = METS_amdSec_Type_Enum.TechMD}; sobekCMFileSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEKCM", "SobekCM File Technical Details", true)); Add_METS_Section_ReaderWriter(sobekCMFileSection); // Add the GML section reader/writer METS_Section_ReaderWriter_Config gmlSection = new METS_Section_ReaderWriter_Config {ID = "GML", Label = "GML Coordinate", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "GML_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; gmlSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "GML", "Geographic Markup Language", true)); Add_METS_Section_ReaderWriter(gmlSection); // Add the IEEE-LOM section reader/writer METS_Section_ReaderWriter_Config lomSection = new METS_Section_ReaderWriter_Config {ID = "IEEE-LOM", Label = "IEEE-LOM: Learning Object Metadata", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "LOM_IEEE_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; lomSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "IEEE-LOM", "Learning Object Metadata", true)); Add_METS_Section_ReaderWriter(lomSection); // Add the VRACore section reader/writer METS_Section_ReaderWriter_Config vraSection = new METS_Section_ReaderWriter_Config {ID = "VRACORE", Label = "VRACore Visual Resource Metadata", Code_Assembly = String.Empty, Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters", Code_Class = "VRACore_METS_dmdSec_ReaderWriter", isActive = true, METS_Section = METS_Section_Type_Enum.DmdSec}; vraSection.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "VRACore", "VRACore Visual Resource Metadata", true)); Add_METS_Section_ReaderWriter(vraSection); // Add the default METS writig profile METS_Writing_Profile defaultProfile = new METS_Writing_Profile {Default_Profile = true, Profile_Name = "Complete MODS Writer", Profile_Description = "This profile includes almost all of the possible sub-writers but the main bibliographic data is stored in MODS"}; defaultProfile.Add_Package_Level_DmdSec_Writer_Config(modsSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(sobekCMSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(sobekCMMapSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(darwinSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(etdSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(gmlSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(lomSection); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(vraSection); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(daitssSection); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(rightsSection); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(sobekCMFileSection); // defaultProfile.Add_Division_Level_DmdSec_Writer_Config(MODS_Section); defaultProfile.Add_Division_Level_DmdSec_Writer_Config(gmlSection); Add_METS_Writing_Profile(defaultProfile); // Add the default METS writig profile METS_Writing_Profile dcProfile = new METS_Writing_Profile {Default_Profile = false, Profile_Name = "Simple Dublin Core Writer", Profile_Description = "This is a simplified profile which uses Dublin Core to describe all levels of the METS"}; dcProfile.Add_Package_Level_DmdSec_Writer_Config(dcSection); dcProfile.Add_Package_Level_AmdSec_Writer_Config(daitssSection); dcProfile.Add_Package_Level_AmdSec_Writer_Config(rightsSection); dcProfile.Add_Package_Level_AmdSec_Writer_Config(sobekCMFileSection); dcProfile.Add_Division_Level_DmdSec_Writer_Config(dcSection); dcProfile.Add_File_Level_DmdSec_Writer_Config(dcSection); Add_METS_Writing_Profile(dcProfile); // Add the standard metadata mapper Mapping_Configs.Add(new Metadata_Mapping_Config("Standard Mapper", "SobekCM.Resource_Object.Mapping", "Standard_Bibliographic_Mapper", null )); }
/// <summary> Add a new file-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_File_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) return; if (NewConfig.ReaderWriterObject is iFile_dmdSec_ReaderWriter) fileLevelDmdSecWriterConfigs.Add(NewConfig); }
/// <summary> Add a new package-level dmdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Package_Level_DmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig.ReaderWriterObject is iPackage_dmdSec_ReaderWriter) packageLevelDmdSecWriterConfigs.Add(NewConfig); }
private static METS_Section_ReaderWriter_Config read_mets_section_readerwriter_config(XmlReader readerXml) { METS_Section_ReaderWriter_Config returnValue = new METS_Section_ReaderWriter_Config(); readerXml.Read(); // Move to and save the basic attributes if (readerXml.MoveToAttribute("ID")) returnValue.ID = readerXml.Value; if (readerXml.MoveToAttribute("label")) returnValue.Label = readerXml.Value; if (readerXml.MoveToAttribute("namespace")) returnValue.Code_Namespace = readerXml.Value; if (readerXml.MoveToAttribute("class")) returnValue.Code_Class = readerXml.Value; if (readerXml.MoveToAttribute("assembly")) returnValue.Code_Assembly = readerXml.Value; if ((readerXml.MoveToAttribute("isActive")) && (readerXml.Value.ToLower() == "false")) { returnValue.isActive = false; } if (readerXml.MoveToAttribute("section")) { switch (readerXml.Value.ToLower()) { case "amdsec": returnValue.METS_Section = METS_Section_Type_Enum.amdSec; if (readerXml.MoveToAttribute("amdSecType")) { switch( readerXml.Value.ToLower()) { case "techmd": returnValue.amdSecType = METS_amdSec_Type_Enum.techMD; break; case "rightsmd": returnValue.amdSecType = METS_amdSec_Type_Enum.rightsMD; break; case "digiprovmd": returnValue.amdSecType = METS_amdSec_Type_Enum.digiProvMD; break; case "sourcemd": returnValue.amdSecType = METS_amdSec_Type_Enum.sourceMD; break; } } break; case "dmdsec": returnValue.METS_Section = METS_Section_Type_Enum.dmdSec; break; } } while (readerXml.Read()) { if (readerXml.NodeType == XmlNodeType.Element) { switch (readerXml.Name.ToLower()) { case "mapping": METS_Section_ReaderWriter_Mapping newMapping = new METS_Section_ReaderWriter_Mapping(); if (readerXml.MoveToAttribute("mdtype")) newMapping.MD_Type = readerXml.Value; if (readerXml.MoveToAttribute("othermdtype")) newMapping.Other_MD_Type = readerXml.Value; if (readerXml.MoveToAttribute("label")) newMapping.Label = readerXml.Value; if ((readerXml.MoveToAttribute("isDefault")) && (readerXml.Value.ToLower() == "true")) newMapping.isDefault = true; returnValue.Add_Mapping(newMapping); break; case "option": string key = String.Empty; string value = String.Empty; if (readerXml.MoveToAttribute("key")) key = readerXml.Value; if (readerXml.MoveToAttribute("value")) value = readerXml.Value; if ((key.Length > 0) && (value.Length > 0)) returnValue.Add_Option(key, value); break; } } } return returnValue; }
/// <summary> Clears the current metadata configuration and restores all the values /// to the default reader/writers and profiles </summary> public static void Set_Default_Values() { Clear(); // Add the dublin core file reader/writer Metadata_File_ReaderWriter_Config DC_File = new Metadata_File_ReaderWriter_Config(); DC_File.MD_Type = Metadata_File_Type_Enum.DC; DC_File.Label = "Dublin Core File"; DC_File.canRead = true; DC_File.canWrite = true; DC_File.Code_Assembly = String.Empty; DC_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; DC_File.Code_Class = "DC_File_ReaderWriter"; DC_File.Add_Option("RDF_Style", "false"); Add_Metadata_File_ReaderWriter(DC_File); // Add the dublin core file reader/writer Metadata_File_ReaderWriter_Config DC_File2 = new Metadata_File_ReaderWriter_Config(); DC_File2.MD_Type = Metadata_File_Type_Enum.DC; DC_File2.Label = "Dublin Core File (RDF Style)"; DC_File2.canRead = false; DC_File2.canWrite = true; DC_File2.Code_Assembly = String.Empty; DC_File2.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; DC_File2.Code_Class = "DC_File_ReaderWriter"; DC_File2.Add_Option("RDF_Style", "true"); Add_Metadata_File_ReaderWriter(DC_File2); // Add the EAD file reader/writer Metadata_File_ReaderWriter_Config EAD_File = new Metadata_File_ReaderWriter_Config(); EAD_File.MD_Type = Metadata_File_Type_Enum.EAD; EAD_File.Label = "Encoded Archival Descriptor (EAD)"; EAD_File.canRead = true; EAD_File.canWrite = false; EAD_File.Code_Assembly = String.Empty; EAD_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; EAD_File.Code_Class = "EAD_File_ReaderWriter"; EAD_File.Add_Option("Analyze_Description", "true"); Add_Metadata_File_ReaderWriter(EAD_File); // Add the MARC21 file reader/writer Metadata_File_ReaderWriter_Config MARC21_File = new Metadata_File_ReaderWriter_Config(); MARC21_File.MD_Type = Metadata_File_Type_Enum.MARC21; MARC21_File.Label = "MARC21 Single Record File"; MARC21_File.canRead = true; MARC21_File.canWrite = true; MARC21_File.Code_Assembly = String.Empty; MARC21_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; MARC21_File.Code_Class = "Marc21_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(MARC21_File); // Add the MarcXML file reader/writer Metadata_File_ReaderWriter_Config MARCXML_File = new Metadata_File_ReaderWriter_Config(); MARCXML_File.MD_Type = Metadata_File_Type_Enum.MARCXML; MARCXML_File.Label = "MarcXML Single Record File"; MARCXML_File.canRead = true; MARCXML_File.canWrite = true; MARCXML_File.Code_Assembly = String.Empty; MARCXML_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; MARCXML_File.Code_Class = "MarcXML_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(MARCXML_File); // Add the METS file reader/writer Metadata_File_ReaderWriter_Config METS_File = new Metadata_File_ReaderWriter_Config(); METS_File.MD_Type = Metadata_File_Type_Enum.METS; METS_File.Label = "Metadata Encoding and Transmission Standard (METS)"; METS_File.canRead = true; METS_File.canWrite = true; METS_File.Code_Assembly = String.Empty; METS_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; METS_File.Code_Class = "METS_File_ReaderWriter"; METS_File.Add_Option("Minimize_File_Info", "false"); METS_File.Add_Option("Support_Divisional_dmdSec_amdSec", "true"); Add_Metadata_File_ReaderWriter(METS_File); // Add the MODS file reader/writer Metadata_File_ReaderWriter_Config MODS_File = new Metadata_File_ReaderWriter_Config(); MODS_File.MD_Type = Metadata_File_Type_Enum.MODS; MODS_File.Label = "Metadata Object Description Standard (MODS)"; MODS_File.canRead = true; MODS_File.canWrite = true; MODS_File.Code_Assembly = String.Empty; MODS_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; MODS_File.Code_Class = "MODS_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(MODS_File); // Add the INFO file reader/writer Metadata_File_ReaderWriter_Config INFO_File = new Metadata_File_ReaderWriter_Config(); INFO_File.MD_Type = Metadata_File_Type_Enum.OTHER; INFO_File.Other_MD_Type = "INFO"; INFO_File.Label = "Legacy UF INFO Files"; INFO_File.canRead = true; INFO_File.canWrite = false; INFO_File.Code_Assembly = String.Empty; INFO_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; INFO_File.Code_Class = "INFO_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(INFO_File); // Add the MXF file reader/writer Metadata_File_ReaderWriter_Config MXF_File = new Metadata_File_ReaderWriter_Config(); MXF_File.MD_Type = Metadata_File_Type_Enum.OTHER; MXF_File.Other_MD_Type = "MXF"; MXF_File.Label = "MXF File"; MXF_File.canRead = true; MXF_File.canWrite = false; MXF_File.Code_Assembly = String.Empty; MXF_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; MXF_File.Code_Class = "MXF_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(MXF_File); // Add the OAI-PMH file reader/writer Metadata_File_ReaderWriter_Config OAI_File = new Metadata_File_ReaderWriter_Config(); OAI_File.MD_Type = Metadata_File_Type_Enum.OTHER; OAI_File.Other_MD_Type = "OAI"; OAI_File.Label = "OAI-PMH File"; OAI_File.canRead = false; OAI_File.canWrite = true; OAI_File.Code_Assembly = String.Empty; OAI_File.Code_Namespace = "SobekCM.Resource_Object.Metadata_File_ReaderWriters"; OAI_File.Code_Class = "OAI_File_ReaderWriter"; Add_Metadata_File_ReaderWriter(OAI_File); // Add the MODS section reader/writer METS_Section_ReaderWriter_Config MODS_Section = new METS_Section_ReaderWriter_Config(); MODS_Section.ID = "MODS"; MODS_Section.Label = "MODS"; MODS_Section.Code_Assembly = String.Empty; MODS_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; MODS_Section.Code_Class = "MODS_METS_dmdSec_ReaderWriter"; MODS_Section.isActive = true; MODS_Section.METS_Section = METS_Section_Type_Enum.dmdSec; MODS_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("MODS", "MODS Metadata", true)); MODS_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("Metadata Object Description Standard", false )); Add_METS_Section_ReaderWriter(MODS_Section); // Add the dublin core section reader/writer METS_Section_ReaderWriter_Config DC_Section = new METS_Section_ReaderWriter_Config(); DC_Section.ID = "DC"; DC_Section.Label = "Dublin Core"; DC_Section.Code_Assembly = String.Empty; DC_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; DC_Section.Code_Class = "DC_METS_dmdSec_ReaderWriter"; DC_Section.isActive = true; DC_Section.METS_Section = METS_Section_Type_Enum.dmdSec; DC_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("DC", "Dublin Core Metadata", true)); DC_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("DUBLIN CORE", false)); Add_METS_Section_ReaderWriter(DC_Section); // Add the MarcXML section reader/writer METS_Section_ReaderWriter_Config MarcXML_Section = new METS_Section_ReaderWriter_Config(); MarcXML_Section.ID = "MarcXML"; MarcXML_Section.Label = "MarcXML"; MarcXML_Section.Code_Assembly = String.Empty; MarcXML_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; MarcXML_Section.Code_Class = "MarcXML_METS_dmdSec_ReaderWriter"; MarcXML_Section.isActive = true; MarcXML_Section.METS_Section = METS_Section_Type_Enum.dmdSec; MarcXML_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("MARCXML", "MarcXML Metadata", true)); Add_METS_Section_ReaderWriter(MarcXML_Section); // Add the DarwinCore section reader/writer METS_Section_ReaderWriter_Config Darwin_Section = new METS_Section_ReaderWriter_Config(); Darwin_Section.ID = "DARWIN"; Darwin_Section.Label = "DarwinCore"; Darwin_Section.Code_Assembly = String.Empty; Darwin_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; Darwin_Section.Code_Class = "DarwinCore_METS_dmdSec_ReaderWriter"; Darwin_Section.isActive = true; Darwin_Section.METS_Section = METS_Section_Type_Enum.dmdSec; Darwin_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DARWINCORE", "DarwinCore Zoological Taxonomic Information", true)); Add_METS_Section_ReaderWriter(Darwin_Section); // Add the ETD section reader/writer METS_Section_ReaderWriter_Config ETD_Section = new METS_Section_ReaderWriter_Config(); ETD_Section.ID = "ETD"; ETD_Section.Label = "ETD"; ETD_Section.Code_Assembly = String.Empty; ETD_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; ETD_Section.Code_Class = "ETD_METS_dmdSec_ReaderWriter"; ETD_Section.isActive = true; ETD_Section.METS_Section = METS_Section_Type_Enum.dmdSec; ETD_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "PALMM", "PALMM ETD Extension", true)); ETD_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "PALMM Extensions", "PALMM ETD Extension", false)); Add_METS_Section_ReaderWriter(ETD_Section); // Add the SobekCM section reader/writer METS_Section_ReaderWriter_Config SobekCM_Section = new METS_Section_ReaderWriter_Config(); SobekCM_Section.ID = "SOBEK1"; SobekCM_Section.Label = "SobekCM"; SobekCM_Section.Code_Assembly = String.Empty; SobekCM_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; SobekCM_Section.Code_Class = "SobekCM_METS_dmdSec_ReaderWriter"; SobekCM_Section.isActive = true; SobekCM_Section.METS_Section = METS_Section_Type_Enum.dmdSec; SobekCM_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEKCM", "SobekCM Custom Metadata", true)); SobekCM_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "UFDC", "SobekCM Custom Metadata", false)); SobekCM_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DLOC", "SobekCM Custom Metadata", false)); Add_METS_Section_ReaderWriter(SobekCM_Section); // Add the SobekCM Map section reader/writer METS_Section_ReaderWriter_Config SobekCM_Map_Section = new METS_Section_ReaderWriter_Config(); SobekCM_Map_Section.ID = "SOBEK2"; SobekCM_Map_Section.Label = "SobekCM Map"; SobekCM_Map_Section.Code_Assembly = String.Empty; SobekCM_Map_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; SobekCM_Map_Section.Code_Class = "SobekCM_Map_METS_dmdSec_ReaderWriter"; SobekCM_Map_Section.isActive = true; SobekCM_Map_Section.METS_Section = METS_Section_Type_Enum.dmdSec; SobekCM_Map_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEK_MAP", "SobekCM Custom Map Authority Metadata", true)); SobekCM_Map_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "UFDC_MAP", "SobekCM Custom Map Authority Metadata", false)); Add_METS_Section_ReaderWriter(SobekCM_Map_Section); // Add the DAITSS section reader/writer METS_Section_ReaderWriter_Config DAITSS_Section = new METS_Section_ReaderWriter_Config(); DAITSS_Section.ID = "DAITSS"; DAITSS_Section.Label = "DAITSS"; DAITSS_Section.Code_Assembly = String.Empty; DAITSS_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; DAITSS_Section.Code_Class = "DAITSS_METS_amdSec_ReaderWriter"; DAITSS_Section.isActive = true; DAITSS_Section.METS_Section = METS_Section_Type_Enum.amdSec; DAITSS_Section.amdSecType = METS_amdSec_Type_Enum.digiProvMD; DAITSS_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "DAITSS", "DAITSS Archiving Information", true)); Add_METS_Section_ReaderWriter(DAITSS_Section); // Add the RightsMD section reader/writer METS_Section_ReaderWriter_Config Rights_Section = new METS_Section_ReaderWriter_Config(); Rights_Section.ID = "RIGHTS"; Rights_Section.Label = "RightsMD"; Rights_Section.Code_Assembly = String.Empty; Rights_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; Rights_Section.Code_Class = "RightsMD_METS_amdSec_ReaderWriter"; Rights_Section.isActive = true; Rights_Section.METS_Section = METS_Section_Type_Enum.amdSec; Rights_Section.amdSecType = METS_amdSec_Type_Enum.rightsMD; Rights_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "RIGHTSMD", "Rights Information", true)); Add_METS_Section_ReaderWriter(Rights_Section); // Add the SobekCM fileinfo section reader/writer METS_Section_ReaderWriter_Config SobekCM_File_Section = new METS_Section_ReaderWriter_Config(); SobekCM_File_Section.ID = "SOBEK3"; SobekCM_File_Section.Label = "SobekCM FileInfo"; SobekCM_File_Section.Code_Assembly = String.Empty; SobekCM_File_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; SobekCM_File_Section.Code_Class = "SobekCM_FileInfo_METS_amdSec_ReaderWriter"; SobekCM_File_Section.isActive = true; SobekCM_File_Section.METS_Section = METS_Section_Type_Enum.amdSec; SobekCM_File_Section.amdSecType = METS_amdSec_Type_Enum.techMD; SobekCM_File_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "SOBEKCM", "SobekCM File Technical Details", true)); Add_METS_Section_ReaderWriter(SobekCM_File_Section); // Add the GML section reader/writer METS_Section_ReaderWriter_Config GML_Section = new METS_Section_ReaderWriter_Config(); GML_Section.ID = "GML"; GML_Section.Label = "GML Coordinate"; GML_Section.Code_Assembly = String.Empty; GML_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; GML_Section.Code_Class = "GML_METS_dmdSec_ReaderWriter"; GML_Section.isActive = true; GML_Section.METS_Section = METS_Section_Type_Enum.dmdSec; GML_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "GML", "Geographic Markup Language", true)); Add_METS_Section_ReaderWriter(GML_Section); // Add the IEEE-LOM section reader/writer METS_Section_ReaderWriter_Config LOM_Section = new METS_Section_ReaderWriter_Config(); LOM_Section.ID = "IEEE-LOM"; LOM_Section.Label = "IEEE-LOM: Learning Object Metadata"; LOM_Section.Code_Assembly = String.Empty; LOM_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; LOM_Section.Code_Class = "LOM_IEEE_METS_dmdSec_ReaderWriter"; LOM_Section.isActive = true; LOM_Section.METS_Section = METS_Section_Type_Enum.dmdSec; LOM_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "IEEE-LOM", "Learning Object Metadata", true)); Add_METS_Section_ReaderWriter(LOM_Section); // Add the VRACore section reader/writer METS_Section_ReaderWriter_Config VRA_Section = new METS_Section_ReaderWriter_Config(); VRA_Section.ID = "VRACORE"; VRA_Section.Label = "VRACore Visual Resource Metadata"; VRA_Section.Code_Assembly = String.Empty; VRA_Section.Code_Namespace = "SobekCM.Resource_Object.METS_Sec_ReaderWriters"; VRA_Section.Code_Class = "VRACore_METS_dmdSec_ReaderWriter"; VRA_Section.isActive = true; VRA_Section.METS_Section = METS_Section_Type_Enum.dmdSec; VRA_Section.Add_Mapping(new METS_Section_ReaderWriter_Mapping("OTHER", "VRACore", "VRACore Visual Resource Metadata", true)); Add_METS_Section_ReaderWriter(VRA_Section); // Add the default METS writig profile METS_Writing_Profile defaultProfile = new METS_Writing_Profile(); defaultProfile.Default_Profile = true; defaultProfile.Profile_Name = "Complete MODS Writer"; defaultProfile.Profile_Description = "This profile includes almost all of the possible sub-writers but the main bibliographic data is stored in MODS"; defaultProfile.Add_Package_Level_DmdSec_Writer_Config(MODS_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(SobekCM_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(SobekCM_Map_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(Darwin_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(ETD_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(GML_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(LOM_Section); defaultProfile.Add_Package_Level_DmdSec_Writer_Config(VRA_Section); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(DAITSS_Section); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(Rights_Section); defaultProfile.Add_Package_Level_AmdSec_Writer_Config(SobekCM_File_Section); // defaultProfile.Add_Division_Level_DmdSec_Writer_Config(MODS_Section); defaultProfile.Add_Division_Level_DmdSec_Writer_Config(GML_Section); Add_METS_Writing_Profile(defaultProfile); // Add the default METS writig profile METS_Writing_Profile dcProfile = new METS_Writing_Profile(); dcProfile.Default_Profile = false; dcProfile.Profile_Name = "Simple Dublin Core Writer"; dcProfile.Profile_Description = "This is a simplified profile which uses Dublin Core to describe all levels of the METS"; dcProfile.Add_Package_Level_DmdSec_Writer_Config(DC_Section); dcProfile.Add_Package_Level_AmdSec_Writer_Config(DAITSS_Section); dcProfile.Add_Package_Level_AmdSec_Writer_Config(Rights_Section); dcProfile.Add_Package_Level_AmdSec_Writer_Config(SobekCM_File_Section); dcProfile.Add_Division_Level_DmdSec_Writer_Config(DC_Section); dcProfile.Add_File_Level_DmdSec_Writer_Config(DC_Section); Add_METS_Writing_Profile(dcProfile); }
/// <summary> Adds a new METS section reader/writer configuration </summary> /// <param name="New_ReaderWriter"> New METS section reader/writer</param> /// <remarks> This instantiates the actual reader/writer class to determine which interfaces /// are implemeneted. </remarks> public static void Add_METS_Section_ReaderWriter(METS_Section_ReaderWriter_Config New_ReaderWriter) { // Add to list of all METS sections readers/writers metsSectionReaderWriterConfigs.Add(New_ReaderWriter); // Create an instance of this reader/writer from the config if (!New_ReaderWriter.Create_ReaderWriterObject()) return; object testObj = New_ReaderWriter.ReaderWriterObject; // Set flag defaults bool isAmdPackage = false; bool isDmdPackage = false; bool isDmdDivision = false; bool isAmdDivision = false; bool isDmdFile = false; bool isAmdFile = false; // Test for interface inheritence if (testObj is iPackage_amdSec_ReaderWriter) isAmdPackage = true; if (testObj is iPackage_dmdSec_ReaderWriter) isDmdPackage = true; if (testObj is iDivision_dmdSec_ReaderWriter) isDmdDivision = true; if (testObj is iDivision_amdSec_ReaderWriter) isAmdDivision = true; if (testObj is iFile_dmdSec_ReaderWriter) isDmdFile = true; if (testObj is iFile_amdSec_ReaderWriter) isAmdFile = true; // Step through all the mappings and add to the dictionaries foreach (METS_Section_ReaderWriter_Mapping thisMapping in New_ReaderWriter.Mappings) { // Create the dictionay key for this mapping Tuple<string, string> thisMappingKey = new Tuple<string, string>(thisMapping.MD_Type.ToUpper(), thisMapping.Other_MD_Type.ToUpper()); // Add to the appropriate dictionary if (isAmdPackage) packageAmdSecDictionary[thisMappingKey] = (iPackage_amdSec_ReaderWriter)testObj; if (isDmdDivision) divisionDmdSecDictionary[thisMappingKey] = (iDivision_dmdSec_ReaderWriter)testObj; if (isDmdPackage) packageDmdSecDictionary[thisMappingKey] = (iPackage_dmdSec_ReaderWriter)testObj; if (isAmdDivision) divisionAmdSecDictionary[thisMappingKey] = (iDivision_amdSec_ReaderWriter)testObj; if (isDmdFile) fileDmdSecDictionary[thisMappingKey] = (iFile_dmdSec_ReaderWriter)testObj; if (isAmdFile) fileAmdSecDictionary[thisMappingKey] = (iFile_amdSec_ReaderWriter)testObj; } }
private void add_metadata_single_config(TextWriter Output, METS_Section_ReaderWriter_Config Config, bool onlyShowDefaultMd) { Output.WriteLine(" <tr>"); if (Config.isActive) Output.WriteLine(" <td class=\"sbkSeav_TableCenterCell\"><img src=\"" + Static_Resources_Gateway.Checkmark2_Png + "\" alt=\"yes\" /></td>"); else Output.WriteLine(" <td class=\"sbkSeav_TableCenterCell\"><img src=\"" + Static_Resources_Gateway.Checkmark_Png + "\" alt=\"no\" /></td>"); // Output.WriteLine(" <td>" + config.ID + "</td>"); Output.WriteLine(" <td>" + Config.Label + "</td>"); // Add all the mappings (or only the default) if (onlyShowDefaultMd) { if (Config.Default_Mapping != null) { if ( !String.IsNullOrEmpty(Config.Default_Mapping.Other_MD_Type)) Output.WriteLine(" <td>" + Config.Default_Mapping.Other_MD_Type + "</td>"); else Output.WriteLine(" <td>" + Config.Default_Mapping.MD_Type + "</td>"); } else { Output.WriteLine(" <td></td>"); } } else { Output.WriteLine(" <td>"); // Start with the default METS_Section_ReaderWriter_Mapping defaultMapping = Config.Default_Mapping; if (defaultMapping != null) { if (!String.IsNullOrEmpty(defaultMapping.Other_MD_Type)) Output.WriteLine(" " + defaultMapping.Other_MD_Type + "<br />"); else Output.WriteLine(" " + defaultMapping.MD_Type + "<br />"); } foreach (METS_Section_ReaderWriter_Mapping mapping in Config.Mappings) { if ((defaultMapping == null) || (defaultMapping != mapping)) { if (!String.IsNullOrEmpty(mapping.Other_MD_Type)) Output.WriteLine(" " + mapping.Other_MD_Type + "<br />"); else Output.WriteLine(" " + mapping.MD_Type + "<br />"); } } Output.WriteLine(" </td>"); } // Add the METS sections switch (Config.METS_Section) { case METS_Section_Type_Enum.DmdSec: Output.WriteLine(" <td>dmdSec</td>"); break; case METS_Section_Type_Enum.AmdSec: switch (Config.AmdSecType) { case METS_amdSec_Type_Enum.DigiProvMD: Output.WriteLine(" <td>amdSec ( digiProvMD )</td>"); break; case METS_amdSec_Type_Enum.RightsMD: Output.WriteLine(" <td>amdSec ( rightsMD )</td>"); break; case METS_amdSec_Type_Enum.SourceMD: Output.WriteLine(" <td>amdSec ( sourceMD )</td>"); break; case METS_amdSec_Type_Enum.TechMD: Output.WriteLine(" <td>amdSec ( techMD )</td>"); break; default: Output.WriteLine(" <td>amdSec </td>"); break; } break; } if (!String.IsNullOrEmpty(Config.Code_Assembly)) Output.WriteLine(" <td>" + Config.Code_Namespace + "." + Config.Code_Class + " ( " + Config.Code_Assembly + " )</td>"); else Output.WriteLine(" <td>" + (Config.Code_Namespace + "." + Config.Code_Class).Replace("SobekCM.Resource_Object.METS_Sec_ReaderWriters.","") + "</td>"); //if (Config.Options == null) // Output.WriteLine(" <td></td>"); //else //{ // Output.WriteLine(" <td>"); // foreach (StringKeyValuePair thisOption in Config.Options) // { // Output.WriteLine(" " + thisOption.Key + " = " + thisOption.Value + "<br />"); // } // Output.WriteLine(" </td>"); //} Output.WriteLine(" </tr>"); }
/// <summary> Add a new division-level amdSec reader/writer configuration </summary> /// <param name="NewConfig"> New METS section reader writer configuration </param> public void Add_Division_Level_AmdSec_Writer_Config(METS_Section_ReaderWriter_Config NewConfig) { if (NewConfig == null) return; if (NewConfig.ReaderWriterObject is iDivision_amdSec_ReaderWriter) divisionLevelAmdSecWriterConfigs.Add(NewConfig); }