class ADIWG::Mdtranslator::Writers::Iso19115_1::MD_DigitalTransferOptions
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_transferOptions.rb, line 18 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hOption, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_transferOptions.rb, line 23 def writeXML(hOption, inContext = nil) # classes used olResClass = CI_OnlineResource.new(@xml, @hResponseObj) mediumClass = MD_Medium.new(@xml, @hResponseObj) formatClass = MD_Format.new(@xml, @hResponseObj) outContext = 'transfer option' outContext = inContext + ' transfer option' unless inContext.nil? @xml.tag!('mrd:MD_DigitalTransferOptions') do # digital transfer options - units of distribution unless hOption[:unitsOfDistribution].nil? @xml.tag!('mrd:unitsOfDistribution') do @xml.tag!('gco:CharacterString', hOption[:unitsOfDistribution]) end end if hOption[:unitsOfDistribution].nil? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:unitsOfDistribution') end # digital transfer options - transfer size {MB} unless hOption[:transferSize].nil? @xml.tag!('mrd:transferSize') do @xml.tag!('gco:Real', hOption[:transferSize].to_s) end end if hOption[:transferSize].nil? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:transferSize') end # digital transfer options - online [] {CI_OnlineResource} aOnlineOps = hOption[:onlineOptions] aOnlineOps.each do |hOlOption| @xml.tag!('mrd:onLine') do olResClass.writeXML(hOlOption, outContext) end end if aOnlineOps.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:onLine') end # digital transfer options - offline [] {MD_Medium} aOfflineOps = hOption[:offlineOptions] aOfflineOps.each do |hOffline| @xml.tag!('mrd:offLine') do mediumClass.writeXML(hOffline) end end if aOfflineOps.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:offLine') end # digital transfer options - transfer frequency {TM_PeriodDuration} hDuration = hOption[:transferFrequency] unless hDuration.empty? duration = AdiwgDateTimeFun.writeDuration(hDuration) @xml.tag!('mrd:transferFrequency') do @xml.tag!('gco:TM_PeriodDuration', duration) end end if hDuration.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:transferFrequency') end # digital transfer options - distribution format [] {MD_Format} aFormats = hOption[:distributionFormats] aFormats.each do |hFormat| @xml.tag!('mrd:distributionFormat') do formatClass.writeXML(hFormat) end end if aFormats.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrd:distributionFormat') end end # mrd:MD_DigitalTransferOptions tag end