Sha256: 0bf4f7eecfc4271dab7da69852c680b76c176d684c03077509e495cdec43aec2

Contents?: true

Size: 699 Bytes

Versions: 7

Compression:

Stored size: 699 Bytes

Contents

require "nokogiri"

module RelatonBsi
  class XMLParser < RelatonIsoBib::XMLParser
    class << self
      private

      # Override RelatonBib::XMLParser.item_data method.
      # @param isoitem [Nokogiri::XML::Element]
      # @returtn [Hash]
      def item_data(isoitem)
        data = super
        ext = isoitem.at "./ext"
        return data unless ext

        data[:price_code] = ext.at("./price-code")&.text
        data[:cen_processing] = ext.at("./cen-processing")&.text
        data
      end

      # @param item_hash [Hash]
      # @return [RelatonBsi::BsiBibliographicItem]
      def bib_item(item_hash)
        hash = BsiBibliographicItem.new **item_hash
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
relaton-bsi-1.8.4 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.8.3 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.8.2 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.8.1 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.8.0 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.7.pre2 lib/relaton_bsi/xml_parser.rb
relaton-bsi-1.7.pre1 lib/relaton_bsi/xml_parser.rb