class ADIWG::Mdtranslator::Writers::Iso19115_1::LI_Lineage
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_lineage.rb, line 20 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hLineage, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_lineage.rb, line 25 def writeXML(hLineage, inContext = nil) # classes used scopeClass = MD_Scope.new(@xml, @hResponseObj) citationClass = CI_Citation.new(@xml, @hResponseObj) sourceClass = Source.new(@xml, @hResponseObj) processClass = ProcessStep.new(@xml, @hResponseObj) outContext = 'resource lineage' outContext = inContext + ' resource lineage' unless inContext.nil? @xml.tag!('mrl:LI_Lineage') do # lineage - statement unless hLineage[:statement].nil? @xml.tag!('mrl:statement') do @xml.tag!('gco:CharacterString', hLineage[:statement]) end end if hLineage[:statement].nil? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:statement') end # lineage - scope {MD_Scope} unless hLineage[:resourceScope].empty? @xml.tag!('mrl:scope') do scopeClass.writeXML(hLineage[:resourceScope], outContext) end end if hLineage[:resourceScope].empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:scope') end # lineage - additional documentation [] {CI_Citation} aDocuments = hLineage[:lineageCitation] aDocuments.each do |hDocument| @xml.tag!('mrl:additionalDocumentation') do citationClass.writeXML(hDocument) end end if aDocuments.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:additionalDocumentation') end # lineage - source [] {Source} aSources = hLineage[:dataSources] aSources.each do |hSource| @xml.tag!('mrl:source') do sourceClass.writeXML(hSource, outContext) end end if aSources.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:source') end # lineage - process step [] {ProcessStep} aSteps = hLineage[:processSteps] aSteps.each do |pStep| @xml.tag!('mrl:processStep') do processClass.writeXML(pStep, outContext) end end if aSteps.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:processStep') end end # mrl:LI_Lineage tag end