marc.rb

Path: lib/marc.rb
Last Update: Thu Jun 30 21:16:39 -0400 2011

marc is a ruby library for reading and writing MAchine Readable Cataloging (MARC). More information about MARC can be found at <www.loc.gov/marc>.

USAGE

    require 'marc'

    # reading records from a batch file
    reader = MARC::Reader.new('marc.dat')
    for record in reader
      puts record['245']['a']
    end

    # creating a record
    record = MARC::Record.new()
    record.add_field(MARC::DataField.new('100', '0',  ' ', ['a', 'John Doe']))

    # writing a record
    writer = MARC::Writer.new('marc.dat')
    writer.write(record)
    writer.close()

    # writing a record as XML
    writer = MARC::XMLWriter.new('marc.xml')
    writer.write(record)
    writer.close()

    # Deal with non-standard control field tags
    MARC::Field.control_tags << 'FMT'
    record = MARC::Record.new()
    record.add_field(MARC::ControlField.new('FMT', 'Book')) # doesn't throw an error

[Validate]