class ADIWG::Mdtranslator::Writers::Iso19115_2::MD_DigitalTransferOptions

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb, line 24
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
end

Public Instance Methods

writeXML(hOption) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb, line 29
def writeXML(hOption)

   # classes used
   olResClass = CI_OnlineResource.new(@xml, @hResponseObj)
   medClass = MD_Medium.new(@xml, @hResponseObj)

   outContext = 'transfer option'

   @xml.tag!('gmd:MD_DigitalTransferOptions') do

      # digital transfer options - units of distribution
      s = hOption[:unitsOfDistribution]
      unless s.nil?
         @xml.tag!('gmd:unitsOfDistribution') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:unitsOfDistribution')
      end

      # digital transfer options - transfer size {MB}
      s = hOption[:transferSize]
      unless s.nil?
         @xml.tag!('gmd:transferSize') do
            @xml.tag!('gco:Real', s.to_s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:transferSize')
      end

      # digital transfer options - online [] {CI_OnlineResource}
      aOnTranOpts = hOption[:onlineOptions]
      aOnTranOpts.each do |hOlOption|
         @xml.tag!('gmd:onLine') do
            olResClass.writeXML(hOlOption, outContext)
         end
      end
      if aOnTranOpts.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:onLine')
      end

      # digital transfer options - offline {MD_Medium}
      aOffTranOpt = hOption[:offlineOptions]
      unless aOffTranOpt.empty?
         hOffTranOpt = aOffTranOpt[0]
         unless hOffTranOpt.empty?
            @xml.tag!('gmd:offLine') do
               medClass.writeXML(hOffTranOpt)
            end
         end
      end
      if aOffTranOpt.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:offLine')
      end

   end # gmd:MD_DigitalTransferOptions tag
end