Print

Print


Nice work Ross! Users of rubymarc might like to see the performance
enhancements that motivated you to do the nokogiri integration:

  http://paste.lisp.org/display/87529

!!!

//Ed

On Wed, Sep 23, 2009 at 10:51 PM, Ross Singer <[log in to unmask]> wrote:
> Hi everybody,
>
> Apologies for the crossposting.
>
> I wanted to let people know that Ruby MARC 0.3.0 was just released as
> a gem.  This version addresses the biggest complaint about Ruby MARC,
> which was the fact that it could only parse MARCXML with REXML, Ruby's
> native XML parser (which, if you've used it, you hate it).
>
> Now you can use Nokogiri (http://nokogiri.rubyforge.org/) or, if
> you're using JRuby, jrexml instead of REXML, if you want.
>
> This release *shouldn't* break anything.
>
> The rubyforge project is here:
> http://rubyforge.org/projects/marc
> The rdocs are here:
> http://marc.rubyforge.org/
> The source is here:
> http://marc.rubyforge.org/svn/
>
> To install:
> sudo gem install marc
>
> While I'm making MARC and Ruby related announcements, I'd like to
> point out a project I released a couple of weeks ago that sits on top
> of Ruby MARC, called enhanced-marc.  It's basically a domain specific
> language for working with the MARC fixed fields and providing a set of
> objects and methods to more easily parse what the record is
> describing.
>
> For example:
>
>  require 'enhanced_marc'
>
>  reader = MARC::Reader.new('marc.dat')
>
>  records = []
>
>  reader.each do | record |
>    records << record
>  end
>
>  >> records[0].class
>  => MARC::BookRecord
>
>  >> records[0].is_conference?
>  => false
>
>  >> records[0].is_manuscript?
>  => false
>
>  # Send a boolean true if you want human readable forms, rather than
> MARC codes.
>  >> records[0].literary_form(true)
>  => "Non-fiction"
>
>  >> records[0].nature_of_contents(true)
>  => ["Bibliography", "Catalog"]
>
>  >> records[1].class
>  => MARC::SoundRecord
>
>  >> records[1].composition_form(true)
>  => "Jazz"
>
>  >> records[2].class
>  => MARC::MapRecord
>
>  >> records[2].projection(true)
>  => ["Cylindrical", "Mercator"]
>
>  >> records[2].relief(true)
>  => ["Color"]
>
> The enhanced-marc project is here:
> http://github.com/rsinger/enhanced-marc
>
> To install it:
>  gem sources -a http://gems.github.com
>  sudo gem install rsinger-enhanced_marc
>
> Let me know if you have any problems or suggestions with either of these.
>
> Thanks!
> -Ross.
>