Skip to content

Commit 37b2978

Browse files
feat(marc-spec) update LoC specification sources.
1 parent 27f1c02 commit 37b2978

4 files changed

Lines changed: 32 additions & 18 deletions

File tree

mod-record-specifications-server/src/main/resources/spec/marc/authority.html

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1138,6 +1138,7 @@
11381138
$a - Type of corporate body (R)
11391139
$b - Type of jurisdiction (R)
11401140
$c - Other designation (R)
1141+
$i - Relationship information (R)
11411142
$0 - Authority record control number or standard number (R)
11421143
$1 - Real World Object URI (R)
11431144
$d - Title of person (R)
@@ -1146,6 +1147,7 @@
11461147
$u - Uniform REsource Identifier (R)
11471148
$v - Source of information (R)
11481149
$2 - Source (NR)
1150+
$4 - Relationship (R)
11491151
$6 - Linkage (NR)
11501152
$7 - Data provenance (R)
11511153
$8 - Field link and sequence number (R)
@@ -1290,13 +1292,15 @@
12901292
$b - Name of prominent member (R)
12911293
$c - Hereditary title (R)
12921294
$d - Other designation (R)
1295+
$i - Relationhip information (R)
12931296
$s - Start period (NR)
12941297
$t - End period (NR)
12951298
$u - Uniform Resource Identifier (R)
12961299
$v - Source of information (R)
12971300
$0 - Authority record control number or standard number (R)
12981301
$1 - Real World Object URI (R)
12991302
$2 - Source of term (NR)
1303+
$4 - Relationship (R)
13001304
$6 - Linkage (NR)
13011305
$7 - Data provenance (R)
13021306
$8 - Field link and sequence number (R)
@@ -1355,11 +1359,13 @@
13551359
# - Undefined
13561360
Subfield Codes
13571361
$a - Other distinguishing characteristic (R)
1362+
$i - Relationship information (R)
13581363
$u - Uniform Resource Identifier (R)
13591364
$v - Source of information (R)
13601365
$0 - Authority record control number or standard number (R)
13611366
$1 - Real World Object URI (R)
13621367
$2 - Source of term (NR)
1368+
$4 - Relationship (R)
13631369
$6 - Linkage (NR)
13641370
$7 - Data provenance (R)
13651371
$8 - Field link and sequence number (R)
@@ -3008,7 +3014,8 @@
30083014
7 - Source specified in subfield $2
30093015
Subfield Codes
30103016
$a - Topical term or geographic name entry element (NR)
3011-
$b - Topical term following geographic name as entry element (NR)<br> $g - Miscellaneous information (R)
3017+
$b - Topical term following geographic name as entry element (NR)
3018+
$g - Miscellaneous information (R)
30123019
$i - Relationship information (R)
30133020
$v - Form subdivision (R)
30143021
$w - Control subfield (NR)
@@ -3312,7 +3319,7 @@
33123319
$r - Standardized information governing use and reproduction (R)
33133320
$s - File size (R)
33143321
$t - Terminal emulation (R) [OBSOLETE]
3315-
$t<strong> - </strong>Terms governing use and reproduction (R)
3322+
$t - Terms governing use and reproduction (R)
33163323
$u - Uniform Resource Identifier (R)
33173324
$v - Hours access method available (R)
33183325
$w - Record control number (R)
@@ -3405,7 +3412,7 @@
34053412
# - Undefined
34063413
Subfield Codes
34073414
$a - Conversion process (NR)
3408-
$g - Conversion date (NR)
3415+
$g - Conversion date/time (NR)
34093416
$k - Identifier of source metadata (NR)
34103417
$q - Conversion agency (NR)
34113418
$u - Uniform Resource Identifier (R)

mod-record-specifications-server/src/main/resources/spec/marc/bibliographic.html

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,6 +1186,7 @@
11861186
p - 8 mm.
11871187
q - Hi-8 mm.
11881188
s - Blu-ray disc
1189+
t - 4K Ultra HD Blu-ray
11891190
u - Unknown
11901191
v - DVD
11911192
z - Other
@@ -1583,8 +1584,9 @@
15831584
c - Map serial
15841585
d - Globe
15851586
e - Atlas
1586-
f - Separate map supplement to another work
1587-
g - Map bound as part of another work
1587+
f - Separate supplement to another work
1588+
g - Bound as part of another work
1589+
r - Remote sensing image
15881590
u - Unknown
15891591
z - Other
15901592
| - No attempt to code
@@ -2696,7 +2698,7 @@
26962698
cyac - Library of Congress Children's and Young Adults' Cataloging Program
26972699
dc - Dublin Core
26982700
dhca - Dance Heritage Coalition Access Project
2699-
gamma - Georgia Archives &amp; Manuscripts Automated Access Project
2701+
gamma - Georgia Archives & Manuscripts Automated Access Project
27002702
gils - Government Information Location Service
27012703
isds/c - ISSN Canada
27022704
lc - Library of Congress
@@ -3044,6 +3046,7 @@
30443046
$b - Item number (NR)
30453047
$0 - Authority record control number or standard number (R)
30463048
$1 - Real World Object URI (R)
3049+
$6 - Linkage (NR)
30473050
$8 - Field link and sequence number (R)
30483051

30493052
061 - NATIONAL LIBRARY OF MEDICINE COPY STATEMENT (R)
@@ -3092,6 +3095,7 @@
30923095
$b - Item number (NR)
30933096
$0 - Authority record control number or standard number (R)
30943097
$1 - Real World Object URI (R)
3098+
$6 - Linkage (NR)
30953099
$8 - Field link and sequence number (R)
30963100

30973101
071 - NATIONAL AGRICULTURAL LIBRARY COPY STATEMENT (R)
@@ -3606,6 +3610,7 @@
36063610
$n - Number of part/section of a work (R)
36073611
$p - Name of part/section of a work (R)
36083612
$s - Version (NR)
3613+
$z - Title statement context note (NR)
36093614
$6 - Linkage (NR)
36103615
$7 - Data provenance (R)
36113616
$8 - Field link and sequence number (R)
@@ -4635,12 +4640,14 @@
46354640
# - Undefined
46364641
Subfield Codes
46374642
$a - Other distinguishing characteristic (R)
4643+
$i - Relationship information (R)
46384644
$u - Uniform Resource Identifier (R)
46394645
$v - Source of information (R)
46404646
$0 - Authority record control number or standard number (R)
46414647
$1 - Real World Object URI (R)
46424648
$2 - Source of term (NR)
46434649
$3 - Materials specified (NR)
4650+
$4 - Relationship (R)
46444651
$6 - Linkage (NR)
46454652
$7 - Data provenance (R)
46464653
$8 - Field link and sequence number (R)
@@ -7942,7 +7949,7 @@
79427949
# - Undefined
79437950
Subfield Codes
79447951
$a - Conversion process (NR)
7945-
$g - Conversion date (NR)
7952+
$g - Conversion date/time (NR)
79467953
$k - Identifier of source metadata (NR)
79477954
$q - Conversion agency (NR)
79487955
$u - Uniform Resource Identifier (R)

mod-record-specifications-server/src/test/java/org/folio/api/SpecificationStorageSyncApiIT.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void syncSpecification_produceSameEntitiesEachTime() throws Exception {
105105
.containsExactlyInAnyOrder(createdFieldIds);
106106

107107
assertThat(recreatedSubfields)
108-
.hasSize(2840)
108+
.hasSize(2845)
109109
.extracting(UuidPersistable::getId)
110110
.containsExactlyInAnyOrder(createdSubfieldIds);
111111

@@ -204,17 +204,17 @@ void syncSpecification_shouldContainCorrectFieldsAndProperties() throws Exceptio
204204
@SuppressWarnings("checkstyle:methodLength")
205205
void syncSpecification_shouldRestoreFieldsToDefaultAndRemoveLocalFields() throws Exception {
206206
var specificationId = BIBLIOGRAPHIC_SPECIFICATION_ID;
207-
207+
208208
// Initial sync to establish baseline
209209
doPost(specificationSyncPath(specificationId), null)
210210
.andExpect(status().isAccepted());
211-
211+
212212
// Get the initial state of fields before modifications
213213
var initialResponse = doGet(specificationFieldsPath(specificationId))
214214
.andExpect(status().isOk())
215215
.andReturn().getResponse().getContentAsString();
216216
var initialFields = getFields(initialResponse);
217-
217+
218218
// Create a local field
219219
var localFieldTag = "950";
220220
var localFieldDto = localTestField(localFieldTag);
@@ -226,7 +226,7 @@ void syncSpecification_shouldRestoreFieldsToDefaultAndRemoveLocalFields() throws
226226
-> dto.setUrl("https://modified-system-field.com"));
227227
var systemFieldId = getFieldId(initialFields, "245");
228228
doPut(fieldPath(systemFieldId), systemFieldUpdate);
229-
229+
230230
// Modify a standard field (100) - url and required can be modified
231231
var initial100Field = findFieldOrFail(initialFields, "100");
232232
var standardFieldId = getFieldId(initialFields, "100");
@@ -235,18 +235,18 @@ void syncSpecification_shouldRestoreFieldsToDefaultAndRemoveLocalFields() throws
235235
dto.setRequired(true);
236236
});
237237
doPut(fieldPath(standardFieldId), standardFieldUpdate);
238-
238+
239239
// Trigger sync to restore to defaults
240240
doPost(specificationSyncPath(specificationId), null)
241241
.andExpect(status().isAccepted());
242-
242+
243243
// Verify local fields are removed and modifications are restored
244244
var responseAfterSync = doGet(specificationFieldsPath(specificationId))
245245
.andExpect(status().isOk())
246246
.andExpect(totalRecordsMatcher(293))
247247
.andReturn().getResponse().getContentAsString();
248248
var fieldsAfterSync = getFields(responseAfterSync);
249-
249+
250250
// Verify the local field is removed
251251
assertThat(fieldsAfterSync)
252252
.as("Local field %s should not exist after sync", localFieldTag)
@@ -258,7 +258,7 @@ void syncSpecification_shouldRestoreFieldsToDefaultAndRemoveLocalFields() throws
258258
assertThat(restoredSystemField)
259259
.as("System field 245 URL should be restored to default")
260260
.containsEntry(URL_FIELD, initial245Field.get(URL_FIELD));
261-
261+
262262
// Verify the standard field is restored
263263
var restoredStandardField = findFieldOrFail(fieldsAfterSync, "100");
264264
assertThat(restoredStandardField)

mod-record-specifications-server/src/test/java/org/folio/rspec/service/sync/fetcher/FullMarcSpecificationParserTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void parseBib() {
3333
var result = doParseForFile("spec/marc/bibliographic.html");
3434

3535
assertThat(result).hasSize(293);
36-
assertAllFieldsExist(result, 2817, 1130);
36+
assertAllFieldsExist(result, 2822, 1130);
3737
}
3838

3939
@SneakyThrows
@@ -42,7 +42,7 @@ void parseAuthority() {
4242
var result = doParseForFile("spec/marc/authority.html");
4343

4444
assertThat(result).hasSize(147);
45-
assertAllFieldsExist(result, 1670, 521);
45+
assertAllFieldsExist(result, 1677, 521);
4646
}
4747

4848
private void assertAllFieldsExist(ArrayNode result, int expectedSubfieldCount, int expectedIndicatorCodeCount) {

0 commit comments

Comments
 (0)