/// <summary> Gets the complete (language agnostic) web skin, by web skin code </summary> /// <param name="Response"></param> /// <param name="UrlSegments"></param> /// <param name="QueryString"></param> /// <param name="Protocol"></param> /// <param name="IsDebug"></param> public void GetItemRdf(HttpResponse Response, List<string> UrlSegments, NameValueCollection QueryString, Microservice_Endpoint_Protocol_Enum Protocol, bool IsDebug) { if (Protocol == Microservice_Endpoint_Protocol_Enum.XML) { if (UrlSegments.Count > 1) { Custom_Tracer tracer = new Custom_Tracer(); string bibid = UrlSegments[1]; string vid = "00001"; if (UrlSegments.Count > 2) vid = UrlSegments[2]; // Get the current item first SobekCM_Item sobekItem = getSobekItem(bibid, vid, tracer); // If null, return if (sobekItem == null) return; string errorMessage; Dictionary<string, object> options_rdf = new Dictionary<string, object>(); options_rdf["DC_File_ReaderWriter:RDF_Style"] = true; DC_File_ReaderWriter rdfWriter = new DC_File_ReaderWriter(); rdfWriter.Write_Metadata(Response.Output, sobekItem, options_rdf, out errorMessage); } } }
/// <summary> Get the item in a standard XML format, such as dublin core, marcxml, etc.. </summary> /// <param name="Response"></param> /// <param name="UrlSegments"></param> /// <param name="QueryString"></param> /// <param name="Protocol"></param> /// <param name="IsDebug"></param> public void GetItemXml(HttpResponse Response, List<string> UrlSegments, NameValueCollection QueryString, Microservice_Endpoint_Protocol_Enum Protocol, bool IsDebug) { if (Protocol == Microservice_Endpoint_Protocol_Enum.XML) { if (UrlSegments.Count > 1) { Custom_Tracer tracer = new Custom_Tracer(); string format = UrlSegments[0]; string bibid = UrlSegments[1]; string vid = "00001"; if (UrlSegments.Count > 2) vid = UrlSegments[2]; // Get the current item first SobekCM_Item sobekItem = getSobekItem(bibid, vid, tracer); // If null, return if (sobekItem == null) return; string errorMessage; switch (format.ToLower()) { case "dc": DC_File_ReaderWriter dcWriter = new DC_File_ReaderWriter(); dcWriter.Write_Metadata(Response.Output, sobekItem, null, out errorMessage); break; case "rdf": Dictionary<string, object> options_rdf = new Dictionary<string, object>(); options_rdf["DC_File_ReaderWriter:RDF_Style"] = true; DC_File_ReaderWriter rdfWriter = new DC_File_ReaderWriter(); rdfWriter.Write_Metadata(Response.Output, sobekItem, options_rdf, out errorMessage); break; case "mods": MODS_File_ReaderWriter modsWriter = new MODS_File_ReaderWriter(); modsWriter.Write_Metadata(Response.Output, sobekItem, null, out errorMessage); break; case "marc": // Create the options dictionary used when saving information to the database, or writing MarcXML Dictionary<string, object> options = new Dictionary<string, object>(); if (Engine_ApplicationCache_Gateway.Settings.MarcGeneration != null) { options["MarcXML_File_ReaderWriter:MARC Cataloging Source Code"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Cataloging_Source_Code; options["MarcXML_File_ReaderWriter:MARC Location Code"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Location_Code; options["MarcXML_File_ReaderWriter:MARC Reproduction Agency"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Agency; options["MarcXML_File_ReaderWriter:MARC Reproduction Place"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.Reproduction_Place; options["MarcXML_File_ReaderWriter:MARC XSLT File"] = Engine_ApplicationCache_Gateway.Settings.MarcGeneration.XSLT_File; } options["MarcXML_File_ReaderWriter:System Name"] = Engine_ApplicationCache_Gateway.Settings.System.System_Name; options["MarcXML_File_ReaderWriter:System Abbreviation"] = Engine_ApplicationCache_Gateway.Settings.System.System_Abbreviation; MarcXML_File_ReaderWriter marcWriter = new MarcXML_File_ReaderWriter(); marcWriter.Write_Metadata(Response.Output, sobekItem, options, out errorMessage); break; } } } }