marc 0.8.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
-