Sha256: b170e8d6c3ff0b1287dcf4295cc8e735e50b6a6972357009e486e4f802aa5a39

Contents?: true

Size: 733 Bytes

Versions: 3

Compression:

Stored size: 733 Bytes

Contents

module RelatonIeee
  class XMLParser < RelatonBib::XMLParser
    class << self
      private

      # Override RelatonBib::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[:committee] = ext.xpath("./committee").map do |c|
          Committee.new(
            type: c[:type], name: c.at("name").text, chair: c.at("chair")&.text,
          )
        end
        data
      end

      # @param item_hash [Hash]
      # @return [RelatonIeee::IeeeBibliographicItem]
      def bib_item(item_hash)
        IeeeBibliographicItem.new item_hash
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/relaton-ieee-1.2.0/lib/relaton_ieee/xml_parser.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/relaton-ieee-1.2.0/lib/relaton_ieee/xml_parser.rb
relaton-ieee-1.2.0 lib/relaton_ieee/xml_parser.rb