module ADIWG::Mdtranslator::Readers::Fgdc
Constants
- VERSION
Public Class Methods
readFile(file, hResponseObj)
click to toggle source
# File lib/adiwg/mdtranslator/readers/fgdc/fgdc_reader.rb, line 17 def self.readFile(file, hResponseObj) # add FGDC reader version hResponseObj[:readerVersionUsed] = ADIWG::Mdtranslator::Readers::Fgdc::VERSION # receive XML file if file.nil? || file == '' hResponseObj[:readerStructureMessages] << 'ERROR: XML file is missing' hResponseObj[:readerStructurePass] = false return {} end # file must be well formed XML begin xDoc = Nokogiri::XML(file) { |form| form.strict } rescue Nokogiri::XML::SyntaxError => err hResponseObj[:readerStructureMessages] << 'ERROR: XML file is not well formed' hResponseObj[:readerStructureMessages] << err.to_s hResponseObj[:readerStructurePass] = false return {} end # file must contain an fgdc <metadata> tag xMetadata = xDoc.xpath('/metadata') if xMetadata.empty? hResponseObj[:readerValidationMessages] << 'ERROR: FGDC file did not contain a <metadata> tag' hResponseObj[:readerValidationPass] = false return {} end # load fgdc file into internal object return Fgdc.unpack(xDoc, hResponseObj) end