class ADIWG::Mdtranslator::Writers::Iso19115_2::DQ_Scope

Public Class Methods

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

Public Instance Methods

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

   # classes used
   codelistClass = MD_Codelist.new(@xml, @hResponseObj)
   extentClass = EX_Extent.new(@xml, @hResponseObj)
   descriptionClass = MD_ScopeDescription.new(@xml, @hResponseObj)

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

      # scope - level (required)
      s = hScope[:scopeCode]
      unless s.nil?
         @xml.tag!('gmd:level') do
            codelistClass.writeXML('gmd', 'iso_scope', s)
         end
      end
      if s.nil?
         @NameSpace.issueWarning(280, 'gmd:level', inContext)
      end

      # scope - extent [0] {EX_Extent}
      # ... only one extent allowed in ISO 19115-2
      aExtents = hScope[:extents]
      unless aExtents.empty?
         @xml.tag!('gmd:extent') do
            extentClass.writeXML(aExtents[0])
         end
      end
      if aExtents.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:extent')
      end

      # scope - level description [{MD_ScopeDescription}]
      # ... write gmd:levelDescription tag from class_scopeDescription
      aDescription = hScope[:scopeDescriptions]
      aDescription.each do |hDescription|
         descriptionClass.writeXML(hDescription)
      end
      if aDescription.empty? && @hResponseObj[:writerShowTags]
         @xml.tag!('gmd:levelDescription')
      end

   end # gmd:DQ_Scope tag
end