class ADIWG::Mdtranslator::Writers::Iso19115_2::MD_Medium

Public Class Methods

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

Public Instance Methods

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

   # classes used
   codelistClass = MD_Codelist.new(@xml, @hResponseObj)

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

      # medium - name {MD_MediumNameCode}
      hIdentifier = hMedium[:identifier]
      s = nil
      unless hIdentifier.empty?
         s = hIdentifier[:identifier]
         unless s.nil?
            @xml.tag!('gmd:name') do
               codelistClass.writeXML('gmd', 'iso_mediumName', s)
            end
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:name')
      end

      # medium - density {MB}
      s = hMedium[:density]
      unless s.nil?
         @xml.tag!('gmd:density') do
            @xml.tag!('gco:Real', s.to_s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:density')
      end

      # medium density units
      s = hMedium[:units]
      unless s.nil?
         s = s.downcase
         @xml.tag!('gmd:densityUnits') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:densityUnits')
      end

      # medium - volumes
      s = hMedium[:numberOfVolumes]
      unless s.nil?
         @xml.tag!('gmd:volumes') do
            @xml.tag!('gco:Integer', s.to_s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:volumes')
      end

      # medium - medium format code [] {MD_MediumFormatCode}
      aCode = hMedium[:mediumFormat]
      aCode.each do |code|
         @xml.tag!('gmd:mediumFormat') do
            codelistClass.writeXML('gmd', 'iso_mediumFormat', code)
         end
      end
      if aCode.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:mediumFormat')
      end

      # medium - note
      s = hMedium[:note]
      unless s.nil?
         @xml.tag!('gmd:mediumNote') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:mediumNote')
      end

   end # gmd:MD_Medium
end