marc 0.8.2 → 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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 91f847e4c58a60a123919914206e8b41935d1268
4
+ data.tar.gz: b9485bfa59528e3703cc5bc4b45ec10df6dea502
5
+ SHA512:
6
+ metadata.gz: 7434cec1dd28cd9bdbf0390958d5f663f187720597c8bc5a0a45d04d6a84409bada2c6974e94b48effdc2e33fbb48fe54b3b86fb050a7e2bfa17da49bada3831
7
+ data.tar.gz: 83d5be3ce3eaa6da114101fe4dcbe15320b394184aeafa9aa20b8f7254c25d01f42f62d7153546909310adcb44d7f809c95f467c66f123435705b587957901b2
@@ -28,7 +28,7 @@
28
28
  # # Deal with non-standard control field tags
29
29
  # MARC::Field.control_tags << 'FMT'
30
30
  # record = MARC::Record.new()
31
- # record.add_field(MARC::ControlField.new('FMT', 'Book')) # doesn't throw an error
31
+ # record.add_field(MARC::ControlField.new('FMT', 'Book')) # doesn't raise an error
32
32
 
33
33
 
34
34
  require File.dirname(__FILE__) + '/marc/version'
@@ -38,13 +38,13 @@ module MARC
38
38
  #
39
39
  # field = MARC::DataField.new('245','0','0',
40
40
  # MARC::Subfield.new('a', 'Consilience :'),
41
- # MARC::Subfield.new('b', 'the unity of knowledge ',
41
+ # MARC::Subfield.new('b', 'the unity of knowledge '),
42
42
  # MARC::Subfield.new('c', 'by Edward O. Wilson.'))
43
43
  #
44
44
  # or using a shorthand:
45
45
  #
46
46
  # field = MARC::DataField.new('245','0','0',
47
- # ['a', 'Consilience :'],['b','the unity of knowledge ',
47
+ # ['a', 'Consilience :'],['b','the unity of knowledge '],
48
48
  # ['c', 'by Edward O. Wilson.'] )
49
49
 
50
50
  def initialize(tag, i1=' ', i2=' ', *subfields)
@@ -201,7 +201,7 @@ module MARC
201
201
  elsif file.respond_to?("read", 5)
202
202
  @handle = file
203
203
  else
204
- throw "must pass in path or file"
204
+ raise ArgumentError, "must pass in path or file"
205
205
  end
206
206
 
207
207
  if (! @encoding_options[:external_encoding] ) && @handle.respond_to?(:external_encoding)
@@ -229,7 +229,37 @@ module MARC
229
229
  unless block_given?
230
230
  return self.enum_for(:each)
231
231
  else
232
- # while there is data left in the file
232
+ self.each_raw do |raw|
233
+ record = self.decode(raw)
234
+ yield record
235
+ end
236
+ end
237
+ end
238
+
239
+ # Iterates over each record as a raw String, rather than a decoded
240
+ # MARC::Record
241
+ #
242
+ # This allows for handling encoding exceptions per record (e.g. to log which
243
+ # record caused the error):
244
+ #
245
+ # reader = MARC::Reader.new("marc_with_some_bad_records.dat",
246
+ # :external_encoding => "UTF-8",
247
+ # :validate_encoding => true)
248
+ # reader.each_raw do |raw|
249
+ # begin
250
+ # record = reader.decode(raw)
251
+ # rescue Encoding::InvalidByteSequenceError => e
252
+ # record = MARC::Reader.decode(raw, :external_encoding => "UTF-8",
253
+ # :invalid => :replace)
254
+ # warn e.message, record
255
+ # end
256
+ # end
257
+ #
258
+ # If no block is given, an enumerator is returned
259
+ def each_raw
260
+ unless block_given?
261
+ return self.enum_for(:each_raw)
262
+ else
233
263
  while rec_length_s = @handle.read(5)
234
264
  # make sure the record length looks like an integer
235
265
  rec_length_i = rec_length_s.to_i
@@ -240,15 +270,18 @@ module MARC
240
270
  # get the raw MARC21 for a record back from the file
241
271
  # using the record length
242
272
  raw = rec_length_s + @handle.read(rec_length_i-5)
243
-
244
- # create a record from the data and return it
245
- #record = MARC::Record.new_from_marc(raw)
246
- record = MARC::Reader.decode(raw, @encoding_options)
247
- yield record
273
+ yield raw
248
274
  end
249
275
  end
250
276
  end
251
277
 
278
+ # Decodes the given string into a MARC::Record object.
279
+ #
280
+ # Wraps the class method MARC::Reader::decode, using the encoding options of
281
+ # the MARC::Reader instance.
282
+ def decode(marc)
283
+ return MARC::Reader.decode(marc, @encoding_options)
284
+ end
252
285
 
253
286
  # A static method for turning raw MARC data in transission
254
287
  # format into a MARC::Record object.
@@ -282,7 +315,7 @@ module MARC
282
315
  # get the byte offsets from the record directory
283
316
  directory = marc[LEADER_LENGTH..base_address-1]
284
317
 
285
- throw "invalid directory in record" if directory == nil
318
+ raise MARC::Exception.new("invalid directory in record") if directory == nil
286
319
 
287
320
  # the number of fields in the record corresponds to
288
321
  # how many directory entries there are
@@ -58,7 +58,7 @@ module MARC
58
58
  # record.find_all {|field| field.tag =~ /^6../}
59
59
  #
60
60
  # The accessor 'fields' is also an Array of MARC::DataField objects which
61
- # the client can access or modify if neccesary.
61
+ # the client can modify if neccesary.
62
62
  #
63
63
  # record.fields.delete(field)
64
64
  #
@@ -297,7 +297,7 @@ module MARC
297
297
 
298
298
  def to_s
299
299
  str = "LEADER #{leader}\n"
300
- for field in fields
300
+ self.each do |field|
301
301
  str += field.to_s() + "\n"
302
302
  end
303
303
  return str
@@ -1,3 +1,3 @@
1
1
  module MARC
2
- VERSION = "0.8.2"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -35,7 +35,7 @@ module MARC
35
35
  elsif file.respond_to?('write')
36
36
  @fh = file
37
37
  else
38
- throw "must pass in file name or handle"
38
+ raise ArgumentError, "must pass in file name or handle"
39
39
  end
40
40
  self.allow_oversized = false
41
41
  end
@@ -64,7 +64,7 @@ module MARC
64
64
  directory = ''
65
65
  fields = ''
66
66
  offset = 0
67
- for field in record.fields
67
+ record.each do |field|
68
68
 
69
69
  # encode the field
70
70
  field_data = ''
@@ -49,7 +49,7 @@ module MARC
49
49
  elsif file.respond_to?("read", 5)
50
50
  handle = file
51
51
  else
52
- throw "must pass in path or File"
52
+ raise ArgumentError, "must pass in path or File"
53
53
  end
54
54
  @handle = handle
55
55
 
@@ -25,7 +25,7 @@ module MARC
25
25
  elsif file.respond_to?('write')
26
26
  @fh = file
27
27
  else
28
- throw "must pass in file name or handle"
28
+ raise ArgumentError, "must pass in file name or handle"
29
29
  end
30
30
 
31
31
  @fh.write("<?xml version='1.0'?>\n")
@@ -95,7 +95,7 @@ module MARC
95
95
  leader.add_text(record.leader)
96
96
  e.add_element(leader)
97
97
 
98
- for field in record.fields
98
+ record.each do |field|
99
99
  if field.class == MARC::DataField
100
100
  datafield_elem = REXML::Element.new("datafield")
101
101
 
@@ -137,7 +137,7 @@ module MARC
137
137
  control_element = REXML::Element.new("controlfield")
138
138
 
139
139
  # We need a marker for invalid tag values (we use 000)
140
- unless field.tag.match(ctrlFieldTag) or MARC::Field.control_tag?(ctrlFieldTag)
140
+ unless field.tag.match(ctrlFieldTag) or MARC::ControlField.control_tag?(ctrlFieldTag)
141
141
  field.tag = "00z"
142
142
  end
143
143
 
@@ -82,6 +82,29 @@ class ReaderTest < Test::Unit::TestCase
82
82
  assert_raises(StopIteration) { iter.next }
83
83
  end
84
84
 
85
-
85
+ def test_each_raw
86
+ reader = MARC::Reader.new('test/batch.dat')
87
+ count = 0
88
+ raw = nil
89
+ reader.each_raw { |r| count += 1; raw = r }
90
+ assert_equal(count, 10)
91
+ assert_instance_of(String, raw)
92
+
93
+ record = MARC::Reader.decode(raw)
94
+ assert_instance_of(MARC::Record, record)
95
+ end
96
+
97
+ def test_each_raw_enum
98
+ reader = MARC::Reader.new('test/batch.dat')
99
+ enum = reader.each_raw
100
+ r = enum.next
101
+ assert_instance_of(String, r)
102
+
103
+ record = MARC::Reader.decode(r)
104
+ assert_instance_of(MARC::Record, record)
105
+
106
+ 9.times {enum.next} # total of ten records
107
+ assert_raises(StopIteration) { enum.next }
108
+ end
86
109
 
87
110
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.2
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Kevin Clarke
@@ -14,101 +13,71 @@ authors:
14
13
  autorequire: marc
15
14
  bindir: bin
16
15
  cert_chain: []
17
- date: 2014-09-16 00:00:00.000000000 Z
16
+ date: 2015-01-28 00:00:00.000000000 Z
18
17
  dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
- name: ensure_valid_encoding
21
19
  requirement: !ruby/object:Gem::Requirement
22
- none: false
23
20
  requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- type: :runtime
28
- prerelease: false
29
- version_requirements: !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
32
- - - ! '>='
33
- - !ruby/object:Gem::Version
34
- version: '0'
35
- - !ruby/object:Gem::Dependency
36
- name: scrub_rb
37
- requirement: !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ! '>='
21
+ - - '>='
41
22
  - !ruby/object:Gem::Version
42
23
  version: 1.0.1
43
24
  - - <
44
25
  - !ruby/object:Gem::Version
45
26
  version: '2'
46
- type: :runtime
27
+ name: scrub_rb
47
28
  prerelease: false
29
+ type: :runtime
48
30
  version_requirements: !ruby/object:Gem::Requirement
49
- none: false
50
31
  requirements:
51
- - - ! '>='
32
+ - - '>='
52
33
  - !ruby/object:Gem::Version
53
34
  version: 1.0.1
54
35
  - - <
55
36
  - !ruby/object:Gem::Version
56
37
  version: '2'
57
38
  - !ruby/object:Gem::Dependency
58
- name: unf
59
39
  requirement: !ruby/object:Gem::Requirement
60
- none: false
61
40
  requirements:
62
- - - ! '>='
41
+ - - '>='
63
42
  - !ruby/object:Gem::Version
64
43
  version: '0'
65
- type: :runtime
44
+ name: unf
66
45
  prerelease: false
46
+ type: :runtime
67
47
  version_requirements: !ruby/object:Gem::Requirement
68
- none: false
69
48
  requirements:
70
- - - ! '>='
49
+ - - '>='
71
50
  - !ruby/object:Gem::Version
72
51
  version: '0'
73
- description:
52
+ description:
74
53
  email: ehs@pobox.com
75
54
  executables: []
76
55
  extensions: []
77
56
  extra_rdoc_files: []
78
57
  files:
58
+ - lib/marc.rb
79
59
  - lib/marc/constants.rb
80
60
  - lib/marc/controlfield.rb
81
61
  - lib/marc/datafield.rb
82
62
  - lib/marc/dublincore.rb
83
63
  - lib/marc/exception.rb
84
- - lib/marc/marc8/map_to_unicode.rb
85
- - lib/marc/marc8/to_unicode.rb
86
64
  - lib/marc/reader.rb
87
65
  - lib/marc/record.rb
88
66
  - lib/marc/subfield.rb
89
67
  - lib/marc/version.rb
90
- - lib/marc/writer-NEW.rb
91
68
  - lib/marc/writer.rb
92
69
  - lib/marc/xml_parsers.rb
93
70
  - lib/marc/xmlreader.rb
94
71
  - lib/marc/xmlwriter.rb
95
- - lib/marc.rb
72
+ - lib/marc/marc8/map_to_unicode.rb
73
+ - lib/marc/marc8/to_unicode.rb
96
74
  - test/bad_eacc_encoding.marc8.marc
97
75
  - test/batch.dat
98
76
  - test/batch.xml
99
- - test/bib178448.okay.human
100
- - test/bib178448.okay.marc
101
- - test/bib178448.writtenout.marc
102
77
  - test/cp866_multirecord.marc
103
78
  - test/cp866_unimarc.marc
104
79
  - test/escaped_character_reference.marc8.marc
105
- - test/hebrew880s.marc
106
- - test/marc8/data/test_marc8.txt
107
- - test/marc8/data/test_utf8.txt
108
- - test/marc8/tc_marc8_mapping.rb
109
- - test/marc8/tc_to_unicode.rb
110
80
  - test/marc8_accented_chars.marc
111
- - test/marc_with_bad_utf8.utf8.human
112
81
  - test/marc_with_bad_utf8.utf8.marc
113
82
  - test/no-leading-zero.xml
114
83
  - test/non-numeric.dat
@@ -133,6 +102,10 @@ files:
133
102
  - test/utf8.marc
134
103
  - test/utf8_multirecord.marc
135
104
  - test/utf8_with_bad_bytes.marc
105
+ - test/marc8/tc_marc8_mapping.rb
106
+ - test/marc8/tc_to_unicode.rb
107
+ - test/marc8/data/test_marc8.txt
108
+ - test/marc8/data/test_utf8.txt
136
109
  - Rakefile
137
110
  - README.md
138
111
  - Changes
@@ -140,27 +113,26 @@ files:
140
113
  homepage: https://github.com/ruby-marc/ruby-marc/
141
114
  licenses:
142
115
  - MIT
143
- post_install_message:
116
+ metadata: {}
117
+ post_install_message:
144
118
  rdoc_options: []
145
119
  require_paths:
146
120
  - lib
147
121
  required_ruby_version: !ruby/object:Gem::Requirement
148
- none: false
149
122
  requirements:
150
- - - ! '>='
123
+ - - '>='
151
124
  - !ruby/object:Gem::Version
152
125
  version: 1.8.6
153
126
  required_rubygems_version: !ruby/object:Gem::Requirement
154
- none: false
155
127
  requirements:
156
- - - ! '>='
128
+ - - '>='
157
129
  - !ruby/object:Gem::Version
158
130
  version: '0'
159
131
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 1.8.23
162
- signing_key:
163
- specification_version: 3
132
+ rubyforge_project:
133
+ rubygems_version: 2.1.9
134
+ signing_key:
135
+ specification_version: 4
164
136
  summary: A ruby library for working with Machine Readable Cataloging
165
137
  test_files:
166
138
  - test/ts_marc.rb
@@ -1,108 +0,0 @@
1
- module MARC
2
-
3
- # A class for writing MARC records as MARC21.
4
-
5
- class Writer
6
-
7
- # the constructor which you must pass a file path
8
- # or an object that responds to a write message
9
-
10
- def initialize(file)
11
- if file.class == String
12
- @fh = File.new(file,"w")
13
- elsif file.respond_to?('write')
14
- @fh = file
15
- else
16
- throw "must pass in file name or handle"
17
- end
18
- end
19
-
20
-
21
- # write a record to the file or handle
22
-
23
- def write(record)
24
- @fh.write(MARC::Writer.encode(record))
25
- end
26
-
27
-
28
- # close underlying filehandle
29
-
30
- def close
31
- @fh.close
32
- end
33
-
34
-
35
- # a static method that accepts a MARC::Record object
36
- # and returns the record encoded as MARC21 in transmission format
37
-
38
- def self.encode(record)
39
- directory = ''
40
- fields = ''
41
- offset = 0
42
- for field in record.fields
43
-
44
- # encode the field
45
- field_data = ''
46
- if field.class == MARC::DataField
47
- warn("Warn: Missing indicator") unless field.indicator1 && field.indicator2
48
- field_data = (field.indicator1 || " ") + (field.indicator2 || " ")
49
- for s in field.subfields
50
- field_data += SUBFIELD_INDICATOR + s.code + s.value
51
- end
52
- elsif field.class == MARC::ControlField
53
- field_data = field.value
54
- end
55
- field_data += END_OF_FIELD
56
-
57
- # calculate directory entry for the field
58
- field_length = (field_data.respond_to?(:bytesize) ?
59
- field_data.bytesize() :
60
- field_data.length())
61
- directory += sprintf("%03s", field.tag) + format_byte_count(field_length, 4) + format_byte_count(offset)
62
-
63
-
64
- # add field to data for other fields
65
- fields += field_data
66
-
67
- # update offset for next field
68
- offset += field_length
69
- end
70
-
71
- # determine the base (leader + directory)
72
- base = record.leader + directory + END_OF_FIELD
73
-
74
- # determine complete record
75
- marc = base + fields + END_OF_RECORD
76
-
77
- # update leader with the byte offest to the end of the directory
78
- marc[12..16] = format_byte_count(base.respond_to?(:bytesize) ?
79
- base.bytesize() :
80
- base.length()
81
- )
82
-
83
- # update the record length
84
- marc[0..4] = format_byte_count(marc.respond_to?(:bytesize) ?
85
- marc.bytesize() :
86
- marc.length()
87
- )
88
-
89
- # store updated leader in the record that was passed in
90
- record.leader = marc[0..LEADER_LENGTH-1]
91
-
92
- # return encoded marc
93
- return marc
94
- end
95
-
96
- def self.format_byte_count(number, num_digits=5)
97
- formatted = sprintf("%0#{num_digits}i", number)
98
- if formatted.length > num_digits
99
- # uh, oh, we've exceeded our max. Either zero out
100
- # or raise, depending on settings.
101
- #formatted = sprintf("%0#{num_digits}i", "")
102
- formatted = "9" * num_digits
103
- end
104
- return formatted
105
- end
106
-
107
- end
108
- end
@@ -1,24 +0,0 @@
1
- 01161cam a2200289 4500
2
- 001 178448
3
- 008 s1996 xx spa d
4
- 035 $a X!b
5
- 049 $a JHWV [AV] [NIRC] $n o
6
- 096 $a WY 20.5 VC6 1996
7
- 110 2 $a National Institutes of Health (U.S.)
8
- 110 2 $a National Institute of Nursing Research (U.S.)
9
- 110 2 $a Department of Health & Human Services (U.S.)
10
- 245 0 $a Ten years at NIH : $b advancing health through science : the human dimension / $c Patricia A. Grady, Harold Varmus.
11
- 246 $a 10 years at NIH
12
- 300 $a 2 videocassettes (229 min.) : $b sd., col. ; $c 1/2 in.
13
- 520 $a A series of speakers recounts advances in nursing research from 1986 to 1996. ˜
14
- 538 $a VHS.
15
- 650 2 $a Nursing Care $x videocassettes
16
- 650 2 $a Nursing Research $x videocassettes
17
- 650 2 $a Nursing $x videocassettes
18
- 700 10 $a Grady, Patricia Anne, $d 1943-
19
- 700 1 $a Varmus, Harold
20
- 910 $a 178448 $b Horizon bib#
21
- 949 31 $7 1 $5 WY 20.5 VC6 1996 $0 26 $0 G $2 A $8 5 $4 1
22
- 991 $a WY 20.5 VC6 1996 $f nlm $b wnlm $c c. 1 $q 0 $i 3199765 $l wempbk $m elsc
23
- 991 $a WY 20.5 VC6 1996 $f nlm $b wnlm $c c. 1 $q 0 $i 3199766 $l wempbk $m elsc
24
-
@@ -1 +0,0 @@
1
- 01161cam a2200289 4500001000700000008004100007035000800048049002400056096002100080110004100101110005100142110004900193245011600242246002000358300005600378520008500434538000900519650003300528650003700561650002800598700003300626700001900659910002500678949004000703991006400743991006400807178448 s1996 xx spa d aX!b aJHWV [AV] [NIRC]no aWY 20.5 VC6 19962 aNational Institutes of Health (U.S.)2 aNational Institute of Nursing Research (U.S.)2 aDepartment of Health & Human Services (U.S.) 0aTen years at NIH :badvancing health through science : the human dimension /cPatricia A. Grady, Harold Varmus. a10 years at NIH a2 videocassettes (229 min.) :bsd., col. ;c1/2 in. aA series of speakers recounts advances in nursing research from 1986 to 1996. ˜ aVHS. 2aNursing Carexvideocassettes 2aNursing Researchxvideocassettes 2aNursingxvideocassettes10aGrady, Patricia Anne,d1943-1 aVarmus, Harold a178448bHorizon bib#31715WY 20.5 VC6 19960260G2A8541 aWY 20.5 VC6 1996fnlmbwnlmcc. 1q0i3199765lwempbkmelsc aWY 20.5 VC6 1996fnlmbwnlmcc. 1q0i3199766lwempbkmelsc
@@ -1 +0,0 @@
1
- 01161cam a2200289 4500001000700000008004100007035000800048049002400056096002100080110004100101110005100142110004900193245011600242246002000358300005600378520008500434538000900519650003300528650003700561650002800598700003300626700001900659910002500678949004000703991006400743991006400807178448 s1996 xx spa d aX!b aJHWV [AV] [NIRC]no aWY 20.5 VC6 19962 aNational Institutes of Health (U.S.)2 aNational Institute of Nursing Research (U.S.)2 aDepartment of Health & Human Services (U.S.) 0aTen years at NIH :badvancing health through science : the human dimension /cPatricia A. Grady, Harold Varmus. a10 years at NIH a2 videocassettes (229 min.) :bsd., col. ;c1/2 in. aA series of speakers recounts advances in nursing research from 1986 to 1996. ˜ aVHS. 2aNursing Carexvideocassettes 2aNursing Researchxvideocassettes 2aNursingxvideocassettes10aGrady, Patricia Anne,d1943-1 aVarmus, Harold a178448bHorizon bib#31715WY 20.5 VC6 19960260G2A8541 aWY 20.5 VC6 1996fnlmbwnlmcc. 1q0i3199765lwempbkmelsc aWY 20.5 VC6 1996fnlmbwnlmcc. 1q0i3199766lwempbkmelsc
@@ -1 +0,0 @@
1
- 01998cam a2200469 a 4500001000800000005001700008008004100025020001800066020001500084024001800099024001200117035001200129035001700141035002100158040003200179042000800211049000900219050002100228066000700249100002900256245010000285246008400385260015000469300002100619504006400640541010900704600004100813600004700854650002500901650002300926650002900949650002500978752002201003880003701025880013001062880017301192910002601365936002701391938003801418991006001456994001201516408398520120302131100.0110313s2011 is b 001 0 heb c a9789651321337 a96513213348 a00032002131958 a3221319 a4083985 aocn710973037 a(OCoLC)710973037 aWEINBcWEINBdHLSdIXAdCUY apcc aJHEE 4aDS149b.R38 2011 c(21 6880-01aRatsabi, Shalom.106880-02aAnarkhizm be-"Tsiyon" :bben Marṭin Buber le-Aharon Daṿid Gordon /cShalom Ratsabi.1 iTitle on t.p. verso:aAnarchy in "Zion" :bbetween Martin Buber and A.D. Gordon 6880-03a[Tel Aviv] :bʻAm ʻoved :bha-Makhon le-ḥeḳer ha-Tsiyonut ve-Yiśra'el ʻa. sh. Ḥayim Ṿaitsman, Universiṭat Tel Aviv,cc2011. a339 p. ;c23 cm. aIncludes bibliographical references (p. 320-330) and index. 3Eisenhower copy:cPurchased with support from the National Endowment for the Humanities;dFY2012.5MdBJ.10aBuber, Martin,d1878-1965xReligion.10aGordon, Aaron David,d1856-1922xReligion. 0aZionism and Judaism. 0aReligious Zionism. 0aZionismxHistoriography. 0aZionismxPhilosophy. aIsraeldTel Aviv.1 6100-01/(2/raרצבי, שלום.106245-02/(2/raאנרכיזם ב״ציון״ :bבין מרטין בובר לאהרן דוד גורדון /cשלום רצבי. 6260-03/(2/ra[תל אביב] :bעם עובד :bהמכון לחקר הציונות וישראל עʺש חיים ויצמן, אוניברסיטת תל אביב,cc2011. a4083985bHorizon bib# aPR 747581025 741225747 aA.I. WeinbergbWEINnwb2011369996 aDS149.R38 2011flcbelccc. 1q0i6085034lemainmemsel aC0bJHE
@@ -1,40 +0,0 @@
1
- 01161cam a2200289 4500
2
- 001 178448
3
- 008 s1996 xx spa d
4
- 035 $a X!b
5
- 049 $a JHWV [AV] [NIRC] $n o
6
- 096 $a WY 20.5 VC6 1996
7
- 110 2 $a National Institutes of Health (U.S.)
8
- 110 2 $a National Institute of Nursing Research (U.S.)#
9
- (No separator at end of field length=51)
10
- (Bad indicator data. Skipping 2 bytes)
11
- 110 2 $a Department of Health & Human Services (U.S.)
12
- (Bad indicator data. Skipping 2 bytes)
13
- 245 0 $a Ten years at NIH : $b advancing health through science : the human dimension / $c Patricia A. Grady, Harold Varmus.
14
- (Bad indicator data. Skipping 2 bytes)
15
- 246 $a 10 years at NIH
16
- (Bad indicator data. Skipping 2 bytes)
17
- 300 $a 2 videocassettes (229 min.) : $b sd., col. ; $c 1/2 in.
18
- (Bad indicator data. Skipping 2 bytes)
19
- 520 $a A series of speakers recounts advances in nursing research from 1986 to 1996. ˜
20
- (Bad indicator data. Skipping 2 bytes)
21
- 538 $a VHS.
22
- (Bad indicator data. Skipping 2 bytes)
23
- 650 2 $a Nursing Care $x videocassettes
24
- (Bad indicator data. Skipping 2 bytes)
25
- 650 2 $a Nursing Research $x videocassettes
26
- (Bad indicator data. Skipping 2 bytes)
27
- 650 2 $a Nursing $x videocassettes
28
- (Bad indicator data. Skipping 2 bytes)
29
- 700 10 $a Grady, Patricia Anne, $d 1943-
30
- (Bad indicator data. Skipping 2 bytes)
31
- 700 1 $a Varmus, Harold
32
- (Bad indicator data. Skipping 2 bytes)
33
- 910 $a 178448 $b Horizon bib#
34
- (Bad indicator data. Skipping 2 bytes)
35
- 949 31 $7 1 $5 WY 20.5 VC6 1996 $0 26 $0 G $2 A $8 5 $4 1
36
- (Bad indicator data. Skipping 2 bytes)
37
- 991 $a WY 20.5 VC6 1996 $f nlm $b wnlm $c c. 1 $q 0 $i 3199765 $l wempbk $m elsc
38
- (Bad indicator data. Skipping 2 bytes)
39
- 991 $a WY 20.5 VC6 1996 $f nlm $b wnlm $c c. 1 $q 0 $i 3199766 $l wempbk $m elsc
40
-