internal override void Add_MODS(TextWriter results) { if (titleInfo.Title.Length == 0) { return; } results.Write("<mods:subject"); base.Add_ID(results); if (!String.IsNullOrEmpty(language)) { results.Write(" lang=\"" + language + "\""); } if (!String.IsNullOrEmpty(authority)) { results.Write(" authority=\"" + authority + "\""); } results.Write(">\r\n"); titleInfo.Add_MODS(results); base.Add_Base_MODS(results); results.Write("</mods:subject>\r\n"); }
internal void Add_MODS(TextWriter Results) { if (((title != null) && (title.Title.Length > 0)) || ((identifiers != null) && (identifiers.Count > 0)) || (!String.IsNullOrEmpty(sobekcm_id)) || (!String.IsNullOrEmpty(url)) || (!String.IsNullOrEmpty(publisher)) || ((notes != null) && (notes.Count > 0)) || ((names != null) && (names.Count > 0))) { // Start this related item Results.Write("<mods:relatedItem"); Add_ID(Results); switch (Relationship) { case Related_Item_Type_Enum.Host: Results.Write(" type=\"host\""); break; case Related_Item_Type_Enum.OtherFormat: Results.Write(" type=\"otherFormat\""); break; case Related_Item_Type_Enum.OtherVersion: Results.Write(" type=\"otherVersion\""); break; case Related_Item_Type_Enum.Preceding: Results.Write(" type=\"preceding\""); break; case Related_Item_Type_Enum.Succeeding: Results.Write(" type=\"succeeding\""); break; } Results.WriteLine(">"); // Write all the identifiers if (identifiers != null) { foreach (Identifier_Info thisIdentifier in identifiers) { thisIdentifier.Add_MODS(Results); } } // Add the location information if (!String.IsNullOrEmpty(url)) { Results.Write("<mods:location>\r\n"); Results.Write("<mods:url"); if (!String.IsNullOrEmpty(displayLabel)) { Results.Write(" displayLabel=\"" + Convert_String_To_XML_Safe(displayLabel) + "\""); } Results.Write(">" + Convert_String_To_XML_Safe(url) + "</mods:url>\r\n"); Results.Write("</mods:location>\r\n"); } // Add the list of names if (names != null) { foreach (Name_Info thisName in names) { thisName.Add_MODS(false, Results); } } // Add the list of notes if (notes != null) { foreach (Note_Info thisNote in notes) { thisNote.Add_MODS(Results); } } // Add the publisher name, if that exists if ((!String.IsNullOrEmpty(publisher)) || (!String.IsNullOrEmpty(start_date)) || (!String.IsNullOrEmpty(end_date))) { Results.Write("<mods:Origin_Info>\r\n"); if (!String.IsNullOrEmpty(publisher)) { Results.Write("<mods:publisher>" + Convert_String_To_XML_Safe(publisher) + "</mods:publisher>\r\n"); } if (!String.IsNullOrEmpty(start_date)) { Results.Write("<mods:dateIssued point=\"start\">" + Convert_String_To_XML_Safe(start_date) + "</mods:dateIssued>\r\n"); } if (!String.IsNullOrEmpty(end_date)) { Results.Write("<mods:dateIssued point=\"end\">" + Convert_String_To_XML_Safe(end_date) + "</mods:dateIssued>\r\n"); } Results.Write("</mods:Origin_Info>\r\n"); } // Add the UFDC ID, if it exists if (!String.IsNullOrEmpty(sobekcm_id)) { Results.WriteLine("<mods:recordInfo>"); Results.WriteLine("<mods:recordIdentifier source=\"ufdc\">" + sobekcm_id + "</mods:recordIdentifier>"); Results.WriteLine("</mods:recordInfo>"); } // Write the title if ((title != null) && (title.Title.Length > 0)) { title.Add_MODS(Results); } // End this related item Results.WriteLine("</mods:relatedItem>"); } }