class ADIWG::Mdtranslator::Writers::Iso19115_1::MD_RangeDimension

Public Class Methods

new(xml, hResponseObj) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_rangeDimension.rb, line 17
def initialize(xml, hResponseObj)
   @xml = xml
   @hResponseObj = hResponseObj
   @NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_1
end

Public Instance Methods

writeXML(hAttribute, inContext = nil) click to toggle source
# File lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_rangeDimension.rb, line 23
def writeXML(hAttribute, inContext = nil)

   # classes used
   identifierClass = MD_Identifier.new(@xml, @hResponseObj)

   outContext = 'attribute'
   outContext = inContext + ' attribute' unless inContext.nil?

   # range dimension - sequence identifier {MemberName}
   haveSeqId = false
   haveSeqId = true unless hAttribute[:sequenceIdentifier].nil?
   haveSeqId = true unless hAttribute[:sequenceIdentifierType].nil?
   if haveSeqId
      @xml.tag!('mrc:sequenceIdentifier') do
         @xml.tag!('gco:MemberName') do

            unless hAttribute[:sequenceIdentifier].nil?
               @xml.tag!('gco:aName') do
                  @xml.tag!('gco:CharacterString', hAttribute[:sequenceIdentifier])
               end
            end
            if hAttribute[:sequenceIdentifier].nil?
               @NameSpace.issueWarning(350, 'gco:aName', outContext)
            end

            unless hAttribute[:sequenceIdentifierType].nil?
               @xml.tag!('gco:attributeType') do
                  @xml.tag!('gco:TypeName') do
                     @xml.tag!('gco:aName') do
                        @xml.tag!('gco:CharacterString', hAttribute[:sequenceIdentifierType])
                     end
                  end
               end
            end
            if hAttribute[:sequenceIdentifierType].nil?
               @NameSpace.issueWarning(351, 'gco:aName', outContext)
            end
         end
      end
   end
   if !haveSeqId && @hResponseObj[:writerShowTags]
      @xml.tag!('mrc:sequenceIdentifier')
   end

   # range dimension - description
   unless hAttribute[:attributeDescription].nil?
      @xml.tag!('mrc:description') do
         @xml.tag!('gco:CharacterString', hAttribute[:attributeDescription])
      end
   end
   if hAttribute[:attributeDescription].nil? && @hResponseObj[:writerShowTags]
      @xml.tag!('mrc:description')
   end

   # range dimension - name [] {MD_Identifier}
   aNames = hAttribute[:attributeIdentifiers]
   aNames.each do |hIdentifier|
      @xml.tag!('mrc:name') do
         identifierClass.writeXML(hIdentifier, outContext)
      end
   end
   if aNames.empty? && @hResponseObj[:writerShowTags]
      @xml.tag!('mrc:name')
   end

end