class ADIWG::Mdtranslator::Writers::Iso19115_2::LI_Lineage

Public Class Methods

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

Public Instance Methods

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

   # classes used
   sourceClass = Source.new(@xml, @hResponseObj)
   processClass = ProcessStep.new(@xml, @hResponseObj)

   outContext = 'lineage'

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

      # lineage - statement
      unless hLineage[:statement].nil?
         @xml.tag!('gmd:statement') do
            @xml.tag!('gco:CharacterString', hLineage[:statement])
         end
      end
      if hLineage[:statement].nil? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:statement')
      end

      # lineage - process step [] {ProcessStep}
      aProcSteps = hLineage[:processSteps]
      aProcSteps.each do |hStep|
         @xml.tag!('gmd:processStep') do
            processClass.writeXML(hStep, outContext)
         end
      end
      if aProcSteps.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:processStep')
      end

      # lineage - source [] {Source}
      aSources = hLineage[:dataSources]
      aSources.each do |hSource|
         @xml.tag!('gmd:source') do
            sourceClass.writeXML(hSource, outContext)
         end
      end
      if aSources.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:source')
      end

   end # gmd:LI_Lineage tag
end