class ADIWG::Mdtranslator::Writers::Iso19115_2::MD_Keywords

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb, line 27
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_2
end

Public Instance Methods

writeXML(hKeyword) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb, line 33
def writeXML(hKeyword)

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

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

      # keyword - keyword (required)
      aKeyObjects = hKeyword[:keywords]
      unless aKeyObjects.empty?
         aKeyObjects.each do |hKeyObj|
            keyword = hKeyObj[:keyword]
            unless keyword.nil?
               @xml.tag!('gmd:keyword') do
                  @xml.tag!('gco:CharacterString', keyword)
               end
            end
         end
      end
      if aKeyObjects.empty?
         @NameSpace.issueWarning(200, 'gmd:keyword')
      end

      # keyword - type {MD_KeywordTypeCode}
      s = hKeyword[:keywordType]
      unless s.nil?
         @xml.tag!('gmd:type') do
            codelistClass.writeXML('gmd', 'iso_keywordType', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:type')
      end

      # keyword - thesaurus {MD_KeywordTypeCode}
      hCitation = hKeyword[:thesaurus]
      unless hCitation.empty?
         @xml.tag!('gmd:thesaurusName') do
            citationClass.writeXML(hCitation, 'keyword thesaurus')
         end
      end
      if hCitation.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:thesaurusName')
      end

   end # gmd:MD_Keywords tag
end