marc4j4r 0.9.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +16 -0
- data/README.rdoc +4 -1
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/jars/{marc4j.jar → javamarc.jar} +0 -0
- data/lib/marc4j4r/controlfield.rb +1 -1
- data/lib/marc4j4r/datafield.rb +2 -6
- data/lib/marc4j4r/reader.rb +32 -6
- data/lib/marc4j4r/record.rb +9 -4
- data/lib/marc4j4r.rb +11 -1
- data/spec/alephsequentialreader_spec.rb +103 -0
- data/spec/bad.dat +1 -0
- data/spec/badbatch.dat +1 -0
- data/spec/badbatch.xml +13 -0
- data/spec/controlfield_spec.rb +2 -0
- data/spec/datafield_spec.rb +66 -0
- data/spec/errors.seq +118 -0
- data/spec/record_spec.rb +20 -1
- data/spec/three.seq +118 -0
- metadata +12 -5
data/CHANGES
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
1.0
|
2
|
+
Arbitrary decision that this is 1.0
|
3
|
+
Using javamarc.jar (fork of marc4j) from http://github.com/billdueber/javamarc
|
4
|
+
Including alephsequential reader (but not writer) and specs
|
5
|
+
Added code to Reader#each to deal with #errors object if provided by the
|
6
|
+
specific reader (right now, :permissivemarc and :alephsequential) and specs
|
7
|
+
to test
|
8
|
+
Added lots of specs
|
9
|
+
Fixed definition of class-level methods in Record. For some reason (I'm sure having to do with the
|
10
|
+
fact that they're aliased java classes), using 'def self.to_xml' doesn't work; need to use
|
11
|
+
'def Record.to_xml' instead
|
12
|
+
0.9.1
|
13
|
+
Updated to latest marc4j; changes involve character conversion
|
14
|
+
|
15
|
+
0.9.0
|
16
|
+
First real public release
|
data/README.rdoc
CHANGED
@@ -15,7 +15,9 @@ links for all the classes:
|
|
15
15
|
|
16
16
|
== Getting a MARC reader
|
17
17
|
|
18
|
-
marc4j4r provides three readers out of the box: :strictmarc (binary), :permissivemarc (:binary),
|
18
|
+
marc4j4r provides three readers out of the box: :strictmarc (binary), :permissivemarc (:binary), :marcxml (MARC-XML),
|
19
|
+
or :alephsequential (Ex Libris's AlephSequential format).
|
20
|
+
|
19
21
|
You can pass either a filename or an open IO object (either ruby or java.io.inputstream)
|
20
22
|
|
21
23
|
require 'marc4j4r'
|
@@ -26,6 +28,7 @@ You can pass either a filename or an open IO object (either ruby or java.io.inpu
|
|
26
28
|
permissivereader = MARC4J4R::Reader.new('test.mrc', :permissivemarc)
|
27
29
|
|
28
30
|
xmlreader = MARC4J4R::Reader.new('test.xml', :marcxml)
|
31
|
+
asreader = MARC4J4R::Reader.new('test.seq', :alephsequential)
|
29
32
|
|
30
33
|
# Or use a file object
|
31
34
|
|
data/Rakefile
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
Binary file
|
data/lib/marc4j4r/datafield.rb
CHANGED
@@ -13,11 +13,7 @@ module MARC4J4R
|
|
13
13
|
|
14
14
|
alias_method :oldinit, :initialize
|
15
15
|
def initialize(tag = nil, ind1 = ' ', ind2 = ' ')
|
16
|
-
|
17
|
-
self.oldinit(tag, ind1[0].ord, ind2[0].ord)
|
18
|
-
else
|
19
|
-
self.oldinit
|
20
|
-
end
|
16
|
+
self.oldinit(tag, ind1[0].ord, ind2[0].ord)
|
21
17
|
end
|
22
18
|
|
23
19
|
def controlField?
|
@@ -91,7 +87,7 @@ module MARC4J4R
|
|
91
87
|
end
|
92
88
|
|
93
89
|
# Is it a singleton?
|
94
|
-
|
90
|
+
unless code.is_a? Array
|
95
91
|
code = [code]
|
96
92
|
end
|
97
93
|
|
data/lib/marc4j4r/reader.rb
CHANGED
@@ -1,10 +1,33 @@
|
|
1
|
+
import 'org.marc4j.ErrorHandler'
|
2
|
+
require 'logger'
|
3
|
+
$LOG ||= Logger.new(STDERR)
|
4
|
+
|
1
5
|
module Java::OrgMarc4j::MarcReader
|
2
6
|
include Enumerable
|
3
7
|
|
4
8
|
# Return the next record, after calling #hashify on it
|
5
9
|
def each(hashify=true)
|
6
10
|
while self.hasNext
|
7
|
-
|
11
|
+
begin
|
12
|
+
r = self.next
|
13
|
+
# rescue Java::org.marc4j.MarcException => e
|
14
|
+
rescue org.marc4j.MarcException => e
|
15
|
+
unless self.methods.include? 'errors'
|
16
|
+
puts "#{e}"
|
17
|
+
raise e
|
18
|
+
end
|
19
|
+
self.errors.getErrors.each do |err|
|
20
|
+
case err.severity
|
21
|
+
when ErrorHandler::ERROR_TYPO, ErrorHandler::MINOR_ERROR, ErrorHandler::MAJOR_ERROR
|
22
|
+
$LOG.warn err.toString
|
23
|
+
when ErrorHandler::INFO
|
24
|
+
$LOG.info err.toString
|
25
|
+
when ErrorHandler::FATAL
|
26
|
+
$LOG.error err.toString
|
27
|
+
next # skip to the next record
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
8
31
|
r.hashify if hashify
|
9
32
|
yield r
|
10
33
|
end
|
@@ -13,14 +36,13 @@ end
|
|
13
36
|
|
14
37
|
|
15
38
|
module MARC4J4R
|
16
|
-
|
17
|
-
# First, add Enumerable to the interface
|
18
|
-
Java::org.marc4j.MarcReader.module_eval("include Enumerable")
|
19
|
-
|
39
|
+
|
20
40
|
class Reader
|
21
41
|
|
22
42
|
ENCODINGS = ['UTF-8', 'ISO-8859-1', 'MARC-8']
|
23
43
|
ENCODING_ALIASES = {:utf8 => 'UTF-8', :marc8 => 'MARC-8', :iso => 'ISO-8859-1'}
|
44
|
+
|
45
|
+
# @attr_reader [File] handle The handle of the File (or IO) object being read from
|
24
46
|
attr_reader :handle
|
25
47
|
|
26
48
|
# Get a marc reader of the appropriate type
|
@@ -57,14 +79,18 @@ module MARC4J4R
|
|
57
79
|
@handle = IOConvert.byteinstream(input)
|
58
80
|
case type
|
59
81
|
when :strictmarc then
|
82
|
+
Java::org.marc4j.MarcStreamReader.module_eval("include Enumerable")
|
60
83
|
return Java::org.marc4j.MarcStreamReader.new(@handle, encoding)
|
61
84
|
when :permissivemarc then
|
62
85
|
encoding ||= 'BESTGUESS'
|
86
|
+
Java::org.marc4j.MarcPermissiveStreamReader.module_eval("include Enumerable")
|
63
87
|
return Java::org.marc4j.MarcPermissiveStreamReader.new(@handle, true, true, encoding)
|
64
88
|
when :marcxml then
|
89
|
+
Java::org.marc4j.MarcXmlReader.module_eval("include Enumerable")
|
65
90
|
return Java::org.marc4j.MarcXmlReader.new(@handle)
|
66
91
|
when :alephsequential then
|
67
|
-
|
92
|
+
Java::org.marc4j.MarcAlephSequentialReader.module_eval("include Enumerable")
|
93
|
+
return Java::org.marc4j.MarcAlephSequentialReader.new(@handle)
|
68
94
|
else
|
69
95
|
raise ArgumentError, "Reader type #{type} illegal: must be :strictmarc, :permissivemarc, :marcxml, or :alephsequential"
|
70
96
|
end
|
data/lib/marc4j4r/record.rb
CHANGED
@@ -53,11 +53,12 @@ module MARC4J4R
|
|
53
53
|
end
|
54
54
|
|
55
55
|
# Set the leader
|
56
|
+
# @throw RuntimeError if leader is illegal
|
56
57
|
def leader= str
|
57
58
|
begin
|
58
59
|
self.set_leader Java::org.marc4j.marc.impl.LeaderImpl.new(str)
|
59
|
-
rescue java.lang.StringIndexOutOfBoundsException => e
|
60
|
-
|
60
|
+
rescue Java::java.lang.StringIndexOutOfBoundsException => e
|
61
|
+
raise RuntimeError.new("'#{str}' not a legal leader: #{e.message}")
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
@@ -197,7 +198,11 @@ module MARC4J4R
|
|
197
198
|
# Give a marc record in a string, turn it into an object
|
198
199
|
# @param String str The record as a MARC binary string
|
199
200
|
# @return MARC4J4R::Record The first record encoded in the string
|
200
|
-
|
201
|
+
#
|
202
|
+
# Note that the normal way of defining this class (self.from_string)
|
203
|
+
# didn't work; I assume it has something to do with the fact that
|
204
|
+
# it's actually jrst aliased to the Java class
|
205
|
+
def Record.from_string str
|
201
206
|
return MARC4J4R::Reader.new(StringIO.new(str)).first
|
202
207
|
end
|
203
208
|
|
@@ -205,7 +210,7 @@ module MARC4J4R
|
|
205
210
|
# Give a marc-xml record in a string, turn it into an object
|
206
211
|
# @param String str The record as a MARC-XML string
|
207
212
|
# @return MARC4J4R::Record The first record encoded in the string
|
208
|
-
def
|
213
|
+
def Record.from_xml_string str
|
209
214
|
return MARC4J4R::Reader.new(StringIO.new(str), :marcxml).first
|
210
215
|
end
|
211
216
|
|
data/lib/marc4j4r.rb
CHANGED
@@ -2,11 +2,21 @@ unless defined? JRUBY_VERSION
|
|
2
2
|
raise "Only works under JRUBY"
|
3
3
|
end
|
4
4
|
|
5
|
+
require 'logger'
|
6
|
+
$LOG ||= Logger.new(STDERR)
|
7
|
+
|
5
8
|
begin
|
6
9
|
include_class Java::org.marc4j.marc.impl.RecordImpl
|
7
10
|
rescue NameError => e
|
8
11
|
jardir = File.join(File.dirname(__FILE__), '..', 'jars')
|
9
|
-
require "#{jardir}/
|
12
|
+
require "#{jardir}/javamarc.jar"
|
13
|
+
end
|
14
|
+
|
15
|
+
begin
|
16
|
+
include_class Java::org.marc4j.MarcAlephSequentialReader
|
17
|
+
rescue
|
18
|
+
jardir = File.join(File.dirname(__FILE__), '..', 'jars')
|
19
|
+
require "#{jardir}/marc4j_serializations.jar"
|
10
20
|
end
|
11
21
|
|
12
22
|
# Define a method that will take a string (filename), IO object, or StringIO object,
|
@@ -0,0 +1,103 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
import 'org.marc4j.ErrorHandler'
|
4
|
+
|
5
|
+
describe "MarcAlephSequentialReader constructor" do
|
6
|
+
before do
|
7
|
+
@seqfile = 'spec/three.seq'
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should open a file" do
|
11
|
+
reader = MARC4J4R::Reader.new(@seqfile, :alephsequential)
|
12
|
+
reader.class.should.equal Java::org.marc4j.MarcAlephSequentialReader
|
13
|
+
end
|
14
|
+
|
15
|
+
it "delimits records correctly" do
|
16
|
+
reader = MARC4J4R::Reader.new(@seqfile, :alephsequential)
|
17
|
+
reader.collect.size.should.equal 3
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "MarcAlephSequentialReader record construction" do
|
22
|
+
before do
|
23
|
+
seqfile = 'spec/three.seq'
|
24
|
+
reader = MARC4J4R::Reader.new(seqfile, :alephsequential)
|
25
|
+
@recs = reader.collect
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
it "gets the correct IDs" do
|
30
|
+
@recs[0]['001'].value.should.equal '000004262'
|
31
|
+
@recs[1]['001'].value.should.equal '000005951'
|
32
|
+
@recs[2]['001'].value.should.equal '000009811'
|
33
|
+
end
|
34
|
+
|
35
|
+
# Note that marc4j deals with teh length as an integer,
|
36
|
+
# so leading non-numerics get turned into zeros.
|
37
|
+
it "deals with leaders" do
|
38
|
+
@recs[0].leader.should.equal '00000nam^a22003011^^4500'
|
39
|
+
@recs[1].leader.should.equal '00000nam^a22002771^^4500'
|
40
|
+
@recs[2].leader.should.equal '00000nam^a22003251^^4500'
|
41
|
+
end
|
42
|
+
|
43
|
+
it "deals with control fields" do
|
44
|
+
@recs[0]['008'].value.should.equal '880715r19721939nyua^^^^^b^^^^00100^eng^^'
|
45
|
+
end
|
46
|
+
|
47
|
+
it "gets correct indicators" do
|
48
|
+
@recs[0]['050'].ind1.should.equal '0'
|
49
|
+
@recs[0]['050'].ind2.should.equal ' '
|
50
|
+
end
|
51
|
+
|
52
|
+
it "deals with variable field values" do
|
53
|
+
@recs[0]['040']['a'].should.equal 'DLC'
|
54
|
+
@recs[0]['040']['c'].should.equal 'DLC'
|
55
|
+
@recs[0]['040']['d'].should.equal 'MiU'
|
56
|
+
end
|
57
|
+
|
58
|
+
it "correctly adds multiple similar tags" do
|
59
|
+
@recs[0].find_by_tag('035').size.should.equal 4
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "MarcAlephSequentialReader error handling" do
|
65
|
+
|
66
|
+
it "should bail on a bad file" do
|
67
|
+
lambda{
|
68
|
+
reader = MARC4J4R::Reader.new('spec/dne', :alephsequential)
|
69
|
+
}.should.raise Java::java.io.IOException
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
it "should fail to read a non-aleph-seq file" do
|
74
|
+
lambda {
|
75
|
+
reader = MARC4J4R::Reader.new('spec/batch.xml', :alephsequential)
|
76
|
+
}.should.raise Java::org.marc4j.MarcException
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should produce a minor error for bad indicators" do
|
80
|
+
reader = MARC4J4R::Reader.new('spec/errors.seq', :alephsequential)
|
81
|
+
r = reader.next
|
82
|
+
err = reader.errors.getErrors
|
83
|
+
e = err[0]
|
84
|
+
e.severity.should.equal ErrorHandler::MINOR_ERROR
|
85
|
+
e.to_string.should.match /first indicator/
|
86
|
+
e = err[1]
|
87
|
+
e.severity.should.equal ErrorHandler::MINOR_ERROR
|
88
|
+
e.to_string.should.match /second indicator/
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should produce a major error for poorly-formed variable field" do
|
92
|
+
reader = MARC4J4R::Reader.new('spec/errors.seq', :alephsequential)
|
93
|
+
r = reader.next
|
94
|
+
r = reader.next # second record
|
95
|
+
err = reader.errors.getErrors
|
96
|
+
e = err[0]
|
97
|
+
e.severity.should.equal ErrorHandler::MAJOR_ERROR
|
98
|
+
e.to_string.should.match /malformed/i
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
|
data/spec/bad.dat
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
00734njm a2200217uu 450000100150000009007001500036008004100051010001900092040001300111245006800124260002600192300005600218651004500274700005400319700005500373700003000428852005000458852000800508afc99990058366DLC20071104155141.9sd ummunniauub071103s1939 xxufmnne||||||||| u eng|| aafc99990058366 aDLCcDLC04aThe Texas rangerh[sound recording] /cSung by Beale D. Taylor. aMedina, Texas,c1939. a1 sound disc :banalog, 33 1/3 rpm, mono. ;c12 in. 0aMedinazTexaszUnited States of America.1 aLomax, John Avery, 1867-1948eRecording engineer.1 aLomax, Ruby T. (Ruby Terrill)eRecording engineer.1 aTaylor, Beale D.eSinger. aAmerican Folklife Center, Library of Congress aDLC
|
data/spec/badbatch.dat
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
00755cam 22002414a 4500001001300000003000600013005001700019008004100036010001700077020004300094040001800137042000800155050002600163082001700189100003100206245005400237260004200291300007200333500003300405650003700438630002500475630001300500fol05731351 IMchF20000613133448.0000107s2000 nyua 001 0 eng a 00020737 a0471383147 (paper/cd-rom : alk. paper) aDLCcDLCdDLC apcc00aQA76.73.P22bM33 200000a005.13/32211 aMartinsson, Tobias,d1976-10aActivePerl with ASP and ADO /cTobias Martinsson. aNew York :bJohn Wiley & Sons,c2000. axxi, 289 p. :bill. ;c23 cm. +e1 computer laser disc (4 3/4 in.) a"Wiley Computer Publishing." 0aPerl (Computer program language)00aActive server pages.00aActiveX.00647pam 2200241 a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001800109042000800127050002600135082001500161100002600176245006700202260003800269263000900307300001100316650003700327650002500364700001600389fol05754809 IMchF20000601115601.0000203s2000 mau 001 0 eng a 00022023 a1565926994 aDLCcDLCdDLC apcc00aQA76.73.P22bD47 200000a005.742211 aDescartes, Alligator.10aProgramming the Perl DBI /cAlligator Descartes and Tim Bunce. aCmabridge, MA :bO'Reilly,c2000. a1111 ap. cm. 0aPerl (Computer program language) 0aDatabase management.1 aBunce, Tim.00605cam 22002054a 4500001001300000003000600013005001700019008004100036010001700077040001800094042000800112050002700120082001700147100002100164245005500185260004500240300002600285504005100311650003700362fol05843555 IMchF20000525142739.0000318s1999 cau b 001 0 eng a 00501349 aDLCcDLCdDLC apcc00aQA76.73.P22bB763 199900a005.13/32211 aBrown, Martin C.10aPerl :bprogrammer's reference /cMartin C. Brown. aBerkeley :bOsborne/McGraw-Hill,cc1999. axix, 380 p. ;c22 cm. aIncludes bibliographical references and index. 0aPerl (Computer program language)00579cam 22002054a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001800109042000800127050002700135082001700162100002100179245005500200260004500255300003600300650003700336fol05843579 IMchF20000525142716.0000318s1999 caua 001 0 eng a 00502116 a0072120002 aDLCcDLCdDLC apcc00aQA76.73.P22bB762 199900a005.13/32211 aBrown, Martin C.10aPerl :bthe complete reference /cMartin C. Brown. aBerkeley :bOsborne/McGraw-Hill,cc1999. axxxv, 1179 p. :bill. ;c24 cm. 0aPerl (Computer program language)00801nam 22002778a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001300109042000800122050002600130082001800156100002000174245008800194250003200282260004100314263000900355300001100364650003700375650003600412650002600448700002500474700002400499fol05848297 IMchF20000524125727.0000518s2000 mau 001 0 eng a 00041664 a1565924193 aDLCcDLC apcc00aQA76.73.P22bG84 200000a005.2/7622211 aGuelich, Scott.10aCGI programming with Perl /cScott Guelich, Shishir Gundavaram & Gunther Birznieks. a2nd ed., expanded & updated aCambridge, Mass. :bO'Reilly,c2000. a0006 ap. cm. 0aPerl (Computer program language) 0aCGI (Computer network protocol) 0aInternet programming.1 aGundavaram, Shishir.1 aBirznieks, Gunther.00665nam 22002298a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001300109042000800122050002700130082001700157111005200174245008600226250001200312260004100324263000900365300001100374650005000385fol05865950 IMchF20000615103017.0000612s2000 mau 100 0 eng a 00055759 a0596000138 aDLCcDLC apcc00aQA76.73.P22bP475 200000a005.13/32212 aPerl Conference 4.0d(2000 :cMonterey, Calif.)10aProceedings of the Perl Conference 4.0 :bJuly 17-20, 2000, Monterey, California. a1st ed. aCambridge, Mass. :bO'Reilly,c2000. a0006 ap. cm. 0aPerl (Computer program language) 22002178a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001300109042000800122050002600130082001700156100002800173245006200201260004100263263000900304300001100313650003700324fol05865956 IMchF20000615102948.0000612s2000 mau 000 0 eng a 00055770 a1565926099 aDLCcDLC apcc00aQA76.73.P22bB43 200000a005.13/32211 aBlank-Edelman, David N.10aPerl for system administration /cDavid N. Blank-Edelman. aCambridge, Mass. :bO'Reilly,c2000. a0006 ap. cm. 0aPerl (Computer program language)00661nam 22002538a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001300109042000800122050002600130082001700156100001700173245006700190250001200257260004100269263000900310300001100319650003700330700002300367700001700390fol05865967 IMchF20000615102611.0000614s2000 mau 000 0 eng a 00055799 a0596000278 aDLCcDLC apcc00aQA76.73.P22bW35 200000a005.13/32211 aWall, Larry.10aProgramming Perl /cLarry Wall, Tom Christiansen & Jon Orwant. a3rd ed. aCambridge, Mass. :bO'Reilly,c2000. a0007 ap. cm. 0aPerl (Computer program language)1 aChristiansen, Tom.1 aOrwant, Jon.00603cam 22002054a 4500001001300000003000600013005001700019008004100036010001700077020001500094040001800109042000800127050002600135082001700161100003200178245006000210260005700270300003300327650003700360fol05872355 IMchF20000706095105.0000315s1999 njua 001 0 eng a 00500678 a013020868X aDLCcDLCdDLC apcc00aQA76.73.P22bL69 199900a005.13/32211 aLowe, Vincentq(Vincent D.)10aPerl programmer's interactive workbook /cVincent Lowe. aUpper Saddle River, NJ :bPrentice Hall PTP,cc1999. axx, 633 p. :bill. ;c23 cm. 0aPerl (Computer program language)00696nam 22002538a 4500001001300000003000600013005001700019008004100036010001700077020002800094040001300122042000800135050002600143082001700169100002600186245004400212260005100256263000900307300001100316500002000327650003700347650001700384650004100401fol05882032 IMchF20000707091904.0000630s2000 cau 001 0 eng a 00058174 a0764547291 (alk. paper) aDLCcDLC apcc00aQA76.73.P22bF64 200000a005.13/32212 aFoster-Johnson, Eric.10aCross-platform Perl /cEric F. Johnson. aFoster City, CA :bIDG Books Worldwide,c2000. a0009 ap. cm. aIncludes index. 0aPerl (Computer program language) 0aWeb servers. 0aCross-platform software development.
|
data/spec/badbatch.xml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version='1.0'?>
|
2
|
+
<collection xmlns='http://www.loc.gov/MARC21/slim' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd'>
|
3
|
+
<record><leader>00755cam 22002414a 4500</leader><controlfield tag='001'>fol05731351 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000613133448.0</controlfield><controlfield tag='008'>000107s2000 nyua 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00020737 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>0471383147 (paper/cd-rom : alk. paper)</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield><subfield code='d'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>M33 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Martinsson, Tobias,</subfield><subfield code='d'>1976-</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>ActivePerl with ASP and ADO /</subfield><subfield code='c'>Tobias Martinsson.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>New York :</subfield><subfield code='b'>John Wiley & Sons,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>xxi, 289 p. :</subfield><subfield code='b'>ill. ;</subfield><subfield code='c'>23 cm. +</subfield><subfield code='e'>1 computer laser disc (4 3/4 in.)</subfield></datafield><datafield tag='500' ind1=' ' ind2=' '><subfield code='a'>"Wiley Computer Publishing."</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield><datafield tag='630' ind1='0' ind2='0'><subfield code='a'>Active server pages.</subfield></datafield><datafield tag='630' ind1='0' ind2='0'><subfield code='a'>ActiveX.</subfield></datafield></record>
|
4
|
+
<record><leader>00647pam 2200241 a 4500</leader><controlfield tag='001'>fol05754809 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000601115601.0</controlfield><controlfield tag='008'>000203s2000 mau 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00022023 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>1565926994</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield><subfield code='d'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>D47 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.74</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Descartes, Alligator.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Programming the Perl DBI /</subfield><subfield code='c'>Alligator Descartes and Tim Bunce.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Cmabridge, MA :</subfield><subfield code='b'>O'Reilly,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>1111</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Database management.</subfield></datafield><datafield tag='700' ind1='1' ind2=' '><subfield code='a'>Bunce, Tim.</subfield></datafield></record>
|
5
|
+
<record><leader>00605cam 22002054a 4500</leader><controlfield tag='001'>fol05843555 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000525142739.0</controlfield><controlfield tag='008'>000318s1999 cau b 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00501349 </subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield><subfield code='d'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>B763 1999</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Brown, Martin C.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Perl :</subfield><subfield code='b'>programmer's reference /</subfield><subfield code='c'>Martin C. Brown.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Berkeley :</subfield><subfield code='b'>Osborne/McGraw-Hill,</subfield><subfield code='c'>c1999.</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>xix, 380 p. ;</subfield><subfield code='c'>22 cm.</subfield></datafield><datafield tag='504' ind1=' ' ind2=' '><subfield code='a'>Includes bibliographical references and index.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield></record>
|
6
|
+
<record><leader>00579cam 22002054a 4500</leader><controlfield tag='001'>fol05843579 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000525142716.0</controlfield><controlfield tag='008'>000318s1999 caua 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00502116 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>0072120002</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield><subfield code='d'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>B762 1999</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Brown, Martin C.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Perl :</subfield><subfield code='b'>the complete reference /</subfield><subfield code='c'>Martin C. Brown.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Berkeley :</subfield><subfield code='b'>Osborne/McGraw-Hill,</subfield><subfield code='c'>c1999.</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>xxxv, 1179 p. :</subfield><subfield code='b'>ill. ;</subfield><subfield code='c'>24 cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield></record>
|
7
|
+
<record><leader>00801nam 00</leader><controlfield tag='001'>fol05848297 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000524125727.0</controlfield><controlfield tag='008'>000518s2000 mau 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00041664 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>1565924193</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>G84 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.2/762</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Guelich, Scott.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>CGI programming with Perl /</subfield><subfield code='c'>Scott Guelich, Shishir Gundavaram & Gunther Birznieks.</subfield></datafield><datafield tag='250' ind1=' ' ind2=' '><subfield code='a'>2nd ed., expanded & updated</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Cambridge, Mass. :</subfield><subfield code='b'>O'Reilly,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>0006</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>CGI (Computer network protocol)</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Internet programming.</subfield></datafield><datafield tag='700' ind1='1' ind2=' '><subfield code='a'>Gundavaram, Shishir.</subfield></datafield><datafield tag='700' ind1='1' ind2=' '><subfield code='a'>Birznieks, Gunther.</subfield></datafield></record>
|
8
|
+
<record><leader>00665nam 22002298a 4500</leader><controlfield tag='001'>fol05865950 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000615103017.0</controlfield><controlfield tag='008'>000612s2000 mau 100 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00055759 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>0596000138</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>P475 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='111' ind1='2' ind2=' '><subfield code='a'>Perl Conference 4.0</subfield><subfield code='d'>(2000 :</subfield><subfield code='c'>Monterey, Calif.)</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Proceedings of the Perl Conference 4.0 :</subfield><subfield code='b'>July 17-20, 2000, Monterey, California.</subfield></datafield><datafield tag='250' ind1=' ' ind2=' '><subfield code='a'>1st ed.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Cambridge, Mass. :</subfield><subfield code='b'>O'Reilly,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>0006</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield><subfield code='v'>Congresses.</subfield></datafield></record>
|
9
|
+
<record><leader>00579nam 22002178a 4500</leader><controlfield tag='001'>fol05865956 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000615102948.0</controlfield><controlfield tag='008'>000612s2000 mau 000 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00055770 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>1565926099</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>B43 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Blank-Edelman, David N.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Perl for system administration /</subfield><subfield code='c'>David N. Blank-Edelman.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Cambridge, Mass. :</subfield><subfield code='b'>O'Reilly,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>0006</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield></record>
|
10
|
+
<record><leader>00661nam 22002538a 4500</leader><controlfield tag='001'>fol05865967 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000615102611.0</controlfield><controlfield tag='008'>000614s2000 mau 000 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00055799 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>0596000278</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>W35 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Wall, Larry.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Programming Perl /</subfield><subfield code='c'>Larry Wall, Tom Christiansen & Jon Orwant.</subfield></datafield><datafield tag='250' ind1=' ' ind2=' '><subfield code='a'>3rd ed.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Cambridge, Mass. :</subfield><subfield code='b'>O'Reilly,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>0007</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield><datafield tag='700' ind1='1' ind2=' '><subfield code='a'>Christiansen, Tom.</subfield></datafield><datafield tag='700' ind1='1' ind2=' '><subfield code='a'>Orwant, Jon.</subfield></datafield></record>
|
11
|
+
<record><leader>00603cam 22002054a 4500</leader><controlfield tag='001'>fol05872355 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000706095105.0</controlfield><controlfield tag='008'>000315s1999 njua 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00500678 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>013020868X</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield><subfield code='d'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>L69 1999</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='1' ind2=' '><subfield code='a'>Lowe, Vincent</subfield><subfield code='q'>(Vincent D.)</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Perl programmer's interactive workbook /</subfield><subfield code='c'>Vincent Lowe.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Upper Saddle River, NJ :</subfield><subfield code='b'>Prentice Hall PTP,</subfield><subfield code='c'>c1999.</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>xx, 633 p. :</subfield><subfield code='b'>ill. ;</subfield><subfield code='c'>23 cm.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield></record>
|
12
|
+
<record><leader>00696nam 22002538a 4500</leader><controlfield tag='001'>fol05882032 </controlfield><controlfield tag='003'>IMchF</controlfield><controlfield tag='005'>20000707091904.0</controlfield><controlfield tag='008'>000630s2000 cau 001 0 eng </controlfield><datafield tag='010' ind1=' ' ind2=' '><subfield code='a'> 00058174 </subfield></datafield><datafield tag='020' ind1=' ' ind2=' '><subfield code='a'>0764547291 (alk. paper)</subfield></datafield><datafield tag='040' ind1=' ' ind2=' '><subfield code='a'>DLC</subfield><subfield code='c'>DLC</subfield></datafield><datafield tag='042' ind1=' ' ind2=' '><subfield code='a'>pcc</subfield></datafield><datafield tag='050' ind1='0' ind2='0'><subfield code='a'>QA76.73.P22</subfield><subfield code='b'>F64 2000</subfield></datafield><datafield tag='082' ind1='0' ind2='0'><subfield code='a'>005.13/3</subfield><subfield code='2'>21</subfield></datafield><datafield tag='100' ind1='2' ind2=' '><subfield code='a'>Foster-Johnson, Eric.</subfield></datafield><datafield tag='245' ind1='1' ind2='0'><subfield code='a'>Cross-platform Perl /</subfield><subfield code='c'>Eric F. Johnson.</subfield></datafield><datafield tag='260' ind1=' ' ind2=' '><subfield code='a'>Foster City, CA :</subfield><subfield code='b'>IDG Books Worldwide,</subfield><subfield code='c'>2000.</subfield></datafield><datafield tag='263' ind1=' ' ind2=' '><subfield code='a'>0009</subfield></datafield><datafield tag='300' ind1=' ' ind2=' '><subfield code='a'>p. cm.</subfield></datafield><datafield tag='500' ind1=' ' ind2=' '><subfield code='a'>Includes index.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Perl (Computer program language)</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Web servers.</subfield></datafield><datafield tag='650' ind1=' ' ind2='0'><subfield code='a'>Cross-platform software development.</subfield></datafield></record>
|
13
|
+
</collection>
|
data/spec/controlfield_spec.rb
CHANGED
@@ -4,6 +4,7 @@ describe "MARC4J4R::ControlField basics" do
|
|
4
4
|
it "can create a controlfield via the alias" do
|
5
5
|
cf = MARC4J4R::ControlField.new('001')
|
6
6
|
cf.tag.should.equal '001'
|
7
|
+
cf.controlField?.should.equal true
|
7
8
|
end
|
8
9
|
|
9
10
|
it "allows get/set of tag and value" do
|
@@ -12,6 +13,7 @@ describe "MARC4J4R::ControlField basics" do
|
|
12
13
|
cf.value = 'Value'
|
13
14
|
cf.tag.should.equal '001'
|
14
15
|
cf.value.should.equal 'Value'
|
16
|
+
cf.to_s.should.equal '001 Value'
|
15
17
|
end
|
16
18
|
|
17
19
|
it "can create a cf with both arguments" do
|
data/spec/datafield_spec.rb
CHANGED
@@ -45,6 +45,18 @@ describe "MARC4J4R::DataField & SubField basics" do
|
|
45
45
|
df.ind1.should.equal '0'
|
46
46
|
end
|
47
47
|
|
48
|
+
it "is not a control field" do
|
49
|
+
df = MARC4J4R::DataField.new('010', '1', '2')
|
50
|
+
df.controlField?.should.equal false
|
51
|
+
end
|
52
|
+
|
53
|
+
it "can create an empty df with blank constructor" do
|
54
|
+
df = MARC4J4R::DataField.new
|
55
|
+
df.tag.should.equal nil
|
56
|
+
df.ind1.should.equal ' '
|
57
|
+
df.ind2.should.equal ' '
|
58
|
+
end
|
59
|
+
|
48
60
|
|
49
61
|
it "should defalt to spaces in ind1/ind2" do
|
50
62
|
df = MARC4J4R::DataField.new('010')
|
@@ -53,4 +65,58 @@ describe "MARC4J4R::DataField & SubField basics" do
|
|
53
65
|
end
|
54
66
|
end
|
55
67
|
|
68
|
+
describe "Datafield with subfields" do
|
69
|
+
begin
|
70
|
+
@df = MARC4J4R::DataField.new('010', '1', '2')
|
71
|
+
@a = MARC4J4R::SubField.new('a', 'one')
|
72
|
+
@b = MARC4J4R::SubField.new('b', 'two')
|
73
|
+
@df << @a
|
74
|
+
@df << @b
|
75
|
+
end
|
76
|
+
|
77
|
+
it "works with subs" do
|
78
|
+
@df.subs.size.should.equal 2
|
79
|
+
@df.subs('a').should.equal [@a]
|
80
|
+
@df.subs('b').should.equal [@b]
|
81
|
+
@df.subs('c').should.equal []
|
82
|
+
@df.subs(['a', 'b']).sort{|a,b|a.code <=> b.code}.should.equal [@a,@b].sort{|a,b| a.code <=> b.code}
|
83
|
+
end
|
84
|
+
|
85
|
+
it "gets values" do
|
86
|
+
@df.value.should.equal "one two"
|
87
|
+
@df.value('|').should.equal "one|two"
|
88
|
+
@df.sub_values('a').should.equal ['one']
|
89
|
+
@df.sub_values(['a', 'b']).should.equal ['one', 'two']
|
90
|
+
@df << MARC4J4R::SubField.new('a', 'three')
|
91
|
+
@df['a'].should.equal 'one'
|
92
|
+
@df['b'].should.equal 'two'
|
93
|
+
@df['c'].should.equal nil
|
94
|
+
@df.sub_values('a').should.equal ['one','three']
|
95
|
+
end
|
96
|
+
end
|
56
97
|
|
98
|
+
describe "SubFields" do
|
99
|
+
before do
|
100
|
+
@df = MARC4J4R::DataField.new('010', '1', '2')
|
101
|
+
@a = MARC4J4R::SubField.new('a', 'one')
|
102
|
+
@df << @a
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should allow creation of subfield wiht any info" do
|
106
|
+
lambda{
|
107
|
+
sf = MARC4J4R::SubField.new('a', 'value')
|
108
|
+
sf = MARC4J4R::SubField.new('a')
|
109
|
+
sf = MARC4J4R::SubField.new()
|
110
|
+
}.should.not.raise Exception
|
111
|
+
end
|
112
|
+
|
113
|
+
it "should get/set" do
|
114
|
+
@a.code.should.equal 'a'
|
115
|
+
@a.value.should.equal 'one'
|
116
|
+
@a.data.should.equal 'one'
|
117
|
+
@a.value = 'two'
|
118
|
+
@a.value.should.equal 'two'
|
119
|
+
@a.code = 'b'
|
120
|
+
@a.code.should.equal 'b'
|
121
|
+
end
|
122
|
+
end
|
data/spec/errors.seq
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
000004262 LDR L ^^^^^nam^a22003011^^4500
|
2
|
+
000004262 001 L 000004262
|
3
|
+
000004262 005 L 19891107000000.0
|
4
|
+
000004262 006 L m^^^^^^^^d^^^^^^^^
|
5
|
+
000004262 007 L cr^bn^---auaua
|
6
|
+
000004262 008 L 880715r19721939nyua^^^^^b^^^^00100^eng^^
|
7
|
+
000004262 010 L $$a72001885/MN
|
8
|
+
000004262 020 L $$a0306705133
|
9
|
+
000004262 035 L $$a(RLIN)MIUG0297757-B
|
10
|
+
000004262 035# L $$a(CaOTULAS)159822964
|
11
|
+
000004262 035 L $$a(OCoLC)ocm00297757
|
12
|
+
000004262 035 L $$asdr-inu1221428
|
13
|
+
000004262 040 # L $$aDLC$$cDLC$$dMiU
|
14
|
+
000004262 043 L $$an------
|
15
|
+
000004262 0500 L $$aML3557$$b.D3645 1972
|
16
|
+
000004262 082 L $$a784.7/51
|
17
|
+
000004262 1001 L $$aDensmore, Frances,$$d1867-1957.
|
18
|
+
000004262 24510 L $$aNootka and Quileute music.
|
19
|
+
000004262 260 L $$aNew York,$$bDa Capo Press,$$c1972.
|
20
|
+
000004262 300 L $$axxvi, 358 p.$$billus.$$c23 cm.
|
21
|
+
000004262 4900 L $$aDa Capo Press music reprint series
|
22
|
+
000004262 500 L $$aReprint of the 1939 ed., which was issued as Bulletin 124 of Smithsonian Institution. Bureau of American Ethnology.
|
23
|
+
000004262 504 L $$aBibliography: p. 349.
|
24
|
+
000004262 538 L $$aMode of access: Internet.
|
25
|
+
000004262 650 0 L $$aNootka Indians$$xMusic.
|
26
|
+
000004262 650 0 L $$aQuileute Indians$$xMusic.
|
27
|
+
000004262 8520 L $$aMiU$$bMUSIC$$hML3557 .D4255 1972
|
28
|
+
000004262 852 L $$ainu$$bSDR$$cINU
|
29
|
+
000004262 970 L $$aBK$$bBook
|
30
|
+
000004262 970 L $$aCE$$bElectronic Resource
|
31
|
+
000004262 971 L $$aMiU
|
32
|
+
000004262 972 L $$c20040625
|
33
|
+
000004262 973 L $$aHT$$bavail_ht
|
34
|
+
000004262 973 L $$aAC$$bavail_circ
|
35
|
+
000004262 974 L $$uinu.30000053901769$$ric$$d20100226
|
36
|
+
000004262 998 L $$s9665
|
37
|
+
000005951 LDR L ^^^^^nam^a22002771^^4500
|
38
|
+
000005951 001 L 000005951
|
39
|
+
000005951 005 L 19970922000000.0
|
40
|
+
000005951 006 L m^^^^^^^^d^^^^^^^^
|
41
|
+
000005951 007 L cr^bn^---auaua
|
42
|
+
000005951 008 L 880715s1968^^^^dcu^^^^^^b^^^|00010^eng^c
|
43
|
+
000005951 010 L ahew68000006
|
44
|
+
000005951 035 L $$a(RLIN)MIUG0425743-B
|
45
|
+
000005951 035 L $$a(CaOTULAS)159824865
|
46
|
+
000005951 035 L $$a(OCoLC)ocm00425743
|
47
|
+
000005951 035 L $$asdr-ucsc.b16458175
|
48
|
+
000005951 040 L $$a*U.S. Dept. of Health Education, and Welfare. Li$$cDLC$$dMiU
|
49
|
+
000005951 0500 L $$aHD7123$$b.A39 no. 22
|
50
|
+
000005951 082 L $$a301.5/5
|
51
|
+
000005951 1001 L $$aKreps, Juanita Morris.
|
52
|
+
000005951 24510 L $$aLifetime allocation of work and leisure,$$cby Juanita M. Kreps.
|
53
|
+
000005951 260 L $$a[Washington,$$bFor sale by Supt. of Docs., U.S. Govt. Print. Off.,$$c1968]
|
54
|
+
000005951 300 L $$aix, 44 p.$$c24 cm.
|
55
|
+
000005951 4901 L $$aUnited States. Social Security Administration. Office of Research and Statistics. Research report$$vno. 22
|
56
|
+
000005951 504 L $$aBibliographical footnotes.
|
57
|
+
000005951 538 L $$aMode of access: Internet.
|
58
|
+
000005951 650 0 L $$aAge and employment
|
59
|
+
000005951 650 0 L $$aRetirement
|
60
|
+
000005951 830 0 L $$aResearch report (United States. Social Security Administration. Office of Research and Statistics) ;$$vno. 22
|
61
|
+
000005951 8520 L $$aMiU$$bTAUB$$hHD6279 .K925
|
62
|
+
000005951 8520 L $$aMiU$$bTAUB$$hHD 7123 .A28 no.22
|
63
|
+
000005951 8520 L $$aMiU$$bBUHR$$cGRAD$$hHD 7123 .A28 no.22
|
64
|
+
000005951 852 L $$auc1$$bSDR$$cUCSC
|
65
|
+
000005951 970 L $$aBK$$bBook
|
66
|
+
000005951 970 L $$aCE$$bElectronic Resource
|
67
|
+
000005951 971 L $$aMiU
|
68
|
+
000005951 972 L $$c20040625
|
69
|
+
000005951 972 L $$c20040625
|
70
|
+
000005951 972 L $$c20040625
|
71
|
+
000005951 973 L $$aHT$$bavail_ht
|
72
|
+
000005951 973 L $$aAC$$bavail_circ
|
73
|
+
000005951 974 L $$umdp.39015038814847$$ric
|
74
|
+
000005951 974 L $$umdp.39015072105847$$ric$$d20091001
|
75
|
+
000005951 974 L $$zno.22$$uuc1.32106000924198$$ric$$d20091202
|
76
|
+
000005951 998 L $$s9665
|
77
|
+
000009811 LDR L ^^^^^nam^a22003251^^4500
|
78
|
+
000009811 001 L 000009811
|
79
|
+
000009811 005 L 19970922000000.0
|
80
|
+
000009811 006 L m^^^^^^^^d^^^^^^^^
|
81
|
+
000009811 007 L cr^bn^---auaua
|
82
|
+
000009811 008 L 880715s1971^^^^dcua^^^^^bs^^^00000^eng^^
|
83
|
+
000009811 010 L $$a72179703
|
84
|
+
000009811 035 L $$a(RLIN)MIUG0695316-B
|
85
|
+
000009811 035 L $$a(CaOTULAS)159829127
|
86
|
+
000009811 035 L $$a(OCoLC)ocm00695316
|
87
|
+
000009811 035 L $$asdr-ucsc.b13985097
|
88
|
+
000009811 040 L $$aDLC$$cDLC$$dMiU$$dCStRLIN
|
89
|
+
000009811 043 L $$an-us---
|
90
|
+
000009811 0500 L $$aHD7123$$b.A39 no. 37$$aHD7102.U4
|
91
|
+
000009811 082 L $$a368.4/00973 s$$a368.4/2/00973
|
92
|
+
000009811 086 L $$aII0 aHE 3.49:37
|
93
|
+
000009811 1101 L $$aUnited States.$$bSocial Security Administration.$$bOffice of Research and Statistics.
|
94
|
+
000009811 24510 L $$aFinancing mental health care under medicare and medicaid.
|
95
|
+
000009811 260 L $$a[Washington;$$bFor sale by the Supt. of Docs., U.S. Govt. Print. Off.,$$c1971]
|
96
|
+
000009811 300 L $$avii, 52 p.$$billus.$$c27 cm.
|
97
|
+
000009811 4901 L $$aIts Research report$$vno. 37
|
98
|
+
000009811 500 L $$aSupt. of Docs. no.: HE 3.49:37
|
99
|
+
000009811 504 L $$aIncludes bibliographical references.
|
100
|
+
000009811 538 L $$aMode of access: Internet.
|
101
|
+
000009811 650 0 L $$aMental health insurance$$zUnited States.
|
102
|
+
000009811 650 0 L $$aMedicare
|
103
|
+
000009811 650 0 L $$aMedicaid
|
104
|
+
000009811 830 0 L $$aResearch report (United States. Social Security Administration. Office of Research and Statistics) ;$$vno. 37
|
105
|
+
000009811 8520 L $$aMiU$$bBUHR$$cGRAD$$hHD 7123 .A28 no.37
|
106
|
+
000009811 8520 L $$aMiU$$bTAUB$$hHD 7123 .A28 no.37
|
107
|
+
000009811 852 L $$auc1$$bSDR$$cUCSC
|
108
|
+
000009811 970 L $$aBK$$bBook
|
109
|
+
000009811 970 L $$aCE$$bElectronic Resource
|
110
|
+
000009811 970 L $$aXS$$bStatistics
|
111
|
+
000009811 971 L $$aMiU
|
112
|
+
000009811 972 L $$c20040625
|
113
|
+
000009811 972 L $$c20040625
|
114
|
+
000009811 973 L $$aHT$$bavail_ht
|
115
|
+
000009811 973 L $$aAC$$bavail_circ
|
116
|
+
000009811 974 L $$zno.37$$umdp.39015004063635$$ric
|
117
|
+
000009811 974 L $$zno.37$$uuc1.32106000924313$$ric$$d20091202
|
118
|
+
000009811 998 L $$s9665
|
data/spec/record_spec.rb
CHANGED
@@ -32,6 +32,17 @@ describe "MARC4J4R_basic_retrieval_stuff" do
|
|
32
32
|
@one.leader.should.equal "00734njm a2200217uu 4500"
|
33
33
|
end
|
34
34
|
|
35
|
+
it "can set the leader" do
|
36
|
+
@one.leader = "00734njm 2200217uu 4500"
|
37
|
+
@one.leader.should.equal "00734njm 2200217uu 4500"
|
38
|
+
end
|
39
|
+
|
40
|
+
it "disallows bad leaders" do
|
41
|
+
lambda{
|
42
|
+
@one.leader = 'Hello World'
|
43
|
+
}.should.raise RuntimeError
|
44
|
+
end
|
45
|
+
|
35
46
|
it "can read a control field correctly" do
|
36
47
|
@one['001'].value.should.equal "afc99990058366"
|
37
48
|
end
|
@@ -44,7 +55,10 @@ describe "MARC4J4R_basic_retrieval_stuff" do
|
|
44
55
|
it "should get the first 245 for this record" do
|
45
56
|
@one['245'].to_s.should.equal "245 04 $a The Texas ranger $h [sound recording] / $c Sung by Beale D. Taylor."
|
46
57
|
end
|
47
|
-
|
58
|
+
|
59
|
+
it "finds nothing when there's nothign there" do
|
60
|
+
@one['035'].should.equal nil
|
61
|
+
end
|
48
62
|
end
|
49
63
|
|
50
64
|
describe "MARC4J4R::Record #find_by_tag" do
|
@@ -98,4 +112,9 @@ describe "MARC4J4R::Record #find_by_tag" do
|
|
98
112
|
first = @one['700']
|
99
113
|
@one.find_by_tag('700')[0].should.equal first
|
100
114
|
end
|
115
|
+
|
116
|
+
it "round trips binary and xml" do
|
117
|
+
MARC4J4R::Record.from_string(@one.to_marc).should.equal @one
|
118
|
+
MARC4J4R::Record.from_xml_string(@one.to_xml).should.equal @one
|
119
|
+
end
|
101
120
|
end
|
data/spec/three.seq
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
000004262 LDR L ^^^^^nam^a22003011^^4500
|
2
|
+
000004262 001 L 000004262
|
3
|
+
000004262 005 L 19891107000000.0
|
4
|
+
000004262 006 L m^^^^^^^^d^^^^^^^^
|
5
|
+
000004262 007 L cr^bn^---auaua
|
6
|
+
000004262 008 L 880715r19721939nyua^^^^^b^^^^00100^eng^^
|
7
|
+
000004262 010 L $$a72001885/MN
|
8
|
+
000004262 020 L $$a0306705133
|
9
|
+
000004262 035 L $$a(RLIN)MIUG0297757-B
|
10
|
+
000004262 035 L $$a(CaOTULAS)159822964
|
11
|
+
000004262 035 L $$a(OCoLC)ocm00297757
|
12
|
+
000004262 035 L $$asdr-inu1221428
|
13
|
+
000004262 040 L $$aDLC$$cDLC$$dMiU
|
14
|
+
000004262 043 L $$an------
|
15
|
+
000004262 0500 L $$aML3557$$b.D3645 1972
|
16
|
+
000004262 082 L $$a784.7/51
|
17
|
+
000004262 1001 L $$aDensmore, Frances,$$d1867-1957.
|
18
|
+
000004262 24510 L $$aNootka and Quileute music.
|
19
|
+
000004262 260 L $$aNew York,$$bDa Capo Press,$$c1972.
|
20
|
+
000004262 300 L $$axxvi, 358 p.$$billus.$$c23 cm.
|
21
|
+
000004262 4900 L $$aDa Capo Press music reprint series
|
22
|
+
000004262 500 L $$aReprint of the 1939 ed., which was issued as Bulletin 124 of Smithsonian Institution. Bureau of American Ethnology.
|
23
|
+
000004262 504 L $$aBibliography: p. 349.
|
24
|
+
000004262 538 L $$aMode of access: Internet.
|
25
|
+
000004262 650 0 L $$aNootka Indians$$xMusic.
|
26
|
+
000004262 650 0 L $$aQuileute Indians$$xMusic.
|
27
|
+
000004262 8520 L $$aMiU$$bMUSIC$$hML3557 .D4255 1972
|
28
|
+
000004262 852 L $$ainu$$bSDR$$cINU
|
29
|
+
000004262 970 L $$aBK$$bBook
|
30
|
+
000004262 970 L $$aCE$$bElectronic Resource
|
31
|
+
000004262 971 L $$aMiU
|
32
|
+
000004262 972 L $$c20040625
|
33
|
+
000004262 973 L $$aHT$$bavail_ht
|
34
|
+
000004262 973 L $$aAC$$bavail_circ
|
35
|
+
000004262 974 L $$uinu.30000053901769$$ric$$d20100226
|
36
|
+
000004262 998 L $$s9665
|
37
|
+
000005951 LDR L ^^^^^nam^a22002771^^4500
|
38
|
+
000005951 001 L 000005951
|
39
|
+
000005951 005 L 19970922000000.0
|
40
|
+
000005951 006 L m^^^^^^^^d^^^^^^^^
|
41
|
+
000005951 007 L cr^bn^---auaua
|
42
|
+
000005951 008 L 880715s1968^^^^dcu^^^^^^b^^^|00010^eng^c
|
43
|
+
000005951 010 L $$ahew68000006
|
44
|
+
000005951 035 L $$a(RLIN)MIUG0425743-B
|
45
|
+
000005951 035 L $$a(CaOTULAS)159824865
|
46
|
+
000005951 035 L $$a(OCoLC)ocm00425743
|
47
|
+
000005951 035 L $$asdr-ucsc.b16458175
|
48
|
+
000005951 040 L $$a*U.S. Dept. of Health Education, and Welfare. Li$$cDLC$$dMiU
|
49
|
+
000005951 0500 L $$aHD7123$$b.A39 no. 22
|
50
|
+
000005951 082 L $$a301.5/5
|
51
|
+
000005951 1001 L $$aKreps, Juanita Morris.
|
52
|
+
000005951 24510 L $$aLifetime allocation of work and leisure,$$cby Juanita M. Kreps.
|
53
|
+
000005951 260 L $$a[Washington,$$bFor sale by Supt. of Docs., U.S. Govt. Print. Off.,$$c1968]
|
54
|
+
000005951 300 L $$aix, 44 p.$$c24 cm.
|
55
|
+
000005951 4901 L $$aUnited States. Social Security Administration. Office of Research and Statistics. Research report$$vno. 22
|
56
|
+
000005951 504 L $$aBibliographical footnotes.
|
57
|
+
000005951 538 L $$aMode of access: Internet.
|
58
|
+
000005951 650 0 L $$aAge and employment
|
59
|
+
000005951 650 0 L $$aRetirement
|
60
|
+
000005951 830 0 L $$aResearch report (United States. Social Security Administration. Office of Research and Statistics) ;$$vno. 22
|
61
|
+
000005951 8520 L $$aMiU$$bTAUB$$hHD6279 .K925
|
62
|
+
000005951 8520 L $$aMiU$$bTAUB$$hHD 7123 .A28 no.22
|
63
|
+
000005951 8520 L $$aMiU$$bBUHR$$cGRAD$$hHD 7123 .A28 no.22
|
64
|
+
000005951 852 L $$auc1$$bSDR$$cUCSC
|
65
|
+
000005951 970 L $$aBK$$bBook
|
66
|
+
000005951 970 L $$aCE$$bElectronic Resource
|
67
|
+
000005951 971 L $$aMiU
|
68
|
+
000005951 972 L $$c20040625
|
69
|
+
000005951 972 L $$c20040625
|
70
|
+
000005951 972 L $$c20040625
|
71
|
+
000005951 973 L $$aHT$$bavail_ht
|
72
|
+
000005951 973 L $$aAC$$bavail_circ
|
73
|
+
000005951 974 L $$umdp.39015038814847$$ric
|
74
|
+
000005951 974 L $$umdp.39015072105847$$ric$$d20091001
|
75
|
+
000005951 974 L $$zno.22$$uuc1.32106000924198$$ric$$d20091202
|
76
|
+
000005951 998 L $$s9665
|
77
|
+
000009811 LDR L ^^^^^nam^a22003251^^4500
|
78
|
+
000009811 001 L 000009811
|
79
|
+
000009811 005 L 19970922000000.0
|
80
|
+
000009811 006 L m^^^^^^^^d^^^^^^^^
|
81
|
+
000009811 007 L cr^bn^---auaua
|
82
|
+
000009811 008 L 880715s1971^^^^dcua^^^^^bs^^^00000^eng^^
|
83
|
+
000009811 010 L $$a72179703
|
84
|
+
000009811 035 L $$a(RLIN)MIUG0695316-B
|
85
|
+
000009811 035 L $$a(CaOTULAS)159829127
|
86
|
+
000009811 035 L $$a(OCoLC)ocm00695316
|
87
|
+
000009811 035 L $$asdr-ucsc.b13985097
|
88
|
+
000009811 040 L $$aDLC$$cDLC$$dMiU$$dCStRLIN
|
89
|
+
000009811 043 L $$an-us---
|
90
|
+
000009811 0500 L $$aHD7123$$b.A39 no. 37$$aHD7102.U4
|
91
|
+
000009811 082 L $$a368.4/00973 s$$a368.4/2/00973
|
92
|
+
000009811 086 L $$aII0 aHE 3.49:37
|
93
|
+
000009811 1101 L $$aUnited States.$$bSocial Security Administration.$$bOffice of Research and Statistics.
|
94
|
+
000009811 24510 L $$aFinancing mental health care under medicare and medicaid.
|
95
|
+
000009811 260 L $$a[Washington;$$bFor sale by the Supt. of Docs., U.S. Govt. Print. Off.,$$c1971]
|
96
|
+
000009811 300 L $$avii, 52 p.$$billus.$$c27 cm.
|
97
|
+
000009811 4901 L $$aIts Research report$$vno. 37
|
98
|
+
000009811 500 L $$aSupt. of Docs. no.: HE 3.49:37
|
99
|
+
000009811 504 L $$aIncludes bibliographical references.
|
100
|
+
000009811 538 L $$aMode of access: Internet.
|
101
|
+
000009811 650 0 L $$aMental health insurance$$zUnited States.
|
102
|
+
000009811 650 0 L $$aMedicare
|
103
|
+
000009811 650 0 L $$aMedicaid
|
104
|
+
000009811 830 0 L $$aResearch report (United States. Social Security Administration. Office of Research and Statistics) ;$$vno. 37
|
105
|
+
000009811 8520 L $$aMiU$$bBUHR$$cGRAD$$hHD 7123 .A28 no.37
|
106
|
+
000009811 8520 L $$aMiU$$bTAUB$$hHD 7123 .A28 no.37
|
107
|
+
000009811 852 L $$auc1$$bSDR$$cUCSC
|
108
|
+
000009811 970 L $$aBK$$bBook
|
109
|
+
000009811 970 L $$aCE$$bElectronic Resource
|
110
|
+
000009811 970 L $$aXS$$bStatistics
|
111
|
+
000009811 971 L $$aMiU
|
112
|
+
000009811 972 L $$c20040625
|
113
|
+
000009811 972 L $$c20040625
|
114
|
+
000009811 973 L $$aHT$$bavail_ht
|
115
|
+
000009811 973 L $$aAC$$bavail_circ
|
116
|
+
000009811 974 L $$zno.37$$umdp.39015004063635$$ric
|
117
|
+
000009811 974 L $$zno.37$$uuc1.32106000924313$$ric$$d20091202
|
118
|
+
000009811 998 L $$s9665
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marc4j4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
|
+
- 1
|
7
8
|
- 0
|
8
|
-
- 9
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 1.0.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- BillDueber
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-09-04 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -55,29 +55,36 @@ extensions: []
|
|
55
55
|
extra_rdoc_files:
|
56
56
|
- README.rdoc
|
57
57
|
files:
|
58
|
+
- CHANGES
|
58
59
|
- LICENSE
|
59
60
|
- README.rdoc
|
60
61
|
- Rakefile
|
61
62
|
- VERSION
|
62
|
-
- jars/
|
63
|
+
- jars/javamarc.jar
|
63
64
|
- lib/marc4j4r.rb
|
64
65
|
- lib/marc4j4r/controlfield.rb
|
65
66
|
- lib/marc4j4r/datafield.rb
|
66
67
|
- lib/marc4j4r/reader.rb
|
67
68
|
- lib/marc4j4r/record.rb
|
68
69
|
- lib/marc4j4r/writer.rb
|
70
|
+
- spec/alephsequentialreader_spec.rb
|
71
|
+
- spec/bad.dat
|
72
|
+
- spec/badbatch.dat
|
73
|
+
- spec/badbatch.xml
|
69
74
|
- spec/batch.dat
|
70
75
|
- spec/batch.txt
|
71
76
|
- spec/batch.xml
|
72
77
|
- spec/chinese_utf8.dat
|
73
78
|
- spec/controlfield_spec.rb
|
74
79
|
- spec/datafield_spec.rb
|
80
|
+
- spec/errors.seq
|
75
81
|
- spec/one.dat
|
76
82
|
- spec/one.txt
|
77
83
|
- spec/one.xml
|
78
84
|
- spec/reader_spec.rb
|
79
85
|
- spec/record_spec.rb
|
80
86
|
- spec/spec_helper.rb
|
87
|
+
- spec/three.seq
|
81
88
|
has_rdoc: true
|
82
89
|
homepage: http://github.com/billdueber/javamarc/tree/master/ruby/marc4j4r/
|
83
90
|
licenses: []
|