cocina-models 0.72.0 → 0.73.2
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/README.md +5 -0
- data/description_types.yml +554 -0
- data/docs/_config.yml +1 -0
- data/docs/description_types.md +456 -0
- data/lib/cocina/generator/generator.rb +49 -0
- data/lib/cocina/models/access_role.rb +1 -1
- data/lib/cocina/models/validators/description_types_validator.rb +119 -0
- data/lib/cocina/models/validators/validator.rb +6 -1
- data/lib/cocina/models/version.rb +1 -1
- data/openapi.yml +3 -6
- metadata +10 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9d9daf76e1c730f4d90feb50aef11b7c07311c3de072e3aa3fda2a333bcaa9e3
|
|
4
|
+
data.tar.gz: 4146a2ea5576342e551174c8a7bb6105dab17183891deb51ffdae8078c4e9376
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 67afdadc24eb7b51c372ce92e1acb421adb912049c6e602da6c5e7a0b681e49169e3c1bff00fed9fa819bc2a90a5c924c0a99f3a168e4bf5636be4623f75f389
|
|
7
|
+
data.tar.gz: e6aae26f2c653b75a604fdda11ad6db9b41014e199f0d6cdc6fc6139544fc881a372830553e95250a0b96692854a32b829d3abd6ba54fe809304e6ae8e1d049e
|
data/README.md
CHANGED
|
@@ -31,6 +31,11 @@ exe/generator generate_schema DRO
|
|
|
31
31
|
exe/generator generate_vocab
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
### Descriptive documentation
|
|
35
|
+
```
|
|
36
|
+
exe/generator generate_descriptive_docs
|
|
37
|
+
```
|
|
38
|
+
|
|
34
39
|
## Testing
|
|
35
40
|
|
|
36
41
|
The generator is tested via its output when run against `openapi.yml`, viz., the Cocina model classes. Thus, `generate` should be run after any changes to `openapi.yml`.
|
|
@@ -0,0 +1,554 @@
|
|
|
1
|
+
# Description type validation
|
|
2
|
+
|
|
3
|
+
access.accessContact:
|
|
4
|
+
- value: email
|
|
5
|
+
description: Email address for a contact person or institution concerning the resource.
|
|
6
|
+
- value: repository
|
|
7
|
+
description: Institution providing access to the resource.
|
|
8
|
+
access.digitalLocation:
|
|
9
|
+
- value: discovery
|
|
10
|
+
description: Online location for the purpose of discovering the resource.
|
|
11
|
+
access.note:
|
|
12
|
+
- value: access restriction
|
|
13
|
+
description: Restrictions on or conditions for gaining access to the resource.
|
|
14
|
+
- value: display label
|
|
15
|
+
description: Display label for the purl.
|
|
16
|
+
- value: license
|
|
17
|
+
description: License describing allowed uses of the resource.
|
|
18
|
+
- value: use and reproduction
|
|
19
|
+
description: Information related to allowed uses of the resource in other contexts.
|
|
20
|
+
access.physicalLocation:
|
|
21
|
+
- value: discovery
|
|
22
|
+
description: Location where a user may find the resource.
|
|
23
|
+
- value: location
|
|
24
|
+
description: Physical location of the resource, or path to the resource on a hard drive or disk.
|
|
25
|
+
- value: repository
|
|
26
|
+
description: The institution holding the resource.
|
|
27
|
+
- value: series
|
|
28
|
+
description: Archival series of the resource.
|
|
29
|
+
status: deprecated
|
|
30
|
+
- value: shelf locator
|
|
31
|
+
description: Identifier or shelfmark indicating the location of the resource.
|
|
32
|
+
adminMetadata.note:
|
|
33
|
+
- value: record information
|
|
34
|
+
description: General information about the metadata record.
|
|
35
|
+
- value: record origin
|
|
36
|
+
description: The source of the record, such as another record transformed to generate the current record.
|
|
37
|
+
contributor:
|
|
38
|
+
- value: conference
|
|
39
|
+
description: An event focusing on a particular topic or discipline.
|
|
40
|
+
- value: event
|
|
41
|
+
description: A time-bound occurrence.
|
|
42
|
+
- value: family
|
|
43
|
+
description: A group of individuals related by blood or personal alliance.
|
|
44
|
+
- value: organization
|
|
45
|
+
description: An institution or other corporate or collective body.
|
|
46
|
+
- value: person
|
|
47
|
+
description: An individual identity.
|
|
48
|
+
- value: unspecified others
|
|
49
|
+
description: Designator for one or more additional contributors not named individually.
|
|
50
|
+
contributor.identifier:
|
|
51
|
+
- value: ORCID
|
|
52
|
+
description: Identifier from orcid.org.
|
|
53
|
+
- value: Wikidata
|
|
54
|
+
description: Identifier from wikidata.org.
|
|
55
|
+
contributor.name:
|
|
56
|
+
- value: alternative
|
|
57
|
+
description: Additional nonpreferred form of name.
|
|
58
|
+
- value: display
|
|
59
|
+
description: Preferred form of the name for display.
|
|
60
|
+
- value: forename
|
|
61
|
+
description: First or given name or names.
|
|
62
|
+
- value: inverted full name
|
|
63
|
+
description: Name given in last name, first name order.
|
|
64
|
+
- value: pseudonym
|
|
65
|
+
description: Name used that differs from legal or primary form of name.
|
|
66
|
+
- value: surname
|
|
67
|
+
description: Last or family name.
|
|
68
|
+
- value: transliteration
|
|
69
|
+
description: Name originally in non-Latin script presented phonetically using Latin characters.
|
|
70
|
+
contributor.name.structuredValue:
|
|
71
|
+
- value: activity dates
|
|
72
|
+
description: The date or dates when someone was producing work.
|
|
73
|
+
- value: forename
|
|
74
|
+
description: First or given name or names.
|
|
75
|
+
- value: life dates
|
|
76
|
+
description: Birth and death dates, or dates when an entity was in existence.
|
|
77
|
+
- value: name
|
|
78
|
+
description: Name provided alongside additional information.
|
|
79
|
+
- value: ordinal
|
|
80
|
+
description: Indicator that the name is one in a series (e.g. Elizabeth I, Martin Luther King, Jr.).
|
|
81
|
+
- value: surname
|
|
82
|
+
description: Last or family name.
|
|
83
|
+
- value: term of address
|
|
84
|
+
description: Title or other signifier associated with name.
|
|
85
|
+
contributor.name.groupedValue:
|
|
86
|
+
- value: alternative
|
|
87
|
+
description: Additional nonpreferred form of name.
|
|
88
|
+
- value: name
|
|
89
|
+
description: Primary form of name within group of values.
|
|
90
|
+
- value: pseudonym
|
|
91
|
+
description: Name used that differs from legal or primary form of name.
|
|
92
|
+
contributor.note:
|
|
93
|
+
- value: affiliation
|
|
94
|
+
description: Institution with which the contributor is associated.
|
|
95
|
+
- value: citation status
|
|
96
|
+
description: Indicator of whether the contributor should be included in the citation.
|
|
97
|
+
- value: description
|
|
98
|
+
description: Biographical information about the contributor.
|
|
99
|
+
event:
|
|
100
|
+
- value: acquisition
|
|
101
|
+
description: The transferral of ownership of a resource to a repository.
|
|
102
|
+
- value: capture
|
|
103
|
+
description: A record of the resource in a fixed form at a specific time.
|
|
104
|
+
- value: collection
|
|
105
|
+
description: The addition of a resource to a set of other resources.
|
|
106
|
+
- value: copyright
|
|
107
|
+
description: The activity by which a resource may be considered subject to copyright law.
|
|
108
|
+
- value: copyright notice
|
|
109
|
+
description: An explicit statement that a resource is under copyright.
|
|
110
|
+
- value: creation
|
|
111
|
+
description: The coming into being of a resource.
|
|
112
|
+
- value: degree conferral
|
|
113
|
+
description: The institutional approval of a thesis or other resource leading to an academic degree.
|
|
114
|
+
- value: development
|
|
115
|
+
description: The creation of a print from a photographic negative or other source medium.
|
|
116
|
+
- value: distribution
|
|
117
|
+
description: The delivery of the resource to an external audience.
|
|
118
|
+
- value: generation
|
|
119
|
+
description: The creation of a resource by an automatic or natural process.
|
|
120
|
+
- value: manufacture
|
|
121
|
+
description: The physical assembly of a resource, often in multiple copies, for publication or other distribution.
|
|
122
|
+
- value: modification
|
|
123
|
+
description: A change to an existing resource.
|
|
124
|
+
- value: performance
|
|
125
|
+
description: The enactment of an artistic or cultural work for an audience, such as a play.
|
|
126
|
+
- value: presentation
|
|
127
|
+
description: The discussion of an academic or intellectual work for an audience, such as a seminar.
|
|
128
|
+
- value: production
|
|
129
|
+
description: The physical assembly of a resource not considered published, such as page proofs for a book.
|
|
130
|
+
- value: publication
|
|
131
|
+
description: The publishing or issuing of a resource.
|
|
132
|
+
- value: recording
|
|
133
|
+
description: The initial fixation to a medium of live audio and/or visual activity.
|
|
134
|
+
- value: release
|
|
135
|
+
description: Making a resource available to a broader audience.
|
|
136
|
+
- value: submission
|
|
137
|
+
description: The provision of a resource for review or evaluation.
|
|
138
|
+
- value: validity
|
|
139
|
+
description: When a resource takes effect, such as a revised train schedule.
|
|
140
|
+
- value: withdrawal
|
|
141
|
+
description: The removal of previous access to a resource, often due to its obsolescence.
|
|
142
|
+
event.date:
|
|
143
|
+
- value: acquisition
|
|
144
|
+
description: The transferral of ownership of a resource to a repository.
|
|
145
|
+
- value: capture
|
|
146
|
+
description: A record of the resource in a fixed form at a specific time.
|
|
147
|
+
- value: collection
|
|
148
|
+
description: The addition of a resource to a set of other resources.
|
|
149
|
+
- value: copyright
|
|
150
|
+
description: The activity by which a resource may be considered subject to copyright law.
|
|
151
|
+
- value: creation
|
|
152
|
+
description: The coming into being of a resource.
|
|
153
|
+
- value: degree conferral
|
|
154
|
+
description: The institutional approval of a thesis or other resource leading to an academic degree.
|
|
155
|
+
- value: developed
|
|
156
|
+
description: The creation of a print from a photographic negative or other source medium.
|
|
157
|
+
status: deprecated
|
|
158
|
+
use: development
|
|
159
|
+
- value: development
|
|
160
|
+
description: The creation of a print from a photographic negative or other source medium.
|
|
161
|
+
- value: distribution
|
|
162
|
+
description: The delivery of the resource to an external audience.
|
|
163
|
+
- value: generation
|
|
164
|
+
description: The creation of a resource by an automatic or natural process.
|
|
165
|
+
- value: manufacture
|
|
166
|
+
description: The physical assembly of a resource, often in multiple copies, for publication or other distribution.
|
|
167
|
+
- value: modification
|
|
168
|
+
description: A change to an existing resource.
|
|
169
|
+
- value: performance
|
|
170
|
+
description: The enactment of an artistic or cultural work for an audience, such as a play.
|
|
171
|
+
- value: presentation
|
|
172
|
+
description: The discussion of an academic or intellectual work for an audience, such as a seminar.
|
|
173
|
+
- value: production
|
|
174
|
+
description: The physical assembly of a resource not considered published, such as page proofs for a book.
|
|
175
|
+
- value: publication
|
|
176
|
+
description: The publishing or issuing of a resource.
|
|
177
|
+
- value: recording
|
|
178
|
+
description: The initial fixation to a medium of live audio and/or visual activity.
|
|
179
|
+
- value: release
|
|
180
|
+
description: Making a resource available to a broader audience.
|
|
181
|
+
- value: submission
|
|
182
|
+
description: The provision of a resource for review or evaluation.
|
|
183
|
+
- value: validity
|
|
184
|
+
description: When a resource takes effect, such as a revised train schedule.
|
|
185
|
+
- value: withdrawal
|
|
186
|
+
description: The removal of previous access to a resource, often due to its obsolescence.
|
|
187
|
+
event.date.structuredValue:
|
|
188
|
+
- value: start
|
|
189
|
+
description: The start date in a range.
|
|
190
|
+
- value: end
|
|
191
|
+
description: The end date in a range.
|
|
192
|
+
event.note:
|
|
193
|
+
- value: copyright statement
|
|
194
|
+
description: A formal declaration of copyright on a resource.
|
|
195
|
+
- value: edition
|
|
196
|
+
- value: frequency
|
|
197
|
+
description: How often a resource is issued, such as monthly.
|
|
198
|
+
- value: issuance
|
|
199
|
+
description: How the resource is issued, such as serially.
|
|
200
|
+
form:
|
|
201
|
+
- value: carrier
|
|
202
|
+
- value: data format
|
|
203
|
+
- value: digital origin
|
|
204
|
+
- value: extent
|
|
205
|
+
- value: form
|
|
206
|
+
- value: genre
|
|
207
|
+
- value: map projection
|
|
208
|
+
- value: map scale
|
|
209
|
+
- value: material
|
|
210
|
+
- value: media
|
|
211
|
+
- value: media type
|
|
212
|
+
- value: reformatting quality
|
|
213
|
+
- value: resource type
|
|
214
|
+
- value: technique
|
|
215
|
+
- value: type
|
|
216
|
+
form.note:
|
|
217
|
+
- value: additions
|
|
218
|
+
- value: arrangement
|
|
219
|
+
- value: binding
|
|
220
|
+
- value: codicology
|
|
221
|
+
- value: collation
|
|
222
|
+
- value: colophon
|
|
223
|
+
- value: condition
|
|
224
|
+
- value: decoNote
|
|
225
|
+
status: deprecated
|
|
226
|
+
use: decoration
|
|
227
|
+
- value: decoration
|
|
228
|
+
- value: dimensions
|
|
229
|
+
- value: explicit
|
|
230
|
+
- value: foliation
|
|
231
|
+
- value: genre type
|
|
232
|
+
- value: hand note
|
|
233
|
+
- value: handNote
|
|
234
|
+
status: deprecated
|
|
235
|
+
use: hand note
|
|
236
|
+
- value: incipit
|
|
237
|
+
- value: instrumentation
|
|
238
|
+
- value: layout
|
|
239
|
+
- value: material
|
|
240
|
+
- value: medium of performance
|
|
241
|
+
- value: provenance
|
|
242
|
+
- value: reassembly
|
|
243
|
+
- value: reproduction
|
|
244
|
+
- value: research
|
|
245
|
+
- value: rubric
|
|
246
|
+
- value: secfol
|
|
247
|
+
status: deprecated
|
|
248
|
+
use: second folio
|
|
249
|
+
- value: second folio
|
|
250
|
+
- value: secondFolio
|
|
251
|
+
status: deprecated
|
|
252
|
+
use: second folio
|
|
253
|
+
- value: unit
|
|
254
|
+
- value: writing
|
|
255
|
+
form.structuredValue:
|
|
256
|
+
- value: type
|
|
257
|
+
- value: subtype
|
|
258
|
+
geographic.form:
|
|
259
|
+
- value: data format
|
|
260
|
+
- value: media type
|
|
261
|
+
- value: type
|
|
262
|
+
geographic.subject:
|
|
263
|
+
- value: bounding box coordinates
|
|
264
|
+
- value: coverage
|
|
265
|
+
- value: point coordinates
|
|
266
|
+
geographic.subject.structuredValue:
|
|
267
|
+
- value: east
|
|
268
|
+
- value: latitude
|
|
269
|
+
- value: longitude
|
|
270
|
+
- value: north
|
|
271
|
+
- value: south
|
|
272
|
+
- value: west
|
|
273
|
+
identifier:
|
|
274
|
+
- value: accession number
|
|
275
|
+
- value: alternate case number
|
|
276
|
+
- value: Apis ID
|
|
277
|
+
code: apis
|
|
278
|
+
- value: ARK
|
|
279
|
+
code: ark
|
|
280
|
+
- value: arXiv
|
|
281
|
+
code: arxiv
|
|
282
|
+
- value: case identifier
|
|
283
|
+
- value: case number
|
|
284
|
+
- value: document number
|
|
285
|
+
- value: DOI
|
|
286
|
+
code: doi
|
|
287
|
+
- value: druid
|
|
288
|
+
- value: GTIN-14 ID
|
|
289
|
+
code: gtin-14
|
|
290
|
+
- value: Handle
|
|
291
|
+
code: hdl
|
|
292
|
+
- value: inventory number
|
|
293
|
+
- value: ISBN
|
|
294
|
+
code: isbn
|
|
295
|
+
- value: ISMN
|
|
296
|
+
code: ismn
|
|
297
|
+
- value: ISRC
|
|
298
|
+
code: isrc
|
|
299
|
+
- value: ISSN
|
|
300
|
+
code: issn
|
|
301
|
+
- value: ISSN-L
|
|
302
|
+
code: issn-l
|
|
303
|
+
- value: issue number
|
|
304
|
+
code: issue-number
|
|
305
|
+
- value: LCCN
|
|
306
|
+
code: lccn
|
|
307
|
+
- value: local
|
|
308
|
+
code: local
|
|
309
|
+
- value: Local ID
|
|
310
|
+
- value: matrix number
|
|
311
|
+
code: matrix-number
|
|
312
|
+
- value: music plate
|
|
313
|
+
code: music-plate
|
|
314
|
+
- value: music publisher
|
|
315
|
+
code: music-publisher
|
|
316
|
+
- value: OCLC
|
|
317
|
+
- value: PMCID
|
|
318
|
+
- value: PMID
|
|
319
|
+
- value: record id
|
|
320
|
+
- value: Senate Number
|
|
321
|
+
- value: Series
|
|
322
|
+
- value: SIRSI
|
|
323
|
+
- value: Source ID
|
|
324
|
+
- value: sourceID
|
|
325
|
+
status: deprecated
|
|
326
|
+
use: Source ID
|
|
327
|
+
- value: stock number
|
|
328
|
+
code: stock-number
|
|
329
|
+
- value: Swets (Netherlands) ID
|
|
330
|
+
code: swets
|
|
331
|
+
- value: UPC
|
|
332
|
+
code: upc
|
|
333
|
+
- value: URI
|
|
334
|
+
code: uri
|
|
335
|
+
- value: URN
|
|
336
|
+
code: urn
|
|
337
|
+
- value: videorecording identifier
|
|
338
|
+
code: videorecording-identifier
|
|
339
|
+
- value: West Mat \#
|
|
340
|
+
- value: Wikidata
|
|
341
|
+
code: wikidata
|
|
342
|
+
note:
|
|
343
|
+
- value: abstract
|
|
344
|
+
- value: access
|
|
345
|
+
- value: access note
|
|
346
|
+
status: deprecated
|
|
347
|
+
use: access
|
|
348
|
+
- value: acquisition
|
|
349
|
+
- value: action
|
|
350
|
+
- value: additional physical form
|
|
351
|
+
- value: additions
|
|
352
|
+
- value: admin
|
|
353
|
+
- value: affiliation
|
|
354
|
+
- value: bibliographic
|
|
355
|
+
- value: bibliography
|
|
356
|
+
- value: biographical/historical
|
|
357
|
+
- value: biographical/historical note
|
|
358
|
+
status: deprecated
|
|
359
|
+
use: biographical/historical
|
|
360
|
+
- value: biography
|
|
361
|
+
- value: boat note
|
|
362
|
+
- value: citation/reference
|
|
363
|
+
- value: contact
|
|
364
|
+
- value: content
|
|
365
|
+
- value: content note
|
|
366
|
+
status: deprecated
|
|
367
|
+
use: content
|
|
368
|
+
- value: content warning
|
|
369
|
+
- value: contents
|
|
370
|
+
status: deprecated
|
|
371
|
+
use: content
|
|
372
|
+
- value: copyright
|
|
373
|
+
- value: creation/production credits
|
|
374
|
+
- value: date
|
|
375
|
+
- value: date/sequential designation
|
|
376
|
+
- value: description
|
|
377
|
+
- value: digitization
|
|
378
|
+
- value: duration
|
|
379
|
+
- value: event
|
|
380
|
+
- value: exhibitions
|
|
381
|
+
- value: funding
|
|
382
|
+
- value: general
|
|
383
|
+
- value: genre type
|
|
384
|
+
- value: geography
|
|
385
|
+
- value: host
|
|
386
|
+
- value: language
|
|
387
|
+
- value: local
|
|
388
|
+
- value: location
|
|
389
|
+
- value: medium of performance
|
|
390
|
+
- value: names
|
|
391
|
+
- value: numbering
|
|
392
|
+
- value: original location
|
|
393
|
+
- value: other relation type
|
|
394
|
+
- value: ownership
|
|
395
|
+
- value: part
|
|
396
|
+
- value: performer
|
|
397
|
+
- value: performers
|
|
398
|
+
- value: preferred citation
|
|
399
|
+
- value: provenance
|
|
400
|
+
- value: publications
|
|
401
|
+
- value: qualifications
|
|
402
|
+
- value: quote
|
|
403
|
+
- value: reassembly
|
|
404
|
+
- value: reference
|
|
405
|
+
- value: references
|
|
406
|
+
- value: related publication
|
|
407
|
+
- value: reproduction
|
|
408
|
+
- value: research
|
|
409
|
+
- value: restriction
|
|
410
|
+
- value: scope and content
|
|
411
|
+
- value: source characteristics
|
|
412
|
+
- value: source identifier
|
|
413
|
+
- value: statement of responsibility
|
|
414
|
+
- value: summary
|
|
415
|
+
- value: system details
|
|
416
|
+
- value: system requirements
|
|
417
|
+
- value: table of contents
|
|
418
|
+
- value: target audience
|
|
419
|
+
- value: technical note
|
|
420
|
+
- value: thesis
|
|
421
|
+
- value: transcript
|
|
422
|
+
- value: translation
|
|
423
|
+
- value: update
|
|
424
|
+
- value: use and reproduction
|
|
425
|
+
- value: venue
|
|
426
|
+
- value: version
|
|
427
|
+
- value: version identification
|
|
428
|
+
- value: writing
|
|
429
|
+
note.groupedValue:
|
|
430
|
+
- value: caption
|
|
431
|
+
- value: date
|
|
432
|
+
- value: detail type
|
|
433
|
+
- value: extent unit
|
|
434
|
+
- value: list
|
|
435
|
+
- value: marker
|
|
436
|
+
- value: number
|
|
437
|
+
- value: title
|
|
438
|
+
- value: text
|
|
439
|
+
relatedResource:
|
|
440
|
+
- value: has original version
|
|
441
|
+
description: An initial form of the resource.
|
|
442
|
+
- value: has other format
|
|
443
|
+
description: A version of the resource in a different physical or digital format.
|
|
444
|
+
- value: has part
|
|
445
|
+
description: A constituent unit of the resource.
|
|
446
|
+
- value: has version
|
|
447
|
+
description: A version of the resource with different intellectual content.
|
|
448
|
+
- value: in series
|
|
449
|
+
description: The name of a series of publications to which the resource belongs.
|
|
450
|
+
- value: other relation type
|
|
451
|
+
description: Resource type not otherwise described.
|
|
452
|
+
- value: part of
|
|
453
|
+
description: A larger resource to which the resource belongs, such as a collection.
|
|
454
|
+
- value: preceded by
|
|
455
|
+
description: A predecessor to the resource, such as a preceding journal title.
|
|
456
|
+
- value: referenced by
|
|
457
|
+
description: Other resources that cite the resource, such as a catalog.
|
|
458
|
+
- value: references
|
|
459
|
+
description: A resource which the resource references or cites.
|
|
460
|
+
- value: related to
|
|
461
|
+
description: A generically related resource.
|
|
462
|
+
- value: reviewed by
|
|
463
|
+
description: A review of the resource.
|
|
464
|
+
- value: succeeded by
|
|
465
|
+
description: A successor to the resource, such as a subsequent journal title.
|
|
466
|
+
subject:
|
|
467
|
+
- value: classification
|
|
468
|
+
- value: conference
|
|
469
|
+
- value: display
|
|
470
|
+
- value: event
|
|
471
|
+
- value: family
|
|
472
|
+
- value: genre
|
|
473
|
+
- value: map coordinates
|
|
474
|
+
- value: name
|
|
475
|
+
- value: occupation
|
|
476
|
+
- value: organization
|
|
477
|
+
- value: person
|
|
478
|
+
- value: place
|
|
479
|
+
- value: point coordinates
|
|
480
|
+
- value: time
|
|
481
|
+
- value: title
|
|
482
|
+
- value: topic
|
|
483
|
+
subject.note:
|
|
484
|
+
- value: role
|
|
485
|
+
subject.structuredValue:
|
|
486
|
+
- value: activity dates
|
|
487
|
+
- value: city
|
|
488
|
+
- value: conference
|
|
489
|
+
- value: continent
|
|
490
|
+
- value: country
|
|
491
|
+
- value: end
|
|
492
|
+
- value: east
|
|
493
|
+
- value: event
|
|
494
|
+
- value: display
|
|
495
|
+
- value: family
|
|
496
|
+
- value: forename
|
|
497
|
+
- value: genre
|
|
498
|
+
- value: latitude
|
|
499
|
+
- value: life dates
|
|
500
|
+
- value: longitude
|
|
501
|
+
- value: main title
|
|
502
|
+
- value: name
|
|
503
|
+
- value: north
|
|
504
|
+
- value: occupation
|
|
505
|
+
- value: ordinal
|
|
506
|
+
- value: organization
|
|
507
|
+
- value: part name
|
|
508
|
+
- value: person
|
|
509
|
+
- value: place
|
|
510
|
+
- value: south
|
|
511
|
+
- value: start
|
|
512
|
+
- value: surname
|
|
513
|
+
- value: term of address
|
|
514
|
+
- value: time
|
|
515
|
+
- value: title
|
|
516
|
+
- value: topic
|
|
517
|
+
- value: west
|
|
518
|
+
subject.structuredValue.note:
|
|
519
|
+
- value: role
|
|
520
|
+
description: The relation of the subject entity to the resource.
|
|
521
|
+
subject.groupedValue:
|
|
522
|
+
- value: uniform
|
|
523
|
+
description: Form of title in Library of Congress title authority.
|
|
524
|
+
title:
|
|
525
|
+
- value: abbreviated
|
|
526
|
+
description: Abbreviated form of title for indexing or identification.
|
|
527
|
+
- value: alternative
|
|
528
|
+
description: Variant title.
|
|
529
|
+
- value: parallel
|
|
530
|
+
description: Title transcribed from the resource in multiple languages or scripts.
|
|
531
|
+
- value: supplied
|
|
532
|
+
description: Title provided by metadata creator rather than transcribed from the resource.
|
|
533
|
+
- value: translated
|
|
534
|
+
description: Title translated into another language.
|
|
535
|
+
- value: transliterated
|
|
536
|
+
description: Title transliterated from non-Latin script to Latin script.
|
|
537
|
+
- value: uniform
|
|
538
|
+
description: Form of title in Library of Congress title authority.
|
|
539
|
+
title.note:
|
|
540
|
+
- value: associated name
|
|
541
|
+
description: A name linked to the title, such as for a name-title heading.
|
|
542
|
+
- value: nonsorting character count
|
|
543
|
+
description: The number of characters at the beginning of the string to be disregarded when sorting.
|
|
544
|
+
title.structuredValue:
|
|
545
|
+
- value: main title
|
|
546
|
+
description: The primary part of a multipart title.
|
|
547
|
+
- value: nonsorting characters
|
|
548
|
+
description: A string at the beginning of the title to be disregarded when sorting.
|
|
549
|
+
- value: part name
|
|
550
|
+
description: The distinct name of a resource as part of a series or multivolume set.
|
|
551
|
+
- value: part number
|
|
552
|
+
description: The distinct number of a resource as part of a series or multivolume set.
|
|
553
|
+
- value: subtitle
|
|
554
|
+
description: The secondary part of a title.
|
data/docs/_config.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
theme: jekyll-theme-tactile
|
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
# Description types
|
|
2
|
+
|
|
3
|
+
## Access accesscontact types
|
|
4
|
+
_Path: access.accessContact_
|
|
5
|
+
* email: Email address for a contact person or institution concerning the resource.
|
|
6
|
+
* repository: Institution providing access to the resource.
|
|
7
|
+
|
|
8
|
+
## Access digitallocation types
|
|
9
|
+
_Path: access.digitalLocation_
|
|
10
|
+
* discovery: Online location for the purpose of discovering the resource.
|
|
11
|
+
|
|
12
|
+
## Access note types
|
|
13
|
+
_Path: access.note_
|
|
14
|
+
* access restriction: Restrictions on or conditions for gaining access to the resource.
|
|
15
|
+
* display label: Display label for the purl.
|
|
16
|
+
* license: License describing allowed uses of the resource.
|
|
17
|
+
* use and reproduction: Information related to allowed uses of the resource in other contexts.
|
|
18
|
+
|
|
19
|
+
## Access physicallocation types
|
|
20
|
+
_Path: access.physicalLocation_
|
|
21
|
+
* discovery: Location where a user may find the resource.
|
|
22
|
+
* location: Physical location of the resource, or path to the resource on a hard drive or disk.
|
|
23
|
+
* repository: The institution holding the resource.
|
|
24
|
+
* series: Archival series of the resource.
|
|
25
|
+
* shelf locator: Identifier or shelfmark indicating the location of the resource.
|
|
26
|
+
|
|
27
|
+
## Adminmetadata note types
|
|
28
|
+
_Path: adminMetadata.note_
|
|
29
|
+
* record information: General information about the metadata record.
|
|
30
|
+
* record origin: The source of the record, such as another record transformed to generate the current record.
|
|
31
|
+
|
|
32
|
+
# Contributor types
|
|
33
|
+
_Path: contributor_
|
|
34
|
+
* conference: An event focusing on a particular topic or discipline.
|
|
35
|
+
* event: A time-bound occurrence.
|
|
36
|
+
* family: A group of individuals related by blood or personal alliance.
|
|
37
|
+
* organization: An institution or other corporate or collective body.
|
|
38
|
+
* person: An individual identity.
|
|
39
|
+
* unspecified others: Designator for one or more additional contributors not named individually.
|
|
40
|
+
|
|
41
|
+
## Contributor identifier types
|
|
42
|
+
_Path: contributor.identifier_
|
|
43
|
+
* ORCID: Identifier from orcid.org.
|
|
44
|
+
* Wikidata: Identifier from wikidata.org.
|
|
45
|
+
|
|
46
|
+
## Contributor name types
|
|
47
|
+
_Path: contributor.name_
|
|
48
|
+
* alternative: Additional nonpreferred form of name.
|
|
49
|
+
* display: Preferred form of the name for display.
|
|
50
|
+
* forename: First or given name or names.
|
|
51
|
+
* inverted full name: Name given in last name, first name order.
|
|
52
|
+
* pseudonym: Name used that differs from legal or primary form of name.
|
|
53
|
+
* surname: Last or family name.
|
|
54
|
+
* transliteration: Name originally in non-Latin script presented phonetically using Latin characters.
|
|
55
|
+
|
|
56
|
+
### Contributor name part types for structured value
|
|
57
|
+
_Path: contributor.name.structuredValue_
|
|
58
|
+
* activity dates: The date or dates when someone was producing work.
|
|
59
|
+
* forename: First or given name or names.
|
|
60
|
+
* life dates: Birth and death dates, or dates when an entity was in existence.
|
|
61
|
+
* name: Name provided alongside additional information.
|
|
62
|
+
* ordinal: Indicator that the name is one in a series (e.g. Elizabeth I, Martin Luther King, Jr.).
|
|
63
|
+
* surname: Last or family name.
|
|
64
|
+
* term of address: Title or other signifier associated with name.
|
|
65
|
+
|
|
66
|
+
### Contributor name types for grouped value (MODS legacy)
|
|
67
|
+
_Path: contributor.name.groupedValue_
|
|
68
|
+
* alternative: Additional nonpreferred form of name.
|
|
69
|
+
* name: Primary form of name within group of values.
|
|
70
|
+
* pseudonym: Name used that differs from legal or primary form of name.
|
|
71
|
+
|
|
72
|
+
## Contributor note types
|
|
73
|
+
_Path: contributor.note_
|
|
74
|
+
* affiliation: Institution with which the contributor is associated.
|
|
75
|
+
* citation status: Indicator of whether the contributor should be included in the citation.
|
|
76
|
+
* description: Biographical information about the contributor.
|
|
77
|
+
|
|
78
|
+
# Event types
|
|
79
|
+
_Path: event_
|
|
80
|
+
* acquisition: The transferral of ownership of a resource to a repository.
|
|
81
|
+
* capture: A record of the resource in a fixed form at a specific time.
|
|
82
|
+
* collection: The addition of a resource to a set of other resources.
|
|
83
|
+
* copyright: The activity by which a resource may be considered subject to copyright law.
|
|
84
|
+
* copyright notice: An explicit statement that a resource is under copyright.
|
|
85
|
+
* creation: The coming into being of a resource.
|
|
86
|
+
* degree conferral: The institutional approval of a thesis or other resource leading to an academic degree.
|
|
87
|
+
* development: The creation of a print from a photographic negative or other source medium.
|
|
88
|
+
* distribution: The delivery of the resource to an external audience.
|
|
89
|
+
* generation: The creation of a resource by an automatic or natural process.
|
|
90
|
+
* manufacture: The physical assembly of a resource, often in multiple copies, for publication or other distribution.
|
|
91
|
+
* modification: A change to an existing resource.
|
|
92
|
+
* performance: The enactment of an artistic or cultural work for an audience, such as a play.
|
|
93
|
+
* presentation: The discussion of an academic or intellectual work for an audience, such as a seminar.
|
|
94
|
+
* production: The physical assembly of a resource not considered published, such as page proofs for a book.
|
|
95
|
+
* publication: The publishing or issuing of a resource.
|
|
96
|
+
* recording: The initial fixation to a medium of live audio and/or visual activity.
|
|
97
|
+
* release: Making a resource available to a broader audience.
|
|
98
|
+
* submission: The provision of a resource for review or evaluation.
|
|
99
|
+
* validity: When a resource takes effect, such as a revised train schedule.
|
|
100
|
+
* withdrawal: The removal of previous access to a resource, often due to its obsolescence.
|
|
101
|
+
|
|
102
|
+
## Event date types
|
|
103
|
+
_Path: event.date_
|
|
104
|
+
* acquisition: The transferral of ownership of a resource to a repository.
|
|
105
|
+
* capture: A record of the resource in a fixed form at a specific time.
|
|
106
|
+
* collection: The addition of a resource to a set of other resources.
|
|
107
|
+
* copyright: The activity by which a resource may be considered subject to copyright law.
|
|
108
|
+
* creation: The coming into being of a resource.
|
|
109
|
+
* degree conferral: The institutional approval of a thesis or other resource leading to an academic degree.
|
|
110
|
+
* developed: The creation of a print from a photographic negative or other source medium.
|
|
111
|
+
* development: The creation of a print from a photographic negative or other source medium.
|
|
112
|
+
* distribution: The delivery of the resource to an external audience.
|
|
113
|
+
* generation: The creation of a resource by an automatic or natural process.
|
|
114
|
+
* manufacture: The physical assembly of a resource, often in multiple copies, for publication or other distribution.
|
|
115
|
+
* modification: A change to an existing resource.
|
|
116
|
+
* performance: The enactment of an artistic or cultural work for an audience, such as a play.
|
|
117
|
+
* presentation: The discussion of an academic or intellectual work for an audience, such as a seminar.
|
|
118
|
+
* production: The physical assembly of a resource not considered published, such as page proofs for a book.
|
|
119
|
+
* publication: The publishing or issuing of a resource.
|
|
120
|
+
* recording: The initial fixation to a medium of live audio and/or visual activity.
|
|
121
|
+
* release: Making a resource available to a broader audience.
|
|
122
|
+
* submission: The provision of a resource for review or evaluation.
|
|
123
|
+
* validity: When a resource takes effect, such as a revised train schedule.
|
|
124
|
+
* withdrawal: The removal of previous access to a resource, often due to its obsolescence.
|
|
125
|
+
|
|
126
|
+
### Event date part types for structured value
|
|
127
|
+
_Path: event.date.structuredValue_
|
|
128
|
+
* start: The start date in a range.
|
|
129
|
+
* end: The end date in a range.
|
|
130
|
+
|
|
131
|
+
## Event note types
|
|
132
|
+
_Path: event.note_
|
|
133
|
+
* copyright statement: A formal declaration of copyright on a resource.
|
|
134
|
+
* edition
|
|
135
|
+
* frequency: How often a resource is issued, such as monthly.
|
|
136
|
+
* issuance: How the resource is issued, such as serially.
|
|
137
|
+
|
|
138
|
+
# Form types
|
|
139
|
+
_Path: form_
|
|
140
|
+
* carrier
|
|
141
|
+
* data format
|
|
142
|
+
* digital origin
|
|
143
|
+
* extent
|
|
144
|
+
* form
|
|
145
|
+
* genre
|
|
146
|
+
* map projection
|
|
147
|
+
* map scale
|
|
148
|
+
* material
|
|
149
|
+
* media
|
|
150
|
+
* media type
|
|
151
|
+
* reformatting quality
|
|
152
|
+
* resource type
|
|
153
|
+
* technique
|
|
154
|
+
* type
|
|
155
|
+
|
|
156
|
+
## Form note types
|
|
157
|
+
_Path: form.note_
|
|
158
|
+
* additions
|
|
159
|
+
* arrangement
|
|
160
|
+
* binding
|
|
161
|
+
* codicology
|
|
162
|
+
* collation
|
|
163
|
+
* colophon
|
|
164
|
+
* condition
|
|
165
|
+
* decoNote
|
|
166
|
+
* decoration
|
|
167
|
+
* dimensions
|
|
168
|
+
* explicit
|
|
169
|
+
* foliation
|
|
170
|
+
* genre type
|
|
171
|
+
* hand note
|
|
172
|
+
* handNote
|
|
173
|
+
* incipit
|
|
174
|
+
* instrumentation
|
|
175
|
+
* layout
|
|
176
|
+
* material
|
|
177
|
+
* medium of performance
|
|
178
|
+
* provenance
|
|
179
|
+
* reassembly
|
|
180
|
+
* reproduction
|
|
181
|
+
* research
|
|
182
|
+
* rubric
|
|
183
|
+
* secfol
|
|
184
|
+
* second folio
|
|
185
|
+
* secondFolio
|
|
186
|
+
* unit
|
|
187
|
+
* writing
|
|
188
|
+
|
|
189
|
+
## Form part types for structured value
|
|
190
|
+
_Path: form.structuredValue_
|
|
191
|
+
* type
|
|
192
|
+
* subtype
|
|
193
|
+
|
|
194
|
+
## Geographic form types
|
|
195
|
+
_Path: geographic.form_
|
|
196
|
+
* data format
|
|
197
|
+
* media type
|
|
198
|
+
* type
|
|
199
|
+
|
|
200
|
+
## Geographic subject types
|
|
201
|
+
_Path: geographic.subject_
|
|
202
|
+
* bounding box coordinates
|
|
203
|
+
* coverage
|
|
204
|
+
* point coordinates
|
|
205
|
+
|
|
206
|
+
### Geographic subject part types for structured value
|
|
207
|
+
_Path: geographic.subject.structuredValue_
|
|
208
|
+
* east
|
|
209
|
+
* latitude
|
|
210
|
+
* longitude
|
|
211
|
+
* north
|
|
212
|
+
* south
|
|
213
|
+
* west
|
|
214
|
+
|
|
215
|
+
# Identifier types
|
|
216
|
+
_Path: identifier_
|
|
217
|
+
* accession number
|
|
218
|
+
* alternate case number
|
|
219
|
+
* Apis ID
|
|
220
|
+
* ARK
|
|
221
|
+
* arXiv
|
|
222
|
+
* case identifier
|
|
223
|
+
* case number
|
|
224
|
+
* document number
|
|
225
|
+
* DOI
|
|
226
|
+
* druid
|
|
227
|
+
* GTIN-14 ID
|
|
228
|
+
* Handle
|
|
229
|
+
* inventory number
|
|
230
|
+
* ISBN
|
|
231
|
+
* ISMN
|
|
232
|
+
* ISRC
|
|
233
|
+
* ISSN
|
|
234
|
+
* ISSN-L
|
|
235
|
+
* issue number
|
|
236
|
+
* LCCN
|
|
237
|
+
* local
|
|
238
|
+
* Local ID
|
|
239
|
+
* matrix number
|
|
240
|
+
* music plate
|
|
241
|
+
* music publisher
|
|
242
|
+
* OCLC
|
|
243
|
+
* PMCID
|
|
244
|
+
* PMID
|
|
245
|
+
* record id
|
|
246
|
+
* Senate Number
|
|
247
|
+
* Series
|
|
248
|
+
* SIRSI
|
|
249
|
+
* Source ID
|
|
250
|
+
* sourceID
|
|
251
|
+
* stock number
|
|
252
|
+
* Swets (Netherlands) ID
|
|
253
|
+
* UPC
|
|
254
|
+
* URI
|
|
255
|
+
* URN
|
|
256
|
+
* videorecording identifier
|
|
257
|
+
* West Mat \#
|
|
258
|
+
* Wikidata
|
|
259
|
+
|
|
260
|
+
# Note types
|
|
261
|
+
_Path: note_
|
|
262
|
+
* abstract
|
|
263
|
+
* access
|
|
264
|
+
* access note
|
|
265
|
+
* acquisition
|
|
266
|
+
* action
|
|
267
|
+
* additional physical form
|
|
268
|
+
* additions
|
|
269
|
+
* admin
|
|
270
|
+
* affiliation
|
|
271
|
+
* bibliographic
|
|
272
|
+
* bibliography
|
|
273
|
+
* biographical/historical
|
|
274
|
+
* biographical/historical note
|
|
275
|
+
* biography
|
|
276
|
+
* boat note
|
|
277
|
+
* citation/reference
|
|
278
|
+
* contact
|
|
279
|
+
* content
|
|
280
|
+
* content note
|
|
281
|
+
* content warning
|
|
282
|
+
* contents
|
|
283
|
+
* copyright
|
|
284
|
+
* creation/production credits
|
|
285
|
+
* date
|
|
286
|
+
* date/sequential designation
|
|
287
|
+
* description
|
|
288
|
+
* digitization
|
|
289
|
+
* duration
|
|
290
|
+
* event
|
|
291
|
+
* exhibitions
|
|
292
|
+
* funding
|
|
293
|
+
* general
|
|
294
|
+
* genre type
|
|
295
|
+
* geography
|
|
296
|
+
* host
|
|
297
|
+
* language
|
|
298
|
+
* local
|
|
299
|
+
* location
|
|
300
|
+
* medium of performance
|
|
301
|
+
* names
|
|
302
|
+
* numbering
|
|
303
|
+
* original location
|
|
304
|
+
* other relation type
|
|
305
|
+
* ownership
|
|
306
|
+
* part
|
|
307
|
+
* performer
|
|
308
|
+
* performers
|
|
309
|
+
* preferred citation
|
|
310
|
+
* provenance
|
|
311
|
+
* publications
|
|
312
|
+
* qualifications
|
|
313
|
+
* quote
|
|
314
|
+
* reassembly
|
|
315
|
+
* reference
|
|
316
|
+
* references
|
|
317
|
+
* related publication
|
|
318
|
+
* reproduction
|
|
319
|
+
* research
|
|
320
|
+
* restriction
|
|
321
|
+
* scope and content
|
|
322
|
+
* source characteristics
|
|
323
|
+
* source identifier
|
|
324
|
+
* statement of responsibility
|
|
325
|
+
* summary
|
|
326
|
+
* system details
|
|
327
|
+
* system requirements
|
|
328
|
+
* table of contents
|
|
329
|
+
* target audience
|
|
330
|
+
* technical note
|
|
331
|
+
* thesis
|
|
332
|
+
* transcript
|
|
333
|
+
* translation
|
|
334
|
+
* update
|
|
335
|
+
* use and reproduction
|
|
336
|
+
* venue
|
|
337
|
+
* version
|
|
338
|
+
* version identification
|
|
339
|
+
* writing
|
|
340
|
+
|
|
341
|
+
## Note types for grouped value (MODS legacy)
|
|
342
|
+
_Path: note.groupedValue_
|
|
343
|
+
* caption
|
|
344
|
+
* date
|
|
345
|
+
* detail type
|
|
346
|
+
* extent unit
|
|
347
|
+
* list
|
|
348
|
+
* marker
|
|
349
|
+
* number
|
|
350
|
+
* title
|
|
351
|
+
* text
|
|
352
|
+
|
|
353
|
+
# Relatedresource types
|
|
354
|
+
_Path: relatedResource_
|
|
355
|
+
* has original version: An initial form of the resource.
|
|
356
|
+
* has other format: A version of the resource in a different physical or digital format.
|
|
357
|
+
* has part: A constituent unit of the resource.
|
|
358
|
+
* has version: A version of the resource with different intellectual content.
|
|
359
|
+
* in series: The name of a series of publications to which the resource belongs.
|
|
360
|
+
* other relation type: Resource type not otherwise described.
|
|
361
|
+
* part of: A larger resource to which the resource belongs, such as a collection.
|
|
362
|
+
* preceded by: A predecessor to the resource, such as a preceding journal title.
|
|
363
|
+
* referenced by: Other resources that cite the resource, such as a catalog.
|
|
364
|
+
* references: A resource which the resource references or cites.
|
|
365
|
+
* related to: A generically related resource.
|
|
366
|
+
* reviewed by: A review of the resource.
|
|
367
|
+
* succeeded by: A successor to the resource, such as a subsequent journal title.
|
|
368
|
+
|
|
369
|
+
# Subject types
|
|
370
|
+
_Path: subject_
|
|
371
|
+
* classification
|
|
372
|
+
* conference
|
|
373
|
+
* display
|
|
374
|
+
* event
|
|
375
|
+
* family
|
|
376
|
+
* genre
|
|
377
|
+
* map coordinates
|
|
378
|
+
* name
|
|
379
|
+
* occupation
|
|
380
|
+
* organization
|
|
381
|
+
* person
|
|
382
|
+
* place
|
|
383
|
+
* point coordinates
|
|
384
|
+
* time
|
|
385
|
+
* title
|
|
386
|
+
* topic
|
|
387
|
+
|
|
388
|
+
## Subject note types
|
|
389
|
+
_Path: subject.note_
|
|
390
|
+
* role
|
|
391
|
+
|
|
392
|
+
## Subject part types for structured value
|
|
393
|
+
_Path: subject.structuredValue_
|
|
394
|
+
* activity dates
|
|
395
|
+
* city
|
|
396
|
+
* conference
|
|
397
|
+
* continent
|
|
398
|
+
* country
|
|
399
|
+
* end
|
|
400
|
+
* east
|
|
401
|
+
* event
|
|
402
|
+
* display
|
|
403
|
+
* family
|
|
404
|
+
* forename
|
|
405
|
+
* genre
|
|
406
|
+
* latitude
|
|
407
|
+
* life dates
|
|
408
|
+
* longitude
|
|
409
|
+
* main title
|
|
410
|
+
* name
|
|
411
|
+
* north
|
|
412
|
+
* occupation
|
|
413
|
+
* ordinal
|
|
414
|
+
* organization
|
|
415
|
+
* part name
|
|
416
|
+
* person
|
|
417
|
+
* place
|
|
418
|
+
* south
|
|
419
|
+
* start
|
|
420
|
+
* surname
|
|
421
|
+
* term of address
|
|
422
|
+
* time
|
|
423
|
+
* title
|
|
424
|
+
* topic
|
|
425
|
+
* west
|
|
426
|
+
|
|
427
|
+
### Subject note types
|
|
428
|
+
_Path: subject.structuredValue.note_
|
|
429
|
+
* role: The relation of the subject entity to the resource.
|
|
430
|
+
|
|
431
|
+
## Subject types for grouped value (MODS legacy)
|
|
432
|
+
_Path: subject.groupedValue_
|
|
433
|
+
* uniform: Form of title in Library of Congress title authority.
|
|
434
|
+
|
|
435
|
+
# Title types
|
|
436
|
+
_Path: title_
|
|
437
|
+
* abbreviated: Abbreviated form of title for indexing or identification.
|
|
438
|
+
* alternative: Variant title.
|
|
439
|
+
* parallel: Title transcribed from the resource in multiple languages or scripts.
|
|
440
|
+
* supplied: Title provided by metadata creator rather than transcribed from the resource.
|
|
441
|
+
* translated: Title translated into another language.
|
|
442
|
+
* transliterated: Title transliterated from non-Latin script to Latin script.
|
|
443
|
+
* uniform: Form of title in Library of Congress title authority.
|
|
444
|
+
|
|
445
|
+
## Title note types
|
|
446
|
+
_Path: title.note_
|
|
447
|
+
* associated name: A name linked to the title, such as for a name-title heading.
|
|
448
|
+
* nonsorting character count: The number of characters at the beginning of the string to be disregarded when sorting.
|
|
449
|
+
|
|
450
|
+
## Title part types for structured value
|
|
451
|
+
_Path: title.structuredValue_
|
|
452
|
+
* main title: The primary part of a multipart title.
|
|
453
|
+
* nonsorting characters: A string at the beginning of the title to be disregarded when sorting.
|
|
454
|
+
* part name: The distinct name of a resource as part of a series or multivolume set.
|
|
455
|
+
* part number: The distinct number of a resource as part of a series or multivolume set.
|
|
456
|
+
* subtitle: The secondary part of a title.
|
|
@@ -28,6 +28,7 @@ module Cocina
|
|
|
28
28
|
# rubocop:enable Style/HashEachMethods
|
|
29
29
|
|
|
30
30
|
generate_vocab
|
|
31
|
+
generate_descriptive_docs
|
|
31
32
|
end
|
|
32
33
|
|
|
33
34
|
desc 'generate_schema SCHEMA_NAME', 'generate for SCHEMA_NAME'
|
|
@@ -45,8 +46,56 @@ module Cocina
|
|
|
45
46
|
Vocab.generate(schemas, output_dir: options[:output])
|
|
46
47
|
end
|
|
47
48
|
|
|
49
|
+
desc 'generate_descriptive_docs', 'generate descriptive documentation'
|
|
50
|
+
def generate_descriptive_docs
|
|
51
|
+
markdown = YAML.load_file('description_types.yml').map do |field, types|
|
|
52
|
+
header_markdown = field_markdown_from(field)
|
|
53
|
+
types_markdown = types_markdown_from(types)
|
|
54
|
+
|
|
55
|
+
<<~MARKDOWN
|
|
56
|
+
#{'#' * (field.count('.') + 1)} #{header_markdown}
|
|
57
|
+
_Path: #{field}_
|
|
58
|
+
#{types_markdown}
|
|
59
|
+
MARKDOWN
|
|
60
|
+
end.join("\n")
|
|
61
|
+
|
|
62
|
+
remove_file 'docs/description_types.md'
|
|
63
|
+
create_file 'docs/description_types.md', h1_markdown + markdown
|
|
64
|
+
end
|
|
65
|
+
|
|
48
66
|
private
|
|
49
67
|
|
|
68
|
+
def h1_markdown
|
|
69
|
+
<<~MARKDOWN
|
|
70
|
+
# Description types
|
|
71
|
+
|
|
72
|
+
MARKDOWN
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
def field_markdown_from(field)
|
|
76
|
+
header = field.split('.')
|
|
77
|
+
.grep_v(/groupedValue|structuredValue/)
|
|
78
|
+
.join(' ')
|
|
79
|
+
.capitalize
|
|
80
|
+
|
|
81
|
+
header_suffix = if field.ends_with?('structuredValue')
|
|
82
|
+
'part types for structured value'
|
|
83
|
+
elsif field.ends_with?('groupedValue')
|
|
84
|
+
'types for grouped value (MODS legacy)'
|
|
85
|
+
else
|
|
86
|
+
'types'
|
|
87
|
+
end
|
|
88
|
+
"#{header} #{header_suffix}"
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def types_markdown_from(types)
|
|
92
|
+
types.map do |type|
|
|
93
|
+
" * #{type['value']}".tap do |type_value|
|
|
94
|
+
type_value << ": #{type['description']}" if type['description']
|
|
95
|
+
end
|
|
96
|
+
end.join("\n")
|
|
97
|
+
end
|
|
98
|
+
|
|
50
99
|
def schemas
|
|
51
100
|
@schemas ||= Openapi3Parser.load_file(options[:openapi]).components.schemas
|
|
52
101
|
end
|
|
@@ -4,7 +4,7 @@ module Cocina
|
|
|
4
4
|
module Models
|
|
5
5
|
class AccessRole < Struct
|
|
6
6
|
# Name of role
|
|
7
|
-
attribute :name, Types::Strict::String.enum('dor-apo-
|
|
7
|
+
attribute :name, Types::Strict::String.enum('dor-apo-depositor', 'dor-apo-manager', 'dor-apo-viewer', 'sdr-administrator', 'sdr-viewer', 'hydrus-collection-creator', 'hydrus-collection-manager', 'hydrus-collection-depositor', 'hydrus-collection-item-depositor', 'hydrus-collection-reviewer', 'hydrus-collection-viewer')
|
|
8
8
|
attribute :members, Types::Strict::Array.of(AccessRoleMember).default([].freeze)
|
|
9
9
|
end
|
|
10
10
|
end
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Cocina
|
|
4
|
+
module Models
|
|
5
|
+
module Validators
|
|
6
|
+
# Validates types for description against description_types.yml.
|
|
7
|
+
class DescriptionTypesValidator
|
|
8
|
+
def self.validate(clazz, attributes)
|
|
9
|
+
new(clazz, attributes).validate
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def initialize(clazz, attributes)
|
|
13
|
+
@clazz = clazz
|
|
14
|
+
@attributes = attributes
|
|
15
|
+
@error_paths = []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def validate
|
|
19
|
+
return unless meets_preconditions?
|
|
20
|
+
|
|
21
|
+
validate_obj(attributes, [])
|
|
22
|
+
|
|
23
|
+
return if error_paths.empty?
|
|
24
|
+
|
|
25
|
+
raise ValidationError, "Unrecognized types in description: #{error_paths.join(', ')}"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
attr_reader :clazz, :attributes, :error_paths
|
|
31
|
+
|
|
32
|
+
def meets_preconditions?
|
|
33
|
+
attributes.key?(:description) || [Cocina::Models::Description,
|
|
34
|
+
Cocina::Models::RequestDescription].include?(clazz)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def validate_hash(hash, path)
|
|
38
|
+
hash.each do |key, obj|
|
|
39
|
+
if key == :type
|
|
40
|
+
validate_type(obj, path)
|
|
41
|
+
else
|
|
42
|
+
validate_obj(obj, path + [key])
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def validate_array(array, path)
|
|
48
|
+
array.each_with_index do |obj, index|
|
|
49
|
+
validate_obj(obj, path + [index])
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def validate_obj(obj, path)
|
|
54
|
+
validate_hash(obj, path) if obj.is_a?(Hash)
|
|
55
|
+
validate_array(obj, path) if obj.is_a?(Array)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def validate_type(type, path)
|
|
59
|
+
valid_types.each do |type_signature, types|
|
|
60
|
+
next unless match?(path, type_signature)
|
|
61
|
+
break if types.include?(type.downcase)
|
|
62
|
+
|
|
63
|
+
error_paths << path_to_s(path)
|
|
64
|
+
break
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def match?(path, type_signature)
|
|
69
|
+
clean_path(path).last(type_signature.length) == type_signature
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Some part of the path are ignored for the purpose of matching.
|
|
73
|
+
def clean_path(path)
|
|
74
|
+
new_path = path.reject do |part|
|
|
75
|
+
part.is_a?(Integer) || %i[parallelValue parallelContributor parallelEvent].include?(part)
|
|
76
|
+
end
|
|
77
|
+
# This needs to happen after parallelValue is removed
|
|
78
|
+
# to handle structuredValue > parallelValue > structuredValue
|
|
79
|
+
new_path.reject.with_index do |part, index|
|
|
80
|
+
part == :structuredValue && new_path[index - 1] == :structuredValue
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# rubocop:disable Style/ClassVars
|
|
85
|
+
def valid_types
|
|
86
|
+
# Class var to minimize loading from disk.
|
|
87
|
+
@@valid_types ||= begin
|
|
88
|
+
types = types_yaml.map do |type_signature_str, type_objs|
|
|
89
|
+
type_signature = type_signature_str.split('.').map(&:to_sym)
|
|
90
|
+
types = type_objs.map { |type_obj| type_obj['value'].downcase }
|
|
91
|
+
[type_signature, types]
|
|
92
|
+
end
|
|
93
|
+
# Sorting so that longer signatures match first.
|
|
94
|
+
types.sort { |a, b| b.first.length <=> a.first.length }
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
# rubocop:enable Style/ClassVars
|
|
98
|
+
|
|
99
|
+
def types_yaml
|
|
100
|
+
YAML.load_file(::File.expand_path('../../../../description_types.yml', __dir__))
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def path_to_s(path)
|
|
104
|
+
# This matches the format used by descriptive spreadsheets
|
|
105
|
+
path_str = ''
|
|
106
|
+
path.each_with_index do |part, index|
|
|
107
|
+
if part.is_a?(Integer)
|
|
108
|
+
path_str += (part + 1).to_s
|
|
109
|
+
else
|
|
110
|
+
path_str += '.' if index.positive?
|
|
111
|
+
path_str += part.to_s
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
path_str
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
@@ -5,7 +5,12 @@ module Cocina
|
|
|
5
5
|
module Validators
|
|
6
6
|
# Perform validation against all other Validators
|
|
7
7
|
class Validator
|
|
8
|
-
VALIDATORS = [
|
|
8
|
+
VALIDATORS = [
|
|
9
|
+
OpenApiValidator,
|
|
10
|
+
DarkValidator,
|
|
11
|
+
CatalogLinksValidator,
|
|
12
|
+
DescriptionTypesValidator
|
|
13
|
+
].freeze
|
|
9
14
|
|
|
10
15
|
def self.validate(clazz, attributes)
|
|
11
16
|
VALIDATORS.each { |validator| validator.validate(clazz, attributes) }
|
data/openapi.yml
CHANGED
|
@@ -161,11 +161,8 @@ components:
|
|
|
161
161
|
description: Name of role
|
|
162
162
|
type: string
|
|
163
163
|
enum:
|
|
164
|
-
- 'dor-apo-creator'
|
|
165
164
|
- 'dor-apo-depositor'
|
|
166
165
|
- 'dor-apo-manager'
|
|
167
|
-
- 'dor-apo-metadata'
|
|
168
|
-
- 'dor-apo-reviewer'
|
|
169
166
|
- 'dor-apo-viewer'
|
|
170
167
|
- 'sdr-administrator'
|
|
171
168
|
- 'sdr-viewer'
|
|
@@ -526,7 +523,7 @@ components:
|
|
|
526
523
|
items:
|
|
527
524
|
$ref: "#/components/schemas/DescriptiveValue"
|
|
528
525
|
type:
|
|
529
|
-
description: Entity type of the contributor (person, organization, etc.).
|
|
526
|
+
description: Entity type of the contributor (person, organization, etc.). See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
|
|
530
527
|
type: string
|
|
531
528
|
status:
|
|
532
529
|
description: Status of the contributor relative to other parallel contributors
|
|
@@ -715,7 +712,7 @@ components:
|
|
|
715
712
|
# https://github.com/interagent/committee/issues/286
|
|
716
713
|
# - type: integer
|
|
717
714
|
type:
|
|
718
|
-
description: Type of value provided by the descriptive element.
|
|
715
|
+
description: Type of value provided by the descriptive element. See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
|
|
719
716
|
type: string
|
|
720
717
|
status:
|
|
721
718
|
description: Status of the descriptive element value relative to other instances
|
|
@@ -791,7 +788,7 @@ components:
|
|
|
791
788
|
items:
|
|
792
789
|
$ref: "#/components/schemas/DescriptiveValue"
|
|
793
790
|
type:
|
|
794
|
-
description: Entity type of the contributor (person, organization, etc.).
|
|
791
|
+
description: Entity type of the contributor (person, organization, etc.). See https://sul-dlss.github.io/cocina-models/description_types.html for valid types.
|
|
795
792
|
type: string
|
|
796
793
|
status:
|
|
797
794
|
description: Status of the contributor relative to other parallel contributors (e.g. the primary author among a group of contributors).
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocina-models
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.73.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Justin Coyne
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-04-
|
|
11
|
+
date: 2022-04-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -274,7 +274,10 @@ files:
|
|
|
274
274
|
- bin/console
|
|
275
275
|
- bin/setup
|
|
276
276
|
- cocina-models.gemspec
|
|
277
|
+
- description_types.yml
|
|
278
|
+
- docs/_config.yml
|
|
277
279
|
- docs/cocina-base.jsonld
|
|
280
|
+
- docs/description_types.md
|
|
278
281
|
- docs/index.html
|
|
279
282
|
- docs/maps/Agent.json
|
|
280
283
|
- docs/maps/Collection.json
|
|
@@ -386,6 +389,7 @@ files:
|
|
|
386
389
|
- lib/cocina/models/validatable.rb
|
|
387
390
|
- lib/cocina/models/validators/catalog_links_validator.rb
|
|
388
391
|
- lib/cocina/models/validators/dark_validator.rb
|
|
392
|
+
- lib/cocina/models/validators/description_types_validator.rb
|
|
389
393
|
- lib/cocina/models/validators/open_api_validator.rb
|
|
390
394
|
- lib/cocina/models/validators/validator.rb
|
|
391
395
|
- lib/cocina/models/version.rb
|
|
@@ -398,7 +402,7 @@ homepage: https://github.com/sul-dlss/cocina-models
|
|
|
398
402
|
licenses: []
|
|
399
403
|
metadata:
|
|
400
404
|
rubygems_mfa_required: 'true'
|
|
401
|
-
post_install_message:
|
|
405
|
+
post_install_message:
|
|
402
406
|
rdoc_options: []
|
|
403
407
|
require_paths:
|
|
404
408
|
- lib
|
|
@@ -413,8 +417,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
413
417
|
- !ruby/object:Gem::Version
|
|
414
418
|
version: '0'
|
|
415
419
|
requirements: []
|
|
416
|
-
rubygems_version: 3.
|
|
417
|
-
signing_key:
|
|
420
|
+
rubygems_version: 3.3.9
|
|
421
|
+
signing_key:
|
|
418
422
|
specification_version: 4
|
|
419
423
|
summary: Data models for the SDR
|
|
420
424
|
test_files: []
|