Sha256: dd98ebacb9248823b3009ddbc38ac38f50eb664bdadaf1db64a5509e3557a2ec

Contents?: true

Size: 1.17 KB

Versions: 20

Compression:

Stored size: 1.17 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

20 entries across 20 versions & 1 rubygems

Version Path
relaton-ogc-1.18.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.17.1 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.17.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.16.3 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.16.2 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.16.1 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.16.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.14.3 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.14.2 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.14.1 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.14.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.13.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.12.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.11.1 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.11.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.10.1 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.10.0 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.9.3 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.9.2 lib/relaton_ogc/xml_parser.rb
relaton-ogc-1.9.1 lib/relaton_ogc/xml_parser.rb