Sha256: f73acc30ff4644367e09aa0af9c449c9da4e17428b46506270c1e5356e6a399e
Contents?: true
Size: 1.15 KB
Versions: 9
Compression:
Stored size: 1.15 KB
Contents
require "nokogiri" module RelatonOgc class XMLParser < RelatonIsoBib::XMLParser class << self private # override RelatonIsoBib::IsoBibliographicItem.bib_item method # @param item_hash [Hash] # @return [RelatonOgc::OgcBibliographicItem] def bib_item(item_hash) OgcBibliographicItem.new item_hash end # Override RelatonIsoBib::XMLParser.item_data method. # @param item [Nokogiri::XML::Element] # @returtn [Hash] def item_data(item) data = super ext = item.at "./ext" return data unless ext data[:docsubtype] = ext.at("./docsubtype")&.text data end # @TODO Organization doesn't recreated # @param ext [Nokogiri::XML::Element] # @return [RelatonIsoBib::EditorialGroup] def fetch_editorialgroup(ext) eg = ext.at("./editorialgroup") return unless eg committe = eg&.at("committee")&.text sc = iso_subgroup eg&.at("subcommittee") wg = iso_subgroup eg&.at("workgroup") EditorialGroup.new( committee: committe, subcommittee: sc, workgroup: wg ) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems