@natlibfi/marc-record-validators-melinda 10.2.3 → 10.3.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.
Files changed (118) hide show
  1. package/.github/workflows/melinda-node-tests.yml +2 -2
  2. package/dist/access-rights.js.map +1 -1
  3. package/dist/access-rights.spec.js.map +1 -1
  4. package/dist/double-commas.js.map +1 -1
  5. package/dist/double-commas.spec.js.map +1 -1
  6. package/dist/duplicates-ind1.js.map +1 -1
  7. package/dist/duplicates-ind1.spec.js.map +1 -1
  8. package/dist/empty-fields.js.map +1 -1
  9. package/dist/empty-fields.spec.js.map +1 -1
  10. package/dist/ending-punctuation-conf.js.map +1 -1
  11. package/dist/ending-punctuation.js.map +1 -1
  12. package/dist/ending-punctuation.spec.js.map +1 -1
  13. package/dist/ending-whitespace.js.map +1 -1
  14. package/dist/ending-whitespace.spec.js.map +1 -1
  15. package/dist/field-exclusion.js.map +1 -1
  16. package/dist/field-exclusion.spec.js.map +1 -1
  17. package/dist/field-structure.js.map +1 -1
  18. package/dist/field-structure.spec.js.map +1 -1
  19. package/dist/fields-present.js.map +1 -1
  20. package/dist/fields-present.spec.js.map +1 -1
  21. package/dist/fixed-fields.js.map +1 -1
  22. package/dist/fixed-fields.spec.js.map +1 -1
  23. package/dist/identical-fields.js.map +1 -1
  24. package/dist/identical-fields.spec.js.map +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/indicator-fixes.js.map +1 -1
  27. package/dist/indicator-fixes.spec.js.map +1 -1
  28. package/dist/isbn-issn.js.map +1 -1
  29. package/dist/isbn-issn.spec.js.map +1 -1
  30. package/dist/item-language.js.map +1 -1
  31. package/dist/item-language.spec.js.map +1 -1
  32. package/dist/mergeField500Lisapainokset.js.map +1 -1
  33. package/dist/mergeField500Lisapainokset.spec.js.map +1 -1
  34. package/dist/multiple-subfield-0.js.map +1 -1
  35. package/dist/multiple-subfield-0.spec.js.map +1 -1
  36. package/dist/non-breaking-space.js.map +1 -1
  37. package/dist/non-breaking-space.spec.js.map +1 -1
  38. package/dist/normalize-identifiers.js.map +1 -1
  39. package/dist/normalize-identifiers.spec.js.map +1 -1
  40. package/dist/normalize-utf8-diacritics.js.map +1 -1
  41. package/dist/normalize-utf8-diacritics.spec.js.map +1 -1
  42. package/dist/punctuation/index.js.map +1 -1
  43. package/dist/punctuation/rules/aut.js.map +1 -1
  44. package/dist/punctuation/rules/bib.js.map +1 -1
  45. package/dist/punctuation/rules/index.js.map +1 -1
  46. package/dist/punctuation.spec.js.map +1 -1
  47. package/dist/punctuation2.js +677 -0
  48. package/dist/punctuation2.js.map +1 -0
  49. package/dist/punctuation2.spec.js +51 -0
  50. package/dist/punctuation2.spec.js.map +1 -0
  51. package/dist/reindexSubfield6OccurenceNumbers.js.map +1 -1
  52. package/dist/reindexSubfield6OccurenceNumbers.spec.js.map +1 -1
  53. package/dist/removeDuplicateDataFields.js +117 -30
  54. package/dist/removeDuplicateDataFields.js.map +1 -1
  55. package/dist/removeDuplicateDataFields.spec.js.map +1 -1
  56. package/dist/removeInferiorDataFields.js +98 -0
  57. package/dist/removeInferiorDataFields.js.map +1 -0
  58. package/dist/removeInferiorDataFields.spec.js +51 -0
  59. package/dist/removeInferiorDataFields.spec.js.map +1 -0
  60. package/dist/resolvable-ext-references-melinda.js.map +1 -1
  61. package/dist/resolvable-ext-references-melinda.spec.js.map +1 -1
  62. package/dist/resolveOrphanedSubfield6s.js.map +1 -1
  63. package/dist/resolveOrphanedSubfield6s.spec.js.map +1 -1
  64. package/dist/sort-tags.js.map +1 -1
  65. package/dist/sort-tags.spec.js.map +1 -1
  66. package/dist/subfield-exclusion.js.map +1 -1
  67. package/dist/subfield-exclusion.spec.js.map +1 -1
  68. package/dist/subfield6Utils.js.map +1 -1
  69. package/dist/subfield8Utils.js +17 -10
  70. package/dist/subfield8Utils.js.map +1 -1
  71. package/dist/unicode-decomposition.js.map +1 -1
  72. package/dist/unicode-decomposition.spec.js.map +1 -1
  73. package/dist/urn.js.map +1 -1
  74. package/dist/urn.spec.js.map +1 -1
  75. package/dist/utils.js.map +1 -1
  76. package/package.json +2 -2
  77. package/src/punctuation2.js +398 -0
  78. package/src/punctuation2.spec.js +52 -0
  79. package/src/removeDuplicateDataFields.js +141 -31
  80. package/src/removeInferiorDataFields.js +97 -0
  81. package/src/removeInferiorDataFields.spec.js +52 -0
  82. package/src/subfield8Utils.js +16 -11
  83. package/test-fixtures/punctuation2/01/expectedResult.json +12 -0
  84. package/test-fixtures/punctuation2/01/metadata.json +6 -0
  85. package/test-fixtures/punctuation2/01/record.json +37 -0
  86. package/test-fixtures/punctuation2/02/expectedResult.json +4 -0
  87. package/test-fixtures/punctuation2/02/metadata.json +6 -0
  88. package/test-fixtures/punctuation2/02/record.json +14 -0
  89. package/test-fixtures/punctuation2/04/expectedResult.json +7 -0
  90. package/test-fixtures/punctuation2/04/metadata.json +6 -0
  91. package/test-fixtures/punctuation2/04/record.json +22 -0
  92. package/test-fixtures/punctuation2/05/expectedResult.json +6 -0
  93. package/test-fixtures/punctuation2/05/metadata.json +6 -0
  94. package/test-fixtures/punctuation2/05/record.json +12 -0
  95. package/test-fixtures/punctuation2/98/expectedResult.json +39 -0
  96. package/test-fixtures/punctuation2/98/metadata.json +6 -0
  97. package/test-fixtures/punctuation2/98/record.json +37 -0
  98. package/test-fixtures/punctuation2/99/expectedResult.json +15 -0
  99. package/test-fixtures/punctuation2/99/metadata.json +6 -0
  100. package/test-fixtures/punctuation2/99/record.json +14 -0
  101. package/test-fixtures/remove-duplicate-datafields/f03/expectedResult.json +20 -0
  102. package/test-fixtures/remove-duplicate-datafields/f03/metadata.json +6 -0
  103. package/test-fixtures/remove-duplicate-datafields/f03/record.json +33 -0
  104. package/test-fixtures/remove-duplicate-datafields/f03b/expectedResult.json +20 -0
  105. package/test-fixtures/remove-duplicate-datafields/f03b/metadata.json +6 -0
  106. package/test-fixtures/remove-duplicate-datafields/f03b/record.json +35 -0
  107. package/test-fixtures/remove-duplicate-datafields/f03c/expectedResult.json +25 -0
  108. package/test-fixtures/remove-duplicate-datafields/f03c/metadata.json +6 -0
  109. package/test-fixtures/remove-duplicate-datafields/f03c/record.json +43 -0
  110. package/test-fixtures/remove-duplicate-datafields/f06/expectedResult.json +0 -18
  111. package/test-fixtures/remove-duplicate-datafields/v02/expectedResult.json +1 -3
  112. package/test-fixtures/remove-duplicate-datafields/v03/expectedResult.json +1 -2
  113. package/test-fixtures/remove-inferior-datafields/f01/expectedResult.json +21 -0
  114. package/test-fixtures/remove-inferior-datafields/f01/metadata.json +6 -0
  115. package/test-fixtures/remove-inferior-datafields/f01/record.json +31 -0
  116. package/test-fixtures/remove-inferior-datafields/v01/expectedResult.json +6 -0
  117. package/test-fixtures/remove-inferior-datafields/v01/metadata.json +6 -0
  118. package/test-fixtures/remove-inferior-datafields/v01/record.json +31 -0
@@ -0,0 +1,37 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "001", "value": "000000001" },
5
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [ { "code": "a", "value": "fin" } ] },
6
+
7
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
8
+ { "code": "a", "value": "Tuisku, Sara" },
9
+ { "code": "e", "value": "turkulainen" },
10
+ { "code": "e", "value": "testaaja" }
11
+ ]
12
+ },
13
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
14
+ { "code": "a", "value": "Reipas, R." },
15
+ { "code": "d", "value": "2000-" },
16
+ { "code": "e", "value": "esittäjä" }
17
+ ]},
18
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
19
+ { "code": "a", "value": "Reippaahko, R." },
20
+ { "code": "d", "value": "2000-" }
21
+ ]},
22
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
23
+ { "code": "a", "value": "Reippaampi, R." },
24
+ { "code": "d", "value": "2000-2050" },
25
+ { "code": "e", "value": "esittäjä" }
26
+ ]},
27
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
28
+ { "code": "a", "value": "Reippain, R." },
29
+ { "code": "d", "value": "2000-2050" }
30
+ ]},
31
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
32
+ { "code": "a", "value": "Nalle, P." },
33
+ { "code": "d", "value": "1926-" },
34
+ { "code": "0", "value": "(FIN11)000000000"}
35
+ ]}
36
+ ]
37
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "01331cam a22003494i 4500",
4
+ "fields": [
5
+ { "tag": "100", "ind1": "1", "ind2": "0", "subfields": [
6
+ { "code": "a", "value": "Sukunimi, Etunimi," },
7
+ { "code": "e", "value": "säveltäjä." }
8
+ ]
9
+ },
10
+ { "tag": "245", "ind1": "1", "ind2": "0", "subfields": [
11
+ { "code": "a", "value": "Only valid fields in this test /" },
12
+ { "code": "c", "value": "Tekijä." }
13
+ ]}
14
+ ]
15
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description":"Only fixer test, as fixer always returns true",
3
+ "enabled": true,
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "leader": "01331cam a22003494i 4500",
3
+ "fields": [
4
+ { "tag": "100", "ind1": "1", "ind2": "0", "subfields": [
5
+ { "code": "a", "value": "Sukunimi, Etunimi," },
6
+ { "code": "e", "value": "säveltäjä." }
7
+ ]
8
+ },
9
+ { "tag": "245", "ind1": "1", "ind2": "0", "subfields": [
10
+ { "code": "a", "value": "Only valid fields in this test /" },
11
+ { "code": "c", "value": "Tekijä." }
12
+ ]}
13
+ ]
14
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
5
+ { "code": "6", "value": "880-01" },
6
+ { "code": "8", "value": "1.1\\x" },
7
+ { "code": "a", "value": "eka"}
8
+ ]},
9
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
10
+ { "code": "8", "value": "1.2\\x" },
11
+ { "code": "a", "value": "toka"}
12
+ ]},
13
+
14
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
15
+ { "code": "6", "value": "520-01" },
16
+ { "code": "a", "value": "ake akot"}
17
+ ]}
18
+ ],
19
+ "leader": ""
20
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Fix-03: remove 520$8 chain + 880",
3
+ "enabled": true,
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
4
+ { "code": "6", "value": "880-01" },
5
+ { "code": "8", "value": "1.1\\x" },
6
+ { "code": "a", "value": "eka"}
7
+ ]},
8
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
9
+ { "code": "8", "value": "1.2\\x" },
10
+ { "code": "a", "value": "toka"}
11
+ ]},
12
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
13
+ { "code": "6", "value": "880-02" },
14
+ { "code": "8", "value": "2.1\\x" },
15
+ { "code": "a", "value": "eka"}
16
+ ]},
17
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
18
+ { "code": "8", "value": "2.2\\x" },
19
+ { "code": "a", "value": "toka"}
20
+ ]},
21
+
22
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
23
+ { "code": "6", "value": "520-01" },
24
+ { "code": "a", "value": "ake akot"}
25
+ ]},
26
+
27
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
28
+ { "code": "6", "value": "520-02" },
29
+ { "code": "a", "value": "ake akot"}
30
+ ]}
31
+
32
+ ]
33
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
5
+ { "code": "6", "value": "880-01" },
6
+ { "code": "a", "value": "eka toka"}
7
+ ]},
8
+
9
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
10
+ { "code": "6", "value": "520-01" },
11
+ { "code": "8", "value": "1.1\\x" },
12
+ { "code": "a", "value": "ake"}
13
+ ]},
14
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
15
+ { "code": "8", "value": "1.2\\x" },
16
+ { "code": "a", "value": "akot"}
17
+ ]}
18
+ ],
19
+ "leader": ""
20
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Fix-03b: handle 520-880 where 880 is $8 chain",
3
+ "enabled": true,
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
4
+ { "code": "6", "value": "880-01" },
5
+ { "code": "a", "value": "eka toka"}
6
+ ]},
7
+
8
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
9
+ { "code": "6", "value": "880-02" },
10
+ { "code": "a", "value": "eka toka"}
11
+ ]},
12
+
13
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
14
+ { "code": "6", "value": "520-01" },
15
+ { "code": "8", "value": "1.1\\x" },
16
+ { "code": "a", "value": "ake"}
17
+ ]},
18
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
19
+ { "code": "8", "value": "1.2\\x" },
20
+ { "code": "a", "value": "akot"}
21
+ ]},
22
+
23
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
24
+ { "code": "6", "value": "520-02" },
25
+ { "code": "8", "value": "2.1\\x" },
26
+ { "code": "a", "value": "ake"}
27
+ ]},
28
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
29
+ { "code": "8", "value": "2.2\\x" },
30
+ { "code": "a", "value": "akot"}
31
+ ]}
32
+
33
+
34
+ ]
35
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
5
+ { "code": "6", "value": "880-01" },
6
+ { "code": "8", "value": "1.1\\x" },
7
+ { "code": "a", "value": "eka"}
8
+ ]},
9
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
10
+ { "code": "8", "value": "1.2\\x" },
11
+ { "code": "a", "value": "toka"}
12
+ ]},
13
+
14
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
15
+ { "code": "6", "value": "520-01" },
16
+ { "code": "8", "value": "3.1\\x" },
17
+ { "code": "a", "value": "ake"}
18
+ ]},
19
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
20
+ { "code": "8", "value": "3.2\\x" },
21
+ { "code": "a", "value": "akot"}
22
+ ]}
23
+ ],
24
+ "leader": ""
25
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Fix-03c: remove 520$8 chain + 880$8 chains. Too complicated for now.",
3
+ "enabled": false,
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,43 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
4
+ { "code": "6", "value": "880-01" },
5
+ { "code": "8", "value": "1.1\\x" },
6
+ { "code": "a", "value": "eka"}
7
+ ]},
8
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
9
+ { "code": "8", "value": "1.2\\x" },
10
+ { "code": "a", "value": "toka"}
11
+ ]},
12
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
13
+ { "code": "6", "value": "880-02" },
14
+ { "code": "8", "value": "2.1\\x" },
15
+ { "code": "a", "value": "eka"}
16
+ ]},
17
+ { "tag": "520", "ind1": "3", "ind2": " ", "subfields": [
18
+ { "code": "8", "value": "2.2\\x" },
19
+ { "code": "a", "value": "toka"}
20
+ ]},
21
+
22
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
23
+ { "code": "6", "value": "520-01" },
24
+ { "code": "8", "value": "3.1\\x" },
25
+ { "code": "a", "value": "ake"}
26
+ ]},
27
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
28
+ { "code": "8", "value": "3.2\\x" },
29
+ { "code": "a", "value": "akot"}
30
+ ]},
31
+
32
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
33
+ { "code": "6", "value": "520-02" },
34
+ { "code": "8", "value": "4.1\\x" },
35
+ { "code": "a", "value": "ake"}
36
+ ]},
37
+ { "tag": "880", "ind1": "3", "ind2": " ", "subfields": [
38
+ { "code": "8", "value": "4.2\\x" },
39
+ { "code": "a", "value": "akot"}
40
+ ]}
41
+
42
+ ]
43
+ }
@@ -6,10 +6,6 @@
6
6
  { "code": "6", "value": "880-01" },
7
7
  { "code": "a", "value": "Abstrakti. Blah Blah..." }
8
8
  ]},
9
- { "tag": "520", "ind1": " ", "ind2": " ", "subfields": [
10
- { "code": "6", "value": "880-02" },
11
- { "code": "a", "value": "Abstrakti. Blah Blah..." }
12
- ]},
13
9
  { "tag": "880", "ind1": " ", "ind2": " ", "subfields": [
14
10
  { "code": "6", "value": "520-01" },
15
11
  { "code": "8", "value": "1.1\\x" },
@@ -22,20 +18,6 @@
22
18
  { "tag": "880", "ind1": " ", "ind2": " ", "subfields": [
23
19
  { "code": "8", "value": "1.3\\x" },
24
20
  { "code": "a", "value": "... page3, the end"}
25
- ]},
26
-
27
- { "tag": "880", "ind1": " ", "ind2": " ", "subfields": [
28
- { "code": "6", "value": "520-02" },
29
- { "code": "8", "value": "2.1\\x" },
30
- { "code": "a", "value": "Abstract, page1..."}
31
- ]},
32
- { "tag": "880", "ind1": " ", "ind2": " ", "subfields": [
33
- { "code": "8", "value": "2.2\\x" },
34
- { "code": "a", "value": "... continued, page2..."}
35
- ]},
36
- { "tag": "880", "ind1": " ", "ind2": " ", "subfields": [
37
- { "code": "8", "value": "2.3\\x" },
38
- { "code": "a", "value": "... page3, the end"}
39
21
  ]}
40
22
  ],
41
23
  "leader": ""
@@ -4,9 +4,7 @@
4
4
  "700 1 ‡a A., A., ‡e kirjoittaja, ‡e taiteilija.",
5
5
  "700 1 ‡a B., B., ‡e kirjoittaja.",
6
6
  "700 1 ‡6 880-01 ‡a C., C., ‡e kirjoittaja.",
7
- "880 1 ‡6 700-02 ‡a D., D., ‡e kirjoittaja.",
8
- "700 1 ‡6 880-XX ‡a C., C., ‡e kirjoittaja.\t__SEPARATOR__\t700 1 ‡6 880-XX ‡a C., C., ‡e kirjoittaja.",
9
- "880 1 ‡6 X00-XX ‡a D., D., ‡e kirjoittaja.\t__SEPARATOR__\t880 1 ‡6 X00-XX ‡a D., D., ‡e kirjoittaja."
7
+ "880 1 ‡6 700-02 ‡a D., D., ‡e kirjoittaja."
10
8
  ],
11
9
  "valid": false
12
10
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "message": [
3
- "100 1 ‡6 880-01 ‡a Zabara, Olena, ‡e kirjoittaja, ‡e taiteilija.",
4
- "100 1 ‡6 880-XX ‡a Zabara, Olena, ‡e kirjoittaja, ‡e taiteilija.\t__SEPARATOR__\t100 1 ‡6 880-XX ‡a Zabara, Olena, ‡e kirjoittaja, ‡e taiteilija.\t__SEPARATOR__\t880 1 ‡6 X00-XX/(N ‡a Забара, Олена, ‡e kirjoittaja, ‡e taiteilija."
3
+ "100 1 ‡6 880-01 ‡a Zabara, Olena, ‡e kirjoittaja, ‡e taiteilija."
5
4
  ],
6
5
  "valid": false
7
6
  }
@@ -0,0 +1,21 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "fields": [
4
+ { "tag": "001", "value": "f01" },
5
+ { "tag": "653", "ind1": " ", "ind2": " ", "subfields": [
6
+ { "code": "a", "value": "term"},
7
+ { "code": "9", "value": "FENNI<KEEP>"}
8
+ ]},
9
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
10
+ { "code": "a", "value": "Sukunimi, Etunimi,"},
11
+ { "code": "e", "value": "kirjoittaja," },
12
+ { "code": "e", "value": "taiteilija." }
13
+ ]},
14
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
15
+ { "code": "a", "value": "Sukunimi, Etunimi,"},
16
+ { "code": "e", "value": "taiteilija." }
17
+ ]}
18
+
19
+ ],
20
+ "leader": ""
21
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "f01: removable subsets deleted",
3
+ "enabled": true,
4
+ "fix": true,
5
+ "only": false
6
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "001", "value": "f01" },
4
+ { "tag": "653", "ind1": " ", "ind2": " ", "subfields": [ { "code": "a", "value": "term"} ]},
5
+ { "tag": "653", "ind1": " ", "ind2": " ", "subfields": [
6
+ { "code": "a", "value": "term"},
7
+ { "code": "9", "value": "FENNI<KEEP>"}
8
+ ]},
9
+
10
+
11
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
12
+ { "code": "a", "value": "Sukunimi, Etunimi,"},
13
+ { "code": "e", "value": "kirjoittaja," },
14
+ { "code": "e", "value": "taiteilija." }
15
+ ]},
16
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
17
+ { "code": "a", "value": "Sukunimi, Etunimi,"},
18
+ { "code": "e", "value": "kirjoittaja." }
19
+ ]},
20
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
21
+ { "code": "a", "value": "Sukunimi, Etunimi,"},
22
+ { "code": "e", "value": "taiteilija." }
23
+ ]},
24
+ { "tag": "700", "ind1": "1", "ind2": " ", "subfields": [
25
+ { "code": "a", "value": "Sukunimi, Etunimi." }
26
+ ]}
27
+
28
+
29
+ ],
30
+ "leader": ""
31
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "message": [
3
+
4
+ ],
5
+ "valid": true
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "v01: no deletable fields detected",
3
+ "enabled": true,
4
+ "fix": false,
5
+ "only": false
6
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "fields": [
3
+ { "tag": "100", "ind1": "1", "ind2": " ", "subfields": [
4
+ { "code": "6", "value": "880-01" },
5
+ { "code": "a", "value": "Zabara, Olena,"},
6
+ { "code": "e", "value": "kirjoittaja," },
7
+ { "code": "e", "value": "taiteilija." }
8
+ ]},
9
+ { "tag": "600", "ind1": "1", "ind2": " ", "subfields": [
10
+ { "code": "6", "value": "880-02" },
11
+ { "code": "a", "value": "FOO"},
12
+ { "code": "e", "value": "whatever" }
13
+ ]},
14
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
15
+ { "code": "6", "value": "500-00/(N" },
16
+ { "code": "a", "value": "Lorum ipsum." }
17
+ ]},
18
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
19
+ { "code": "6", "value": "100-01/(N" },
20
+ { "code": "a", "value": "Забара, Олена," },
21
+ { "code": "e", "value": "kirjoittaja," },
22
+ { "code": "e", "value": "taiteilija." }
23
+ ]},
24
+ { "tag": "880", "ind1": "1", "ind2": " ", "subfields": [
25
+ { "code": "6", "value": "600-02" },
26
+ { "code": "a", "value": "BAR"},
27
+ { "code": "e", "value": "whatever" }
28
+ ]}
29
+
30
+ ]
31
+ }