Sha256: 788af0d87c0891412322889eb233fc652bc90c864e0ed8b216ff709905da5902

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

module Rea
  module DBLP
    class EntryParser < Parser

      def parse_text(entry, source = nil)
        entries = []
        parse_xml(entry, source) do |doc|
          doc.xpath("/dblp/*").each do |entry|
            entries << send(:"parse_#{entry.name}", entry)
          end
        end
        entries
      end

      private

      ###

      def parse_inproceedings(entry)
        { :kind       => "inproceedings",
          :key        => work_key(entry.attribute("key").text),
          :title      => entry.xpath("title").text,
          :source     => entry.xpath("booktitle").text,
          :year       => entry.xpath("year").text,
          :authors    => entry.xpath("author").map(&:text) }
      end

      def parse_article(entry)
        { :kind       => "article",
          :key        => work_key(entry.attribute("key").text),
          :title      => entry.xpath("title").text,
          :source     => entry.xpath("journal").text,
          :year       => entry.xpath("year").text,
          :authors    => entry.xpath("author").map(&:text) }
      end

      def parse_queryentry(entry)
        { :kind       => entry.xpath('type').text,
          :key        => work_key(entry.attribute("key").text),
          :title      => entry.xpath("title").text,
          :source     => entry.xpath("venue").text,
          :year       => entry.xpath("year").text,
          :authors    => entry.xpath("authors/author").map(&:text) }
      end

    end # class EntryParser
  end # module DBLP
end # module Rea

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rea-0.0.1 lib/rea-dblp/rea/dblp/entry_parser.rb