cocina-models 0.122.0 → 0.124.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.
- checksums.yaml +4 -4
- data/.circleci/config.yml +1 -1
- data/AGENTS.md +2 -2
- data/Gemfile.lock +22 -6
- data/README.md +1 -1
- data/cocina-models.gemspec +1 -0
- data/description_types.yml +0 -2
- data/docs/description_types.md +0 -2
- data/identifier_source_codes.yml +210 -0
- data/lib/cocina/models/validators/composite_description_validator.rb +7 -1
- data/lib/cocina/models/validators/description_date_time_visitor_validator.rb +18 -9
- data/lib/cocina/models/validators/description_event_date_visitor_validator.rb +38 -0
- data/lib/cocina/models/validators/description_form_resource_type_visitor_validator.rb +46 -0
- data/lib/cocina/models/validators/description_identifier_source_code_visitor_validator.rb +41 -0
- data/lib/cocina/models/validators/description_location_source_code_visitor_validator.rb +43 -0
- data/lib/cocina/models/validators/description_role_source_code_visitor_validator.rb +44 -0
- data/lib/cocina/models/validators/description_subject_temporal_encoding_visitor_validator.rb +43 -0
- data/lib/cocina/models/validators/marc_date_validator.rb +28 -0
- data/lib/cocina/models/validators/marc_relator_role_validator.rb +83 -0
- data/lib/cocina/models/validators/validator.rb +2 -1
- data/lib/cocina/models/version.rb +1 -1
- data/location_source_codes.yml +483 -0
- data/resource_type_values.yml +30 -0
- data/schema.json +116 -8
- data/temporal_subject_encoding_codes.yml +8 -0
- metadata +27 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cocina
|
|
4
|
+
module Models
|
|
5
|
+
module Validators
|
|
6
|
+
# Validates encoding.code for subject entries with type "time" against
|
|
7
|
+
# temporal_subject_encoding_codes.yml (union of LOC date-time and temporal source lists).
|
|
8
|
+
class DescriptionSubjectTemporalEncodingVisitorValidator < BaseDescriptionVisitorValidator
|
|
9
|
+
def validate!
|
|
10
|
+
return if error_paths.empty?
|
|
11
|
+
|
|
12
|
+
raise ValidationError, "Unrecognized subject temporal encoding codes in description: #{error_paths.join(', ')}"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def visit_hash(hash:, path:)
|
|
16
|
+
return unless in_subject_path?(path)
|
|
17
|
+
return unless hash[:type].to_s == 'time'
|
|
18
|
+
|
|
19
|
+
encoding_code = hash.dig(:encoding, :code)
|
|
20
|
+
return unless encoding_code
|
|
21
|
+
|
|
22
|
+
error_paths << "#{path_to_s(path)}.encoding.code (#{encoding_code})" unless valid_codes.include?(encoding_code.downcase)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def error_paths
|
|
28
|
+
@error_paths ||= []
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def in_subject_path?(path)
|
|
32
|
+
path.any? { |part| part.to_s == 'subject' }
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# rubocop:disable Style/ClassVars
|
|
36
|
+
def valid_codes
|
|
37
|
+
@@valid_codes ||= YAML.load_file(::File.expand_path('../../../../temporal_subject_encoding_codes.yml', __dir__)).to_set(&:downcase)
|
|
38
|
+
end
|
|
39
|
+
# rubocop:enable Style/ClassVars
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cocina
|
|
4
|
+
module Models
|
|
5
|
+
module Validators
|
|
6
|
+
# Validates MARC date values.
|
|
7
|
+
class MarcDateValidator
|
|
8
|
+
def self.validate(date)
|
|
9
|
+
new(date).validate
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def initialize(date)
|
|
13
|
+
@date = date
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# MARC date formats:
|
|
17
|
+
# YYYY — 4 chars; digits may be replaced by 'u' (uncertain) or '|' (no attempt to code)
|
|
18
|
+
# YYMMDD — 6 chars; digits or 'u'
|
|
19
|
+
# YYYYMMDD — 8 chars; digits or 'u'
|
|
20
|
+
def validate # rubocop:disable Naming/PredicateMethod
|
|
21
|
+
/\A[0-9u|]{4}\z/.match?(@date) ||
|
|
22
|
+
/\A[0-9u]{6}\z/.match?(@date) ||
|
|
23
|
+
/\A[0-9u]{8}\z/.match?(@date)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'cocina_display'
|
|
4
|
+
|
|
5
|
+
module Cocina
|
|
6
|
+
module Models
|
|
7
|
+
module Validators
|
|
8
|
+
# Validates that contributor role codes from the marcrelator vocabulary are valid MARC relator codes.
|
|
9
|
+
# Includes discontinued codes. See https://www.loc.gov/marc/relators/relacode.html
|
|
10
|
+
class MarcRelatorRoleValidator
|
|
11
|
+
MARCRELATOR_SOURCE_CODES = %w[marcrelator].freeze
|
|
12
|
+
MARCRELATOR_SOURCE_URI = 'http://id.loc.gov/vocabulary/relators/'
|
|
13
|
+
|
|
14
|
+
def self.validate(clazz, attributes)
|
|
15
|
+
new(clazz, attributes).validate
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def initialize(clazz, attributes)
|
|
19
|
+
@clazz = clazz
|
|
20
|
+
@attributes = attributes
|
|
21
|
+
@errors = []
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def validate
|
|
25
|
+
return unless meets_preconditions?
|
|
26
|
+
|
|
27
|
+
resources.each { |resource| validate_resource(resource) }
|
|
28
|
+
raise ValidationError, "Invalid MARC relator codes in description: #{@errors.join(', ')}" if @errors.any?
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
private
|
|
32
|
+
|
|
33
|
+
attr_reader :clazz, :attributes
|
|
34
|
+
|
|
35
|
+
def meets_preconditions?
|
|
36
|
+
[Cocina::Models::Description, Cocina::Models::RequestDescription].include?(clazz)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def resources
|
|
40
|
+
[description_attributes] + Array(description_attributes[:relatedResource])
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def description_attributes
|
|
44
|
+
@description_attributes ||= if [Cocina::Models::Description,
|
|
45
|
+
Cocina::Models::RequestDescription].include?(clazz)
|
|
46
|
+
attributes
|
|
47
|
+
else
|
|
48
|
+
attributes[:description] || {}
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def validate_resource(resource)
|
|
53
|
+
Array(resource[:contributor]).each_with_index do |contributor, contributor_index|
|
|
54
|
+
Array(contributor[:role]).each_with_index do |role, role_index|
|
|
55
|
+
validate_role(role, "contributor#{contributor_index + 1}.role#{role_index + 1}")
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def validate_role(role, path)
|
|
61
|
+
return unless marc_relator_source?(role)
|
|
62
|
+
|
|
63
|
+
code = role[:code]
|
|
64
|
+
return if code.nil?
|
|
65
|
+
|
|
66
|
+
@errors << "#{path} (#{code})" unless valid_codes.include?(code)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def marc_relator_source?(role)
|
|
70
|
+
source = role[:source] || {}
|
|
71
|
+
MARCRELATOR_SOURCE_CODES.include?(source[:code]) ||
|
|
72
|
+
source[:uri]&.start_with?(MARCRELATOR_SOURCE_URI)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
# rubocop:disable Style/ClassVars
|
|
76
|
+
def valid_codes
|
|
77
|
+
@@valid_codes ||= YAML.load_file(CocinaDisplay.root.join('config/marc_relators.yml')).keys
|
|
78
|
+
end
|
|
79
|
+
# rubocop:enable Style/ClassVars
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Location source codes from https://www.loc.gov/standards/sourcelist/subject.html
|
|
3
|
+
# Plus additional codes specified in issue #1094
|
|
4
|
+
- aass
|
|
5
|
+
- aat
|
|
6
|
+
- aatnor
|
|
7
|
+
- abne
|
|
8
|
+
- aedoml
|
|
9
|
+
- afo
|
|
10
|
+
- afset
|
|
11
|
+
- agrifors
|
|
12
|
+
- agrovoc
|
|
13
|
+
- agrovocf
|
|
14
|
+
- agrovocs
|
|
15
|
+
- ahecc
|
|
16
|
+
- aiatsisl
|
|
17
|
+
- aiatsisp
|
|
18
|
+
- aiatsiss
|
|
19
|
+
- aktp
|
|
20
|
+
- albt
|
|
21
|
+
- allars
|
|
22
|
+
- anzsic
|
|
23
|
+
- anzsoc
|
|
24
|
+
- anzsrc
|
|
25
|
+
- apaist
|
|
26
|
+
- armarc
|
|
27
|
+
- ascdc
|
|
28
|
+
- asced
|
|
29
|
+
- ascl
|
|
30
|
+
- asft
|
|
31
|
+
- ashlnl
|
|
32
|
+
- asrcrfcd
|
|
33
|
+
- asrcseo
|
|
34
|
+
- asrctoa
|
|
35
|
+
- asth
|
|
36
|
+
- ated
|
|
37
|
+
- atg
|
|
38
|
+
- atla
|
|
39
|
+
- aucsh
|
|
40
|
+
- ausext
|
|
41
|
+
- bare
|
|
42
|
+
- barn
|
|
43
|
+
- bdrc
|
|
44
|
+
- bella
|
|
45
|
+
- bet
|
|
46
|
+
- bhammf
|
|
47
|
+
- bhashe
|
|
48
|
+
- bhb
|
|
49
|
+
- bib1814
|
|
50
|
+
- bibalex
|
|
51
|
+
- bibbi
|
|
52
|
+
- biccbmc
|
|
53
|
+
- bicssc
|
|
54
|
+
- bidex
|
|
55
|
+
- bisacmt
|
|
56
|
+
- bisacrt
|
|
57
|
+
- bisacsh
|
|
58
|
+
- bjornson
|
|
59
|
+
- blcpss
|
|
60
|
+
- blmlsh
|
|
61
|
+
- blnpn
|
|
62
|
+
- bokbas
|
|
63
|
+
- bt
|
|
64
|
+
- btr
|
|
65
|
+
- buscem
|
|
66
|
+
- cccv
|
|
67
|
+
- cabt
|
|
68
|
+
- cagraq
|
|
69
|
+
- cash
|
|
70
|
+
- cbktrf
|
|
71
|
+
- cck
|
|
72
|
+
- cckthema
|
|
73
|
+
- ccga
|
|
74
|
+
- ccsa
|
|
75
|
+
- cct
|
|
76
|
+
- ccte
|
|
77
|
+
- cctf
|
|
78
|
+
- cdcng
|
|
79
|
+
- ceeus
|
|
80
|
+
- cgpa
|
|
81
|
+
- cgndb
|
|
82
|
+
- chirosh
|
|
83
|
+
- cht
|
|
84
|
+
- ciesiniv
|
|
85
|
+
- cilla
|
|
86
|
+
- collett
|
|
87
|
+
- conorsi
|
|
88
|
+
- conorsr
|
|
89
|
+
- csahssa
|
|
90
|
+
- csalsct
|
|
91
|
+
- csapa
|
|
92
|
+
- csh
|
|
93
|
+
- csht
|
|
94
|
+
- cstud
|
|
95
|
+
- cyac
|
|
96
|
+
- czenas
|
|
97
|
+
- czmesh
|
|
98
|
+
- dbcsh
|
|
99
|
+
- dbn
|
|
100
|
+
- dcs
|
|
101
|
+
- ddcri
|
|
102
|
+
- ddcrit
|
|
103
|
+
- ddcut
|
|
104
|
+
- dhb-jdg
|
|
105
|
+
- dicgenam
|
|
106
|
+
- dicgenes
|
|
107
|
+
- dicgentop
|
|
108
|
+
- dissao
|
|
109
|
+
- dit
|
|
110
|
+
- dltlt
|
|
111
|
+
- dltt
|
|
112
|
+
- drama
|
|
113
|
+
- dtict
|
|
114
|
+
- dugfr
|
|
115
|
+
- ebfem
|
|
116
|
+
- eclas
|
|
117
|
+
- eet
|
|
118
|
+
- eflch
|
|
119
|
+
- eks
|
|
120
|
+
- elsst
|
|
121
|
+
- embehu
|
|
122
|
+
- embiaecid
|
|
123
|
+
- embne
|
|
124
|
+
- embucm
|
|
125
|
+
- embus
|
|
126
|
+
- embuz
|
|
127
|
+
- emnmus
|
|
128
|
+
- ept
|
|
129
|
+
- erfemn
|
|
130
|
+
- ericd
|
|
131
|
+
- esar
|
|
132
|
+
- est
|
|
133
|
+
- etiras
|
|
134
|
+
- etuesh
|
|
135
|
+
- etuturkob
|
|
136
|
+
- eum
|
|
137
|
+
- eurovoc
|
|
138
|
+
- eurovocen
|
|
139
|
+
- eurovoces
|
|
140
|
+
- eurovocfr
|
|
141
|
+
- eurovocsl
|
|
142
|
+
- fast
|
|
143
|
+
- fcb
|
|
144
|
+
- fes
|
|
145
|
+
- finmesh
|
|
146
|
+
- fire
|
|
147
|
+
- flgeo
|
|
148
|
+
- fmesh
|
|
149
|
+
- fnhl
|
|
150
|
+
- francis
|
|
151
|
+
- frst
|
|
152
|
+
- fssh
|
|
153
|
+
- galestne
|
|
154
|
+
- gbd
|
|
155
|
+
- gccst
|
|
156
|
+
- gcipmedia
|
|
157
|
+
- gcipplatform
|
|
158
|
+
- gem
|
|
159
|
+
- gemet
|
|
160
|
+
- geni
|
|
161
|
+
- geonames
|
|
162
|
+
- geonet
|
|
163
|
+
- georeft
|
|
164
|
+
- gnd
|
|
165
|
+
- gnis
|
|
166
|
+
- gpn
|
|
167
|
+
- gsso
|
|
168
|
+
- gst
|
|
169
|
+
- gtt
|
|
170
|
+
- habibe
|
|
171
|
+
- habich
|
|
172
|
+
- habifr
|
|
173
|
+
- habiit
|
|
174
|
+
- hamsun
|
|
175
|
+
- hapi
|
|
176
|
+
- helecon
|
|
177
|
+
- henn
|
|
178
|
+
- hkcan
|
|
179
|
+
- hlasstg
|
|
180
|
+
- hoidokki
|
|
181
|
+
- homoit
|
|
182
|
+
- hrvmesh
|
|
183
|
+
- hrvmr
|
|
184
|
+
- huc
|
|
185
|
+
- humord
|
|
186
|
+
- ibsen
|
|
187
|
+
- ica
|
|
188
|
+
- iconauth
|
|
189
|
+
- icpsr
|
|
190
|
+
- idas
|
|
191
|
+
- idref
|
|
192
|
+
- idsbb
|
|
193
|
+
- idszbz
|
|
194
|
+
- idszbzes
|
|
195
|
+
- idszbzna
|
|
196
|
+
- idszbzzg
|
|
197
|
+
- idszbzzh
|
|
198
|
+
- idszbzzk
|
|
199
|
+
- iescs
|
|
200
|
+
- iest
|
|
201
|
+
- ilot
|
|
202
|
+
- ilpt
|
|
203
|
+
- inist
|
|
204
|
+
- inspect
|
|
205
|
+
- ipat
|
|
206
|
+
- ipsp
|
|
207
|
+
- iptcnc
|
|
208
|
+
- iso3166
|
|
209
|
+
- iso3166-2
|
|
210
|
+
- isis
|
|
211
|
+
- itglit
|
|
212
|
+
- itis
|
|
213
|
+
- itrt
|
|
214
|
+
- jhpb
|
|
215
|
+
- jhpk
|
|
216
|
+
- jlabsh
|
|
217
|
+
- juho
|
|
218
|
+
- jupo
|
|
219
|
+
- jurivoc
|
|
220
|
+
- kaa
|
|
221
|
+
- kaba
|
|
222
|
+
- kao
|
|
223
|
+
- kassu
|
|
224
|
+
- kauno
|
|
225
|
+
- kaunokki
|
|
226
|
+
- kdm
|
|
227
|
+
- khib
|
|
228
|
+
- kito
|
|
229
|
+
- kitu
|
|
230
|
+
- kkts
|
|
231
|
+
- koko
|
|
232
|
+
- kssbar
|
|
233
|
+
- kta
|
|
234
|
+
- kto
|
|
235
|
+
- ktpt
|
|
236
|
+
- ktta
|
|
237
|
+
- kubikat
|
|
238
|
+
- kula
|
|
239
|
+
- kulo
|
|
240
|
+
- kupu
|
|
241
|
+
- labloc
|
|
242
|
+
- lacnaf
|
|
243
|
+
- lapponica
|
|
244
|
+
- larpcal
|
|
245
|
+
- lcac
|
|
246
|
+
- lcdgt
|
|
247
|
+
- lcsh
|
|
248
|
+
- lcshac
|
|
249
|
+
- lcstt
|
|
250
|
+
- lctgm
|
|
251
|
+
- leaubsh
|
|
252
|
+
- lemac
|
|
253
|
+
- lemb
|
|
254
|
+
- liito
|
|
255
|
+
- liv
|
|
256
|
+
- lnmmbr
|
|
257
|
+
- local
|
|
258
|
+
- lst
|
|
259
|
+
- ltcsh
|
|
260
|
+
- lua
|
|
261
|
+
- maaq
|
|
262
|
+
- maknaz
|
|
263
|
+
- maotao
|
|
264
|
+
- mar
|
|
265
|
+
- marcgac
|
|
266
|
+
- marccountry
|
|
267
|
+
- masa
|
|
268
|
+
- mech
|
|
269
|
+
- mero
|
|
270
|
+
- mesh
|
|
271
|
+
- meshscr
|
|
272
|
+
- minecost
|
|
273
|
+
- mipfesd
|
|
274
|
+
- mmm
|
|
275
|
+
- mpirdes
|
|
276
|
+
- msc
|
|
277
|
+
- msh
|
|
278
|
+
- mtirdes
|
|
279
|
+
- mts
|
|
280
|
+
- musa
|
|
281
|
+
- muso
|
|
282
|
+
- muzeukc
|
|
283
|
+
- muzeukn
|
|
284
|
+
- muzvukci
|
|
285
|
+
- naf
|
|
286
|
+
- nal
|
|
287
|
+
- nalnaf
|
|
288
|
+
- nasat
|
|
289
|
+
- nbdbt
|
|
290
|
+
- nbiemnfag
|
|
291
|
+
- ncjt
|
|
292
|
+
- ndlsh
|
|
293
|
+
- neo
|
|
294
|
+
- netc
|
|
295
|
+
- nicem
|
|
296
|
+
- nimacsc
|
|
297
|
+
- niodt
|
|
298
|
+
- nlgaf
|
|
299
|
+
- nlgkk
|
|
300
|
+
- nlgsh
|
|
301
|
+
- nli
|
|
302
|
+
- nlksh
|
|
303
|
+
- nlmnaf
|
|
304
|
+
- nmaict
|
|
305
|
+
- no-ubo-mr
|
|
306
|
+
- noraf
|
|
307
|
+
- noram
|
|
308
|
+
- norbok
|
|
309
|
+
- normesh
|
|
310
|
+
- norvok
|
|
311
|
+
- noubojur
|
|
312
|
+
- noubomn
|
|
313
|
+
- nsbncf
|
|
314
|
+
- nskps
|
|
315
|
+
- nta
|
|
316
|
+
- ntc
|
|
317
|
+
- ntcpsc
|
|
318
|
+
- ntcsd
|
|
319
|
+
- ntids
|
|
320
|
+
- ntissc
|
|
321
|
+
- nzggn
|
|
322
|
+
- nznb
|
|
323
|
+
- odlt
|
|
324
|
+
- ogst
|
|
325
|
+
- opat
|
|
326
|
+
- opms
|
|
327
|
+
- ordnok
|
|
328
|
+
- orgnr
|
|
329
|
+
- pana
|
|
330
|
+
- pascal
|
|
331
|
+
- peakbag
|
|
332
|
+
- pepp
|
|
333
|
+
- peri
|
|
334
|
+
- periodo
|
|
335
|
+
- pha
|
|
336
|
+
- pkk
|
|
337
|
+
- pldi
|
|
338
|
+
- pleiades
|
|
339
|
+
- pmbok
|
|
340
|
+
- pmcsg
|
|
341
|
+
- pmont
|
|
342
|
+
- pmt
|
|
343
|
+
- poha
|
|
344
|
+
- poliscit
|
|
345
|
+
- popinte
|
|
346
|
+
- pplt
|
|
347
|
+
- ppluk
|
|
348
|
+
- precis
|
|
349
|
+
- prnpdi
|
|
350
|
+
- proqsc
|
|
351
|
+
- prvt
|
|
352
|
+
- psh
|
|
353
|
+
- psychit
|
|
354
|
+
- puho
|
|
355
|
+
- qlit
|
|
356
|
+
- qlsp
|
|
357
|
+
- qnaf
|
|
358
|
+
- qnlsh
|
|
359
|
+
- qrma
|
|
360
|
+
- qrmak
|
|
361
|
+
- qtglit
|
|
362
|
+
- quiding
|
|
363
|
+
- ram
|
|
364
|
+
- rasuqam
|
|
365
|
+
- rdm
|
|
366
|
+
- renib
|
|
367
|
+
- reo
|
|
368
|
+
- rero
|
|
369
|
+
- rerovoc
|
|
370
|
+
- rma
|
|
371
|
+
- root
|
|
372
|
+
- rpe
|
|
373
|
+
- rswk
|
|
374
|
+
- rswkaf
|
|
375
|
+
- rugeo
|
|
376
|
+
- rurkp
|
|
377
|
+
- rvm
|
|
378
|
+
- rvmfast
|
|
379
|
+
- rvmgd
|
|
380
|
+
- samisk
|
|
381
|
+
- sanb
|
|
382
|
+
- sao
|
|
383
|
+
- sbaa
|
|
384
|
+
- sbiao
|
|
385
|
+
- sbt
|
|
386
|
+
- scbi
|
|
387
|
+
- scgdst
|
|
388
|
+
- scisshl
|
|
389
|
+
- scot
|
|
390
|
+
- sears
|
|
391
|
+
- sesca
|
|
392
|
+
- sfit
|
|
393
|
+
- sgc
|
|
394
|
+
- sgce
|
|
395
|
+
- shbe
|
|
396
|
+
- she
|
|
397
|
+
- shsples
|
|
398
|
+
- sigle
|
|
399
|
+
- sipri
|
|
400
|
+
- sk
|
|
401
|
+
- skbb
|
|
402
|
+
- skish
|
|
403
|
+
- skon
|
|
404
|
+
- slem
|
|
405
|
+
- smda
|
|
406
|
+
- snt
|
|
407
|
+
- socio
|
|
408
|
+
- solstad
|
|
409
|
+
- sosa
|
|
410
|
+
- soto
|
|
411
|
+
- spines
|
|
412
|
+
- ssg
|
|
413
|
+
- stcv
|
|
414
|
+
- sthus
|
|
415
|
+
- stw
|
|
416
|
+
- swd
|
|
417
|
+
- swdl
|
|
418
|
+
- swemesh
|
|
419
|
+
- taika
|
|
420
|
+
- tasmas
|
|
421
|
+
- taxhs
|
|
422
|
+
- tbjvp
|
|
423
|
+
- tef
|
|
424
|
+
- tekord
|
|
425
|
+
- tero
|
|
426
|
+
- tesa
|
|
427
|
+
- tesbhaecid
|
|
428
|
+
- test
|
|
429
|
+
- tgn
|
|
430
|
+
- tha
|
|
431
|
+
- thema
|
|
432
|
+
- thesoz
|
|
433
|
+
- thia
|
|
434
|
+
- thla
|
|
435
|
+
- tho
|
|
436
|
+
- thub
|
|
437
|
+
- tips
|
|
438
|
+
- tisa
|
|
439
|
+
- tlka
|
|
440
|
+
- tlsh
|
|
441
|
+
- tmdbm
|
|
442
|
+
- tmdbp
|
|
443
|
+
- tmdbtv
|
|
444
|
+
- trfarn
|
|
445
|
+
- trfbmb
|
|
446
|
+
- trfdh
|
|
447
|
+
- trfgr
|
|
448
|
+
- trfoba
|
|
449
|
+
- trfzb
|
|
450
|
+
- trt
|
|
451
|
+
- trtsa
|
|
452
|
+
- tsaij
|
|
453
|
+
- tshd
|
|
454
|
+
- tsht
|
|
455
|
+
- tsr
|
|
456
|
+
- ttka
|
|
457
|
+
- ttll
|
|
458
|
+
- tucua
|
|
459
|
+
- udc
|
|
460
|
+
- ukslc
|
|
461
|
+
- ula
|
|
462
|
+
- ulan
|
|
463
|
+
- umitrist
|
|
464
|
+
- unbisn
|
|
465
|
+
- unbist
|
|
466
|
+
- unescot
|
|
467
|
+
- unicefirc
|
|
468
|
+
- usaidt
|
|
469
|
+
- usgst
|
|
470
|
+
- valo
|
|
471
|
+
- vcaadu
|
|
472
|
+
- vffyl
|
|
473
|
+
- vmj
|
|
474
|
+
- waqaf
|
|
475
|
+
- watrest
|
|
476
|
+
- wgst
|
|
477
|
+
- wikidata
|
|
478
|
+
- worldcat
|
|
479
|
+
- wot
|
|
480
|
+
- wpicsh
|
|
481
|
+
- ysa
|
|
482
|
+
- yso
|
|
483
|
+
- zst
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
MODS resource type:
|
|
2
|
+
- text
|
|
3
|
+
- cartographic
|
|
4
|
+
- notated music
|
|
5
|
+
- sound recording
|
|
6
|
+
- sound recording-musical
|
|
7
|
+
- sound recording-nonmusical
|
|
8
|
+
- still image
|
|
9
|
+
- moving image
|
|
10
|
+
- three dimensional object
|
|
11
|
+
- software, multimedia
|
|
12
|
+
- mixed material
|
|
13
|
+
- collection
|
|
14
|
+
- manuscript
|
|
15
|
+
LC Resource Type Scheme:
|
|
16
|
+
- Artifact
|
|
17
|
+
- Audio
|
|
18
|
+
- Cartographic
|
|
19
|
+
- Collection
|
|
20
|
+
- Dataset
|
|
21
|
+
- Digital
|
|
22
|
+
- Manuscript
|
|
23
|
+
- Mixed material
|
|
24
|
+
- Moving image
|
|
25
|
+
- Multimedia
|
|
26
|
+
- Notated music
|
|
27
|
+
- Still image
|
|
28
|
+
- Tactile
|
|
29
|
+
- Text
|
|
30
|
+
- Unspecified
|