class ADIWG::Mdtranslator::Writers::Iso19115_2::RS_Identifier

Public Class Methods

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

Public Instance Methods

writeXML(hIdentifier, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rsIdentifier.rb, line 31
def writeXML(hIdentifier, inContext = nil)

   outContext = 'identifier'
   outContext = inContext + ' authority' unless inContext.nil?

   # classes used in MD_Metadata
   citationClass = CI_Citation.new(@xml, @hResponseObj)

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

      # identifier - authority {CI_Citation}
      hCitation = hIdentifier[:citation]
      unless hCitation.empty?
         @xml.tag!('gmd:authority') do
            citationClass.writeXML(hCitation, outContext)
         end
      end
      if hCitation.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:authority')
      end

      # identifier - code (required)
      s = hIdentifier[:identifier]
      unless s.nil?
         @xml.tag!('gmd:code') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil?
         @NameSpace.issueWarning(230, 'gmd:code', inContext)
      end

      # identifier - codeSpace
      s = hIdentifier[:namespace]
      unless s.nil?
         @xml.tag!('gmd:codeSpace') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:codeSpace')
      end

      # identifier - codeSpace version
      s = hIdentifier[:version]
      unless s.nil?
         @xml.tag!('gmd:version') do
            @xml.tag!('gco:CharacterString', s)
         end
      end
      if s.nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:version')
      end

   end # RS_Identifier tag
end