class ADIWG::Mdtranslator::Writers::Iso19115_1::LI_Source
Public Class Methods
new(xml, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_liSource.rb, line 20 def initialize(xml, hResponseObj) @xml = xml @hResponseObj = hResponseObj end
Public Instance Methods
writeXML(hSource, inContext = nil)
click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_liSource.rb, line 25 def writeXML(hSource, inContext = nil) # classes used resolutionClass = MD_Resolution.new(@xml, @hResponseObj) referenceClass = MD_ReferenceSystem.new(@xml, @hResponseObj) citationClass = CI_Citation.new(@xml, @hResponseObj) scopeClass = MD_Scope.new(@xml, @hResponseObj) stepClass = ProcessStep.new(@xml, @hResponseObj) outContext = 'source' outContext = outContext + ' ' + hSource[:sourceId].to_s unless hSource[:sourceId].nil? outContext = inContext + ' source' unless inContext.nil? # source - id (tag attribute id="") attributes = {} s = hSource[:sourceId] unless s.nil? attributes = { id: s.gsub(/[^0-9A-Za-z]/,'') } end @xml.tag!('mrl:LI_Source', attributes) do # source - description unless hSource[:description].nil? @xml.tag!('mrl:description') do @xml.tag!('gco:CharacterString', hSource[:description]) end end if hSource[:description].nil? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:description') end # source - spatial resolution {MD_Resolution} unless hSource[:spatialResolution].empty? @xml.tag!('mrl:sourceSpatialResolution') do resolutionClass.writeXML(hSource[:spatialResolution], outContext) end end if hSource[:spatialResolution].empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:sourceSpatialResolution') end # source - reference system {MD_ReferenceSystem} unless hSource[:referenceSystem].empty? @xml.tag!('mrl:sourceReferenceSystem') do referenceClass.writeXML(hSource[:referenceSystem]) end end if hSource[:referenceSystem].empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:sourceReferenceSystem') end # source - citation {CI_Citation} unless hSource[:sourceCitation].empty? @xml.tag!('mrl:sourceCitation') do citationClass.writeXML(hSource[:sourceCitation], outContext) end end if hSource[:sourceCitation].empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:sourceCitation') end # source - metadata [] {CI_Citation} aCitations = hSource[:metadataCitations] aCitations.each do |hCitation| @xml.tag!('mrl:sourceMetadata') do citationClass.writeXML(hCitation, outContext) end end if aCitations.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:sourceMetadata') end # source - scope {MD_Scope} unless hSource[:scope].empty? @xml.tag!('mrl:scope') do scopeClass.writeXML(hSource[:scope], outContext) end end if hSource[:scope].empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:scope') end # source - process step [] {ProcessStep} aSteps = hSource[:sourceSteps] aSteps.each do |hStep| @xml.tag!('mrl:sourceStep') do stepClass.writeXML(hStep) end end if aSteps.empty? && @hResponseObj[:writerShowTags] @xml.tag!('mrl:sourceStep') end end # mrl:LI_Source tag end