@natlibfi/marc-record-validators-melinda 11.1.1 → 11.2.0-alpha.1

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 (272) hide show
  1. package/dist/addMissingField041.js +93 -0
  2. package/dist/addMissingField041.js.map +1 -0
  3. package/dist/addMissingField041.spec.js +45 -0
  4. package/dist/addMissingField041.spec.js.map +1 -0
  5. package/dist/cyrillux-usemarcon-replacement.js +16 -13
  6. package/dist/cyrillux-usemarcon-replacement.js.map +1 -1
  7. package/dist/punctuation2.js +26 -19
  8. package/dist/punctuation2.js.map +1 -1
  9. package/dist/sortSubfields.js +1 -0
  10. package/dist/sortSubfields.js.map +1 -1
  11. package/package.json +5 -5
  12. package/src/addMissingField041.js +74 -0
  13. package/src/addMissingField041.spec.js +46 -0
  14. package/src/cyrillux-usemarcon-replacement.js +28 -5
  15. package/src/punctuation2.js +19 -20
  16. package/src/sortSubfields.js +1 -0
  17. package/test-fixtures/addMissingField041/f01/expectedResult.json +7 -0
  18. package/test-fixtures/addMissingField041/f01/metadata.json +5 -0
  19. package/test-fixtures/addMissingField041/f01/record.json +6 -0
  20. package/test-fixtures/addMissingField041/f02/expectedResult.json +8 -0
  21. package/test-fixtures/addMissingField041/f02/metadata.json +6 -0
  22. package/test-fixtures/addMissingField041/f02/record.json +6 -0
  23. package/test-fixtures/addMissingField041/f03/expectedResult.json +8 -0
  24. package/test-fixtures/addMissingField041/f03/metadata.json +6 -0
  25. package/test-fixtures/addMissingField041/f03/record.json +7 -0
  26. package/test-fixtures/addMissingField041/f04/expectedResult.json +8 -0
  27. package/test-fixtures/addMissingField041/f04/metadata.json +5 -0
  28. package/test-fixtures/addMissingField041/f04/record.json +6 -0
  29. package/test-fixtures/addMissingField041/v01/expectedResult.json +5 -0
  30. package/test-fixtures/addMissingField041/v01/metadata.json +5 -0
  31. package/test-fixtures/addMissingField041/v01/record.json +6 -0
  32. package/test-fixtures/addMissingField041/v02/expectedResult.json +6 -0
  33. package/test-fixtures/addMissingField041/v02/metadata.json +6 -0
  34. package/test-fixtures/addMissingField041/v02/record.json +6 -0
  35. package/test-fixtures/addMissingField336/01/metadata.json +0 -1
  36. package/test-fixtures/addMissingField336/02/metadata.json +0 -1
  37. package/test-fixtures/addMissingField336/cod/metadata.json +0 -1
  38. package/test-fixtures/addMissingField336/cop/metadata.json +0 -1
  39. package/test-fixtures/addMissingField336/cop2/metadata.json +0 -1
  40. package/test-fixtures/addMissingField336/crf/metadata.json +0 -1
  41. package/test-fixtures/addMissingField336/cri/metadata.json +0 -1
  42. package/test-fixtures/addMissingField336/crt/metadata.json +0 -1
  43. package/test-fixtures/addMissingField336/f01/metadata.json +0 -1
  44. package/test-fixtures/addMissingField336/f02/metadata.json +0 -1
  45. package/test-fixtures/addMissingField336/mixed2txt/metadata.json +0 -1
  46. package/test-fixtures/addMissingField336/mixed2xxx/metadata.json +0 -1
  47. package/test-fixtures/addMissingField336/ntm/metadata.json +0 -1
  48. package/test-fixtures/addMissingField336/snd/metadata.json +0 -1
  49. package/test-fixtures/addMissingField336/spw/metadata.json +0 -1
  50. package/test-fixtures/addMissingField336/spw2/metadata.json +0 -1
  51. package/test-fixtures/addMissingField336/spw_txt/metadata.json +0 -1
  52. package/test-fixtures/addMissingField336/sti/metadata.json +0 -1
  53. package/test-fixtures/addMissingField336/sti_projected/metadata.json +0 -1
  54. package/test-fixtures/addMissingField336/tci/metadata.json +0 -1
  55. package/test-fixtures/addMissingField336/tcm/metadata.json +0 -1
  56. package/test-fixtures/addMissingField336/tdf/metadata.json +0 -1
  57. package/test-fixtures/addMissingField336/tdi/metadata.json +0 -1
  58. package/test-fixtures/addMissingField336/txt/metadata.json +0 -1
  59. package/test-fixtures/addMissingField336/zzz/metadata.json +0 -1
  60. package/test-fixtures/addMissingField337/c1/metadata.json +0 -1
  61. package/test-fixtures/addMissingField337/g1/metadata.json +0 -1
  62. package/test-fixtures/addMissingField337/n1/metadata.json +0 -1
  63. package/test-fixtures/addMissingField337/no_action_required/metadata.json +0 -1
  64. package/test-fixtures/addMissingField337/p1/metadata.json +0 -1
  65. package/test-fixtures/addMissingField337/validate_x1/metadata.json +0 -1
  66. package/test-fixtures/addMissingField338/cb/metadata.json +0 -1
  67. package/test-fixtures/addMissingField338/cd/metadata.json +0 -1
  68. package/test-fixtures/addMissingField338/ck/metadata.json +0 -1
  69. package/test-fixtures/addMissingField338/cr/metadata.json +0 -1
  70. package/test-fixtures/addMissingField338/cr2/metadata.json +0 -1
  71. package/test-fixtures/addMissingField338/cr3/metadata.json +0 -1
  72. package/test-fixtures/addMissingField338/cr4/metadata.json +0 -1
  73. package/test-fixtures/addMissingField338/gc/metadata.json +0 -1
  74. package/test-fixtures/addMissingField338/gd/metadata.json +0 -1
  75. package/test-fixtures/addMissingField338/gf/metadata.json +0 -1
  76. package/test-fixtures/addMissingField338/gs/metadata.json +0 -1
  77. package/test-fixtures/addMissingField338/gt/metadata.json +0 -1
  78. package/test-fixtures/addMissingField338/hd/metadata.json +0 -1
  79. package/test-fixtures/addMissingField338/he/metadata.json +0 -1
  80. package/test-fixtures/addMissingField338/he2/metadata.json +0 -1
  81. package/test-fixtures/addMissingField338/hg/metadata.json +0 -1
  82. package/test-fixtures/addMissingField338/hg2/metadata.json +0 -1
  83. package/test-fixtures/addMissingField338/hj/metadata.json +0 -1
  84. package/test-fixtures/addMissingField338/hj2/metadata.json +0 -1
  85. package/test-fixtures/addMissingField338/mo/metadata.json +0 -1
  86. package/test-fixtures/addMissingField338/nc/metadata.json +0 -1
  87. package/test-fixtures/addMissingField338/nr/metadata.json +0 -1
  88. package/test-fixtures/addMissingField338/sd/metadata.json +0 -1
  89. package/test-fixtures/addMissingField338/sd2/metadata.json +0 -1
  90. package/test-fixtures/addMissingField338/sd3/metadata.json +0 -1
  91. package/test-fixtures/addMissingField338/ss/metadata.json +0 -1
  92. package/test-fixtures/addMissingField338/ss2/metadata.json +0 -1
  93. package/test-fixtures/addMissingField338/vd/metadata.json +0 -1
  94. package/test-fixtures/addMissingField338/vd2/metadata.json +0 -1
  95. package/test-fixtures/addMissingField338/vf/metadata.json +0 -1
  96. package/test-fixtures/addMissingField338/zu/metadata.json +0 -1
  97. package/test-fixtures/cyrillux-usemarcon-replacement/f01/metadata.json +0 -1
  98. package/test-fixtures/cyrillux-usemarcon-replacement/f02/expectedResult.json +3 -0
  99. package/test-fixtures/cyrillux-usemarcon-replacement/f02/metadata.json +0 -1
  100. package/test-fixtures/cyrillux-usemarcon-replacement/f03/expectedResult.json +3 -0
  101. package/test-fixtures/cyrillux-usemarcon-replacement/f03/metadata.json +0 -1
  102. package/test-fixtures/cyrillux-usemarcon-replacement/f04/expectedResult.json +3 -0
  103. package/test-fixtures/cyrillux-usemarcon-replacement/f04/metadata.json +0 -1
  104. package/test-fixtures/cyrillux-usemarcon-replacement/f05/expectedResult.json +3 -0
  105. package/test-fixtures/cyrillux-usemarcon-replacement/f05/metadata.json +1 -1
  106. package/test-fixtures/cyrillux-usemarcon-replacement/f06/expectedResult.json +3 -0
  107. package/test-fixtures/cyrillux-usemarcon-replacement/f06/metadata.json +0 -1
  108. package/test-fixtures/cyrillux-usemarcon-replacement/f07/expectedResult.json +3 -0
  109. package/test-fixtures/cyrillux-usemarcon-replacement/f07/metadata.json +0 -1
  110. package/test-fixtures/cyrillux-usemarcon-replacement/f08/expectedResult.json +3 -0
  111. package/test-fixtures/cyrillux-usemarcon-replacement/f08/metadata.json +0 -1
  112. package/test-fixtures/cyrillux-usemarcon-replacement/f09/expectedResult.json +1 -2
  113. package/test-fixtures/cyrillux-usemarcon-replacement/f09/metadata.json +1 -2
  114. package/test-fixtures/cyrillux-usemarcon-replacement/f09/record.json +1 -1
  115. package/test-fixtures/cyrillux-usemarcon-replacement/f10/expectedResult.json +1 -1
  116. package/test-fixtures/cyrillux-usemarcon-replacement/f10/metadata.json +0 -1
  117. package/test-fixtures/cyrillux-usemarcon-replacement/f10/record.json +1 -1
  118. package/test-fixtures/cyrillux-usemarcon-replacement/f11/expectedResult.json +3 -0
  119. package/test-fixtures/cyrillux-usemarcon-replacement/f11/metadata.json +1 -2
  120. package/test-fixtures/cyrillux-usemarcon-replacement/v01/metadata.json +0 -1
  121. package/test-fixtures/cyrillux-usemarcon-replacement/v02/metadata.json +0 -1
  122. package/test-fixtures/cyrillux-usemarcon-replacement/v02/record.json +1 -1
  123. package/test-fixtures/field-008-18-34-character-groups/01/metadata.json +0 -1
  124. package/test-fixtures/field-008-18-34-character-groups/02/metadata.json +0 -1
  125. package/test-fixtures/field-008-18-34-character-groups/03/metadata.json +0 -1
  126. package/test-fixtures/field-008-18-34-character-groups/04/metadata.json +0 -1
  127. package/test-fixtures/field-008-18-34-character-groups/05/metadata.json +0 -1
  128. package/test-fixtures/field-505-separators/01/metadata.json +0 -1
  129. package/test-fixtures/field-505-separators/02/metadata.json +0 -1
  130. package/test-fixtures/fix-33X/f11/metadata.json +0 -1
  131. package/test-fixtures/fix-33X/v11/metadata.json +0 -1
  132. package/test-fixtures/fix-country-codes/01/metadata.json +0 -1
  133. package/test-fixtures/fix-country-codes/02/metadata.json +0 -1
  134. package/test-fixtures/fix-country-codes/03/metadata.json +0 -1
  135. package/test-fixtures/fix-country-codes/04/metadata.json +0 -1
  136. package/test-fixtures/fix-country-codes/05/metadata.json +0 -1
  137. package/test-fixtures/fix-language-codes/01/metadata.json +0 -1
  138. package/test-fixtures/fix-language-codes/02/metadata.json +0 -1
  139. package/test-fixtures/fix-language-codes/03/metadata.json +0 -1
  140. package/test-fixtures/fix-language-codes/04/metadata.json +0 -1
  141. package/test-fixtures/fix-language-codes/05/metadata.json +0 -1
  142. package/test-fixtures/fix-relator-terms/f01/metadata.json +0 -1
  143. package/test-fixtures/fix-relator-terms/f01b/metadata.json +0 -1
  144. package/test-fixtures/fix-relator-terms/f02/metadata.json +0 -1
  145. package/test-fixtures/fix521/01/metadata.json +0 -1
  146. package/test-fixtures/fix521/02/metadata.json +0 -1
  147. package/test-fixtures/fix521/03/metadata.json +0 -1
  148. package/test-fixtures/indicator-fixes/01/metadata.json +0 -1
  149. package/test-fixtures/indicator-fixes/02/metadata.json +0 -1
  150. package/test-fixtures/indicator-fixes/03/metadata.json +0 -1
  151. package/test-fixtures/indicator-fixes/04/metadata.json +0 -1
  152. package/test-fixtures/indicator-fixes/05/metadata.json +0 -1
  153. package/test-fixtures/indicator-fixes/06/metadata.json +0 -1
  154. package/test-fixtures/indicator-fixes/07/metadata.json +0 -1
  155. package/test-fixtures/normalize-dashes/01/metadata.json +0 -1
  156. package/test-fixtures/normalize-dashes/02/metadata.json +0 -1
  157. package/test-fixtures/normalize-dashes/03/metadata.json +0 -1
  158. package/test-fixtures/normalize-identifiers/01/metadata.json +0 -1
  159. package/test-fixtures/normalize-identifiers/02/metadata.json +0 -1
  160. package/test-fixtures/normalize-identifiers/03/metadata.json +0 -1
  161. package/test-fixtures/normalize-identifiers/04/metadata.json +0 -1
  162. package/test-fixtures/normalize-qualifying-information/01/metadata.json +0 -1
  163. package/test-fixtures/normalize-qualifying-information/02/metadata.json +0 -1
  164. package/test-fixtures/normalize-subfield-value/01/metadata.json +0 -1
  165. package/test-fixtures/normalize-utf8-diacritics/01/metadata.json +0 -1
  166. package/test-fixtures/normalize-utf8-diacritics/02/metadata.json +0 -1
  167. package/test-fixtures/normalize-utf8-diacritics/03/metadata.json +0 -1
  168. package/test-fixtures/normalize-utf8-diacritics/04/metadata.json +0 -1
  169. package/test-fixtures/normalize-utf8-diacritics/05/metadata.json +0 -1
  170. package/test-fixtures/punctuation/03/metadata.json +0 -1
  171. package/test-fixtures/punctuation/04/metadata.json +0 -1
  172. package/test-fixtures/punctuation/05/metadata.json +0 -1
  173. package/test-fixtures/punctuation2/01/metadata.json +0 -1
  174. package/test-fixtures/punctuation2/02/metadata.json +0 -1
  175. package/test-fixtures/punctuation2/04/metadata.json +0 -1
  176. package/test-fixtures/punctuation2/05/metadata.json +0 -1
  177. package/test-fixtures/punctuation2/240/metadata.json +0 -1
  178. package/test-fixtures/punctuation2/260/expectedResult.json +14 -0
  179. package/test-fixtures/punctuation2/260/metadata.json +5 -0
  180. package/test-fixtures/punctuation2/260/record.json +12 -0
  181. package/test-fixtures/punctuation2/710/expectedResult.json +11 -0
  182. package/test-fixtures/punctuation2/710/metadata.json +5 -0
  183. package/test-fixtures/punctuation2/710/record.json +9 -0
  184. package/test-fixtures/punctuation2/800/metadata.json +0 -1
  185. package/test-fixtures/punctuation2/95/metadata.json +0 -1
  186. package/test-fixtures/punctuation2/96/metadata.json +0 -1
  187. package/test-fixtures/punctuation2/97/metadata.json +0 -1
  188. package/test-fixtures/punctuation2/98/metadata.json +0 -1
  189. package/test-fixtures/punctuation2/99/metadata.json +0 -1
  190. package/test-fixtures/reindex-sf6-occurence-numbers/f01/metadata.json +0 -1
  191. package/test-fixtures/reindex-sf6-occurence-numbers/f02/metadata.json +0 -1
  192. package/test-fixtures/reindex-sf6-occurence-numbers/f03/metadata.json +0 -1
  193. package/test-fixtures/reindex-sf6-occurence-numbers/v01/metadata.json +0 -1
  194. package/test-fixtures/reindex-sf6-occurence-numbers/v02/metadata.json +0 -1
  195. package/test-fixtures/reindex-sf6-occurence-numbers/v03/metadata.json +0 -1
  196. package/test-fixtures/remove-duplicate-datafields/f01/metadata.json +0 -1
  197. package/test-fixtures/remove-duplicate-datafields/f03/metadata.json +0 -1
  198. package/test-fixtures/remove-duplicate-datafields/f03b/metadata.json +0 -1
  199. package/test-fixtures/remove-duplicate-datafields/f04/metadata.json +0 -1
  200. package/test-fixtures/remove-duplicate-datafields/f05/metadata.json +0 -1
  201. package/test-fixtures/remove-duplicate-datafields/f06/metadata.json +0 -1
  202. package/test-fixtures/remove-duplicate-datafields/f07/metadata.json +0 -1
  203. package/test-fixtures/remove-duplicate-datafields/f08/metadata.json +0 -1
  204. package/test-fixtures/remove-duplicate-datafields/f09/metadata.json +0 -1
  205. package/test-fixtures/remove-duplicate-datafields/f10/metadata.json +0 -1
  206. package/test-fixtures/remove-duplicate-datafields/f11/metadata.json +0 -1
  207. package/test-fixtures/remove-duplicate-datafields/v01/metadata.json +0 -1
  208. package/test-fixtures/remove-duplicate-datafields/v02/metadata.json +0 -1
  209. package/test-fixtures/remove-duplicate-datafields/v03/metadata.json +0 -1
  210. package/test-fixtures/remove-duplicate-datafields/v04/metadata.json +0 -1
  211. package/test-fixtures/remove-inferior-datafields/f01/metadata.json +0 -1
  212. package/test-fixtures/remove-inferior-datafields/f02a/metadata.json +0 -1
  213. package/test-fixtures/remove-inferior-datafields/f02b/metadata.json +0 -1
  214. package/test-fixtures/remove-inferior-datafields/f03/metadata.json +0 -1
  215. package/test-fixtures/remove-inferior-datafields/f04/metadata.json +0 -1
  216. package/test-fixtures/remove-inferior-datafields/f05/metadata.json +0 -1
  217. package/test-fixtures/remove-inferior-datafields/f06/metadata.json +0 -1
  218. package/test-fixtures/remove-inferior-datafields/f07a/metadata.json +0 -1
  219. package/test-fixtures/remove-inferior-datafields/f07b/metadata.json +0 -1
  220. package/test-fixtures/remove-inferior-datafields/f07c/metadata.json +0 -1
  221. package/test-fixtures/remove-inferior-datafields/f07d/metadata.json +0 -1
  222. package/test-fixtures/remove-inferior-datafields/f07e/metadata.json +0 -1
  223. package/test-fixtures/remove-inferior-datafields/f07f/metadata.json +0 -1
  224. package/test-fixtures/remove-inferior-datafields/f07g/metadata.json +0 -1
  225. package/test-fixtures/remove-inferior-datafields/f07h/metadata.json +0 -1
  226. package/test-fixtures/remove-inferior-datafields/f07i/metadata.json +0 -1
  227. package/test-fixtures/remove-inferior-datafields/f07j/metadata.json +0 -1
  228. package/test-fixtures/remove-inferior-datafields/f08/metadata.json +0 -1
  229. package/test-fixtures/remove-inferior-datafields/f09/metadata.json +0 -1
  230. package/test-fixtures/remove-inferior-datafields/f10/metadata.json +0 -1
  231. package/test-fixtures/remove-inferior-datafields/f11/metadata.json +0 -1
  232. package/test-fixtures/remove-inferior-datafields/f12/metadata.json +0 -1
  233. package/test-fixtures/remove-inferior-datafields/f13/metadata.json +0 -1
  234. package/test-fixtures/remove-inferior-datafields/v01/metadata.json +0 -1
  235. package/test-fixtures/remove-inferior-datafields/v02/metadata.json +0 -1
  236. package/test-fixtures/remove-orphanded-sf6s/f01/metadata.json +0 -1
  237. package/test-fixtures/remove-orphanded-sf6s/f02/metadata.json +0 -1
  238. package/test-fixtures/remove-orphanded-sf6s/v01/metadata.json +0 -1
  239. package/test-fixtures/remove-orphanded-sf6s/v02/metadata.json +0 -1
  240. package/test-fixtures/sanitize-vocabulary-source-codes/f01/metadata.json +0 -1
  241. package/test-fixtures/sanitize-vocabulary-source-codes/f02/metadata.json +0 -1
  242. package/test-fixtures/sanitize-vocabulary-source-codes/f03/metadata.json +0 -1
  243. package/test-fixtures/sanitize-vocabulary-source-codes/v01/metadata.json +0 -1
  244. package/test-fixtures/sanitize-vocabulary-source-codes/v03/metadata.json +0 -1
  245. package/test-fixtures/sort-relator-terms/f01/metadata.json +0 -1
  246. package/test-fixtures/sort-relator-terms/f02/metadata.json +0 -1
  247. package/test-fixtures/sort-relator-terms/v01/metadata.json +0 -1
  248. package/test-fixtures/sort-relator-terms/v02/metadata.json +0 -1
  249. package/test-fixtures/sort-subfields/f01/metadata.json +0 -1
  250. package/test-fixtures/sort-subfields/f02/metadata.json +0 -1
  251. package/test-fixtures/sort-subfields/v01/metadata.json +0 -1
  252. package/test-fixtures/sort-subfields/v02/metadata.json +0 -1
  253. package/test-fixtures/strip-punctuation/01/metadata.json +0 -1
  254. package/test-fixtures/strip-punctuation/02/metadata.json +0 -1
  255. package/test-fixtures/strip-punctuation/04/metadata.json +0 -1
  256. package/test-fixtures/strip-punctuation/05/metadata.json +0 -1
  257. package/test-fixtures/strip-punctuation/240/metadata.json +0 -1
  258. package/test-fixtures/strip-punctuation/96/metadata.json +0 -1
  259. package/test-fixtures/strip-punctuation/97/metadata.json +0 -1
  260. package/test-fixtures/strip-punctuation/98/metadata.json +0 -1
  261. package/test-fixtures/strip-punctuation/99/metadata.json +0 -1
  262. package/test-fixtures/subfield0/f01/metadata.json +0 -1
  263. package/test-fixtures/subfield0/f02/metadata.json +0 -1
  264. package/test-fixtures/subfield0/f03/metadata.json +0 -1
  265. package/test-fixtures/subfield0/v01/metadata.json +0 -1
  266. package/test-fixtures/subfield0/v02/metadata.json +0 -1
  267. package/test-fixtures/sync-007-and-300/f01/metadata.json +0 -1
  268. package/test-fixtures/sync-007-and-300/v01/metadata.json +0 -1
  269. package/test-fixtures/sync-007-and-300/v02/metadata.json +0 -1
  270. package/test-fixtures/sync-007-and-300/v03/metadata.json +0 -1
  271. package/test-fixtures/update-field-540/f01/metadata.json +0 -1
  272. package/test-fixtures/update-field-540/v01/metadata.json +0 -1
@@ -8,6 +8,7 @@
8
8
  import clone from 'clone';
9
9
  import {MarcRecord} from '@natlibfi/marc-record';
10
10
  import {default as fix33X} from './fix-33X';
11
+ import {default as add041} from './addMissingField041';
11
12
  import {default as add336} from './addMissingField336';
12
13
  import {default as add337} from './addMissingField337';
13
14
  import {default as add338} from './addMissingField338';
@@ -68,6 +69,7 @@ export default function () {
68
69
  f028.forEach(f => sortAdjacentSubfields(f));
69
70
 
70
71
  fixField040(record); // All $b values are changed to 'mul'. As a side effect 33X$b=>$a mappings are in Finnish! Ok in this domain!
72
+ add041().fix(record);
71
73
 
72
74
  fixRelatorTerms().fix(record);
73
75
 
@@ -338,6 +340,8 @@ function expandEnglishAbbreviations(value) {
338
340
  replace(/col\. ill\./ui, 'color illustrations').
339
341
  replace(/diagrs\./ui, 'diagrams').
340
342
  replace(/\bhbk\.\b/gui, 'hardcover').replace(/\bhbk\b/gui, 'hardcover'). // expand to MTS-compliant form
343
+ replace(/\b1 hr\./gui, '1 hour').
344
+ replace(/\bhr\./gui, 'hours').
341
345
  replace(/\bill\./gui, 'illustrated'). // or illustrations (or Swedish "illustrerad" or...)
342
346
  replace(/\billus\./gui, 'illustrated'). // or illustrations
343
347
  replace(/incl\./gui, 'includes').
@@ -346,9 +350,10 @@ function expandEnglishAbbreviations(value) {
346
350
  // replace(/\bmin\b/gu, 'minutes').
347
351
  replace(/\bp\.\b/gui, 'pages').replace(/\bp\b/gu, 'pages').
348
352
  replace(/\bpbk\.\b/gui, 'paperback').replace(/\bpbk\b/gui, 'paperback'). // expand to MTS-compliant form
353
+ replace(/\bpdf\b/gui, 'PDF').
349
354
  replace(/\bports\./gui, 'portraits').
350
355
  replace('sd., col.', 'sound, color').
351
- replace(/ *\((?:chiefly col\.|chiefly color|some cols)\)/gui, '').
356
+ replace(/ *\((?:chiefly col\.|chiefly color|some col[s.])\)/gui, '').
352
357
  replace(/\b1 hr\./gui, '1 hour');
353
358
  }
354
359
 
@@ -375,33 +380,51 @@ function finnishTranslationsAndMappings(value) {
375
380
  replace('approximately', 'noin').
376
381
  replace('audio discs', 'äänilevyä').
377
382
  replace('black and white', 'mustavalkoinen').
383
+ replace(/\bbilaga\b/gui, 'liite').
384
+ replace(/\bbilagor\b/gui, 'liitettä').
378
385
  replace(/\bcharts\b/gui, 'kaavioita').
379
386
  replace('chiefly color illustrations', 'pääosin värikuvitettu').
380
387
  replace('chiefly', 'pääosin').
388
+ replace(/\bcirca\b/gui, 'noin').
389
+ replace(/coil[- ]?bound/gui, 'kierreselkä').
381
390
  replace('color illustrations', 'värikuvitus').
391
+ replace(/comb[- ]?bound/gui, 'kierreselkä').
382
392
  replace(/\bdigital\b/gui, 'digitaalinen').
383
393
  replace(/\belectronic book\b/gui, 'verkkoaineisto').
394
+ replace('(flera nummersviter)', '(useita numerointijaksoja)').
384
395
  replace(/\bfolded sheet\b/gui, 'taitelehti').
385
- replace(/\bhardback\b/gui, 'kovakantinen').
396
+ replace(/\bfärgillustratione[nr]\b/gui, 'värikuvitus').
397
+ replace(/\bhard(?:back|cover)\b/gui, 'kovakantinen').
386
398
  replace(/\bhours\b/gui, 'tuntia').
399
+ replace(/\bi flera nummersviter/gui, 'useina numerointijaksoina').
387
400
  replace('illustrated', 'kuvitettu').
388
- replace(/illustration\b/gui, 'kuvitus'). // kuvitus/kuvitettu variation is taken from usemarcon-cyrillux...
389
- replace('illustrations', 'kuvitettu').
401
+ replace(/illustrations?\b/gui, 'kuvitettu'). // Based on usemacron-bookwhere (NB! usemarcon-cyrillux had kuvitus/kuvitettu)
402
+ replace(/\binbunden\b/gui, 'kovakantinen'). // swe
390
403
  replace(/\binsert\b/gui, 'liite').
391
404
  replace(/\binserts\b/gui, 'liitteitä').
405
+ replace(/\bin various pagings/gui, 'useina numerointijaksoina').
392
406
  replace('leaves of plates', 'kuvalehteä').
407
+ replace(/\bljudskiva\b/gui, 'äänilevy').
408
+ replace(/\bljudskivor\b/gui, 'äänilevyä').
393
409
  replace(/\bmap\b/gui, 'kartta').
394
410
  replace(/\bmaps\b/gui, 'karttoja'). // or karttaa?
395
411
  replace('minutes', 'minuuttia').
412
+ replace('mjuka pärmar', 'pehmeäkantinen').
396
413
  replace('online resource', 'verkkoaineisto').
414
+ replace('onlineresurs', 'verkkoaineisto').
415
+ replace('onumrerade', 'numeroimatonta').
397
416
  replace('pages of plates', 'kuvalehteä').
398
417
  replace(/\bpages\b/gui, 'sivua').
399
418
  replace(/\bpaperback\b/gui, 'pehmeäkantinen'). // MTS alt
419
+ replace(/\bSeiten\b/gu, 'sivua').
400
420
  replace(/\bsoftcover\b/gui, 'pehmeäkantinen'). // MTS pref
401
421
  replace('sound, color', 'äänellinen, värillinen').
402
422
  replace('sound cassettes', 'äänikasettia').replace('sound cassette', 'äänikasetti').
403
- replace('sound discs', 'äänilevyä').replace('sound disc', 'äänilevy').
423
+ replace('sound discs', 'äänilevyä').replace(/sound disc\b/gui, 'äänilevy').
424
+ replace(/(?:spiral[- ]?bound|spiralrygg)/gui, 'kierreselkä').
425
+ replace('svartvit', 'mustavalkoinen').
404
426
  replace('unnumbered', 'numeroimatonta').
427
+ replace('(various pagings)', '(useita numerointijaksoja)').
405
428
  replace(/\bverkkojulkaisu\b/gui, 'verkkoaineisto').
406
429
  replace('videodiscs', 'videolevyä').
407
430
  replace('videodisc', 'videolevy').
@@ -86,7 +86,7 @@ export function fieldNeedsModification(field, add = true) {
86
86
 
87
87
 
88
88
  //const stripCrap = / *[-;:,+]+$/u;
89
- const defaultNeedsPuncAfter = /(?:[a-z0-9A-Z]|å|ä|ö|Å|Ä|Ö)$/u;
89
+ const needsPuncAfterAlphanumeric = /(?:[a-z0-9A-Z]|å|ä|ö|Å|Ä|Ö)$/u;
90
90
  const defaultNeedsPuncAfter2 = /(?:[\]a-zA-Z0-9)]|ä|å|ö|Å|Ä|Ö)$/u;
91
91
  const doesNotEndInPunc = /[^!?.:;,]$/u; // non-punc for pre-240/700/XXX $, note that '.' comes if preceded by ')'
92
92
  const blocksPuncRHS = /^(?:\()/u;
@@ -105,7 +105,6 @@ const cleanX00aDot = {'code': 'abcde', 'followedBy': 'cdegj', 'context': dotIsPr
105
105
  const cleanCorruption = {'code': 'abcdefghijklmnopqrstuvwxyz', 'remove': / \.$/u};
106
106
  // These $e dot removals are tricky: before removing the comma, we should know that it ain't an abbreviation such as "esitt."...
107
107
  const cleanX00eDot = {'code': 'e', 'followedBy': 'egj#', 'context': /(?:[ai]ja|jä)[.,]$/u, 'remove': /\.$/u};
108
-
109
108
  const removeCommaBeforeLanguageSubfieldL = {'followedBy': 'l', 'remove': /,$/u};
110
109
  const removeCommaBeforeTitleSubfieldT = {'followedBy': 't', 'remove': /,$/u};
111
110
 
@@ -113,17 +112,16 @@ const X00RemoveDotAfterBracket = {'code': 'cq', 'context': /\)\.$/u, 'remove': /
113
112
  // 390, 800, 810, 830...
114
113
  const cleanPuncBeforeLanguage = {'code': 'atvxyz', 'followedBy': 'l', 'context': puncIsProbablyPunc, 'remove': / *[.,:;]$/u};
115
114
 
116
-
117
115
  const addX00aComma = {'add': ',', 'code': 'abcqej', 'followedBy': 'cdeg', 'context': doesNotEndInPunc, 'contextRHS': allowsPuncRHS};
118
116
  const addX00dComma = {'name': 'X00$d ending in "-" does not get comma', 'add': ',', 'code': 'd', 'followedBy': 'cdeg', 'context': /[^-,.!]$/u, 'contextRHS': allowsPuncRHS};
119
117
  const addX00aComma2 = {'add': ',', 'code': 'abcdej', 'followedBy': 'cdeg', 'context': /(?:[A-Z]|Å|Ä|Ö)\.$/u, 'contextRHS': allowsPuncRHS};
120
- const addX00Dot = {'add': '.', 'code': 'abcdetv', 'followedBy': '#fklptu', 'context': defaultNeedsPuncAfter};
118
+ const addX00Dot = {'add': '.', 'code': 'abcdetv', 'followedBy': '#fklptu', 'context': needsPuncAfterAlphanumeric};
121
119
 
122
120
 
123
- //const addX10iaComma = {'name': 'Punctuate relationship information', 'code': 'i', 'followedBy': 'a', 'context': defaultNeedsPuncAfter2};
124
- const addX10bDot = {'name': 'Add X10 pre-$b dot', 'add': '.', 'code': 'ab', 'followedBy': 'b', 'context': defaultNeedsPuncAfter};
125
- const addX10eComma = {'add': ',', 'code': 'abe', 'followedBy': 'e', 'context': defaultNeedsPuncAfter};
126
- const addX10Dot = {'name': 'Add X10 final dot', 'add': '.', 'code': 'abet', 'followedBy': 'tu#', 'context': defaultNeedsPuncAfter};
121
+ const addX10iColon = {'name': 'Punctuate relationship information', 'code': 'i', 'context': defaultNeedsPuncAfter2};
122
+ const addX10bDot = {'name': 'Add X10 pre-$b dot', 'add': '.', 'code': 'ab', 'followedBy': 'b', 'context': needsPuncAfterAlphanumeric};
123
+ const addX10eComma = {'add': ',', 'code': 'abe', 'followedBy': 'e', 'context': defaultNeedsPuncAfter2};
124
+ const addX10Dot = {'name': 'Add X10 final dot', 'add': '.', 'code': 'abet', 'followedBy': 'tu#', 'context': needsPuncAfterAlphanumeric};
127
125
  const addColonToRelationshipInformation = {'name': 'Add \':\' to 7X0 $i relationship info', 'add': ':', 'code': 'i', 'context': defaultNeedsPuncAfter2};
128
126
 
129
127
  const addDotBeforeLanguageSubfieldL = {'name': 'Add dot before $l', 'add': '.', 'code': 'abepst', 'followedBy': 'l', 'context': doesNotEndInPunc};
@@ -248,6 +246,7 @@ const cleanValidPunctuationRules = {
248
246
  '245': clean24X,
249
247
  '246': clean24X,
250
248
  '260': [
249
+ {'code': 'abc', 'followedBy': 'a', 'remove': / ;$/u},
251
250
  {'code': 'a', 'followedBy': 'b', 'remove': / :$/u},
252
251
  {'code': 'b', 'followedBy': 'c', 'remove': /,$/u},
253
252
  {'code': 'c', 'followedBy': '#', 'remove': /\.$/u},
@@ -291,29 +290,29 @@ const addToAllEntryFields = [addDotBeforeLanguageSubfieldL, addSemicolonBeforeVo
291
290
 
292
291
 
293
292
  const addX00 = [addX00aComma, addX00aComma2, addX00Dot, addX00dComma, ...addToAllEntryFields];
294
- const addX10 = [addX10bDot, addX10eComma, addX10Dot, ...addToAllEntryFields];
293
+ const addX10 = [addX10iColon, addX10bDot, addX10eComma, addX10Dot, ...addToAllEntryFields];
295
294
  const addX11 = [...addToAllEntryFields];
296
295
  const addX30 = [...addToAllEntryFields];
297
296
 
298
297
  const add24X = [
299
- {'code': 'i', 'followedBy': 'a', 'add': ':', 'context': defaultNeedsPuncAfter},
300
- {'code': 'a', 'followedBy': 'b', 'add': ' :', 'context': defaultNeedsPuncAfter},
301
- {'code': 'abk', 'followedBy': 'f', 'add': ',', 'context': defaultNeedsPuncAfter},
302
- {'code': 'abfnp', 'followedBy': 'c', 'add': ' /', 'context': defaultNeedsPuncAfter},
298
+ {'code': 'i', 'followedBy': 'a', 'add': ':', 'context': needsPuncAfterAlphanumeric},
299
+ {'code': 'a', 'followedBy': 'b', 'add': ' :', 'context': needsPuncAfterAlphanumeric},
300
+ {'code': 'abk', 'followedBy': 'f', 'add': ',', 'context': needsPuncAfterAlphanumeric},
301
+ {'code': 'abfnp', 'followedBy': 'c', 'add': ' /', 'context': needsPuncAfterAlphanumeric},
303
302
  addDotBeforeLanguageSubfieldL
304
303
  ];
305
304
 
306
305
  const add245 = [
307
306
  ...add24X,
308
307
  // Blah! Also "$a = $b" and "$a ; $b" can be valid... But ' :' is better than nothing, I guess...
309
- {'code': 'ab', 'followedBy': 'n', 'add': '.', 'context': defaultNeedsPuncAfter},
310
- {'code': 'n', 'followedBy': 'p', 'add': ',', 'context': defaultNeedsPuncAfter},
311
- {'code': 'abc', 'followedBy': '#', 'add': '.', 'context': defaultNeedsPuncAfter} // Stepping on "punctuation validator's" toes
308
+ {'code': 'ab', 'followedBy': 'n', 'add': '.', 'context': needsPuncAfterAlphanumeric},
309
+ {'code': 'n', 'followedBy': 'p', 'add': ',', 'context': defaultNeedsPuncAfter2},
310
+ {'code': 'abc', 'followedBy': '#', 'add': '.', 'context': needsPuncAfterAlphanumeric} // Stepping on "punctuation validator's" toes
312
311
  ];
313
312
 
314
313
  const addSeriesTitle = [ // 490 and 830
315
314
  {'code': 'a', 'followedBy': 'a', 'add': ' =', 'context': defaultNeedsPuncAfter2},
316
- {'code': 'axyz', 'followedBy': 'xy', 'add': ',', 'context': defaultNeedsPuncAfter},
315
+ {'code': 'axyz', 'followedBy': 'xy', 'add': ',', 'context': defaultNeedsPuncAfter2},
317
316
  addSemicolonBeforeVolumeDesignation // eg. 490$axyz-$v
318
317
  ];
319
318
 
@@ -328,7 +327,7 @@ const addPairedPunctuationRules = {
328
327
  '246': add24X,
329
328
  '260': [
330
329
  {'code': 'a', 'followedBy': 'b', 'add': ' :', 'context': defaultNeedsPuncAfter2},
331
- {'code': 'b', 'followedBy': 'c', 'add': ',', 'context': defaultNeedsPuncAfter2},
330
+ {'code': 'ab', 'followedBy': 'c', 'add': ',', 'context': defaultNeedsPuncAfter2},
332
331
  {'code': 'abc', 'followedBy': 'a', 'add': ' ;', 'context': defaultNeedsPuncAfter2},
333
332
  {'code': 'e', 'followedBy': 'f', 'add': ' :', 'context': defaultNeedsPuncAfter2},
334
333
  {'code': 'f', 'followedBy': 'g', 'add': ',', 'context': defaultNeedsPuncAfter2}
@@ -338,7 +337,7 @@ const addPairedPunctuationRules = {
338
337
  {'code': 'b', 'followedBy': 'c', 'add': ',', 'context': defaultNeedsPuncAfter2},
339
338
  // NB! The $c rule messes dotless exception "264 #4 $c p1983" up
340
339
  // We'll need to add a hacky postprocessor for this? Add 'hasInd1': '0123' etc?
341
- {'code': 'c', 'followedBy': '#', 'add': '.', 'context': defaultNeedsPuncAfter, 'ind2': ['0', '1', '2', '3']}
340
+ {'code': 'c', 'followedBy': '#', 'add': '.', 'context': needsPuncAfterAlphanumeric, 'ind2': ['0', '1', '2', '3']}
342
341
  ],
343
342
  '300': [
344
343
  {'code': 'a', 'followedBy': 'b', 'add': ' :', 'context': defaultNeedsPuncAfter2},
@@ -360,7 +359,7 @@ const addPairedPunctuationRules = {
360
359
  '810': addX10,
361
360
  '811': addX11,
362
361
  '830': [...addX30, ...addSeriesTitle],
363
- '946': [{'code': 'i', 'followedBy': 'a', 'add': ':', 'context': defaultNeedsPuncAfter}]
362
+ '946': [{'code': 'i', 'followedBy': 'a', 'add': ':', 'context': defaultNeedsPuncAfter2}]
364
363
  };
365
364
 
366
365
  /*
@@ -66,6 +66,7 @@ export default function (tagPattern) {
66
66
 
67
67
 
68
68
  // X00, X10, X11 and X130 could also for their own sets...
69
+ // (ouch! sometimes $c comes after $d...): LoC: 100 0# ‡a Black Foot, ‡c Chief, ‡d d. 1877 ‡c (Spirit)
69
70
  const sortOrderForX00 = ['6', 'i', 'a', 'b', 'c', 'q', 'd', 'e', 't', 'u', 'l', 'f', 'x', 'y', 'z', '0', '5', '9']; // skip $g. Can't remember why, though...
70
71
  const sortOrderForX10 = ['6', 'i', 'a', 'b', 't', 'n', 'e', 'v', 'w', 'x', 'y', 'z', '0', '5', '9']; // somewhat iffy
71
72
  const sortOrderFor7XX = ['8', '6', '7', 'i', 'a', 's', 't', 'b', 'c', 'd', 'm', 'h', 'k', 'o', 'x', 'z', 'g', 'q', 'w'];
@@ -0,0 +1,7 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam a22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "012345s7890 fi |||| mul |"}
6
+ ]
7
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Fixer 01: no action required, won't add 'mul'",
3
+ "only": false,
4
+ "fix": true
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| mul |"}
5
+ ]
6
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam a22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"},
6
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [{ "code": "a", "value": "fin"}]}
7
+ ]
8
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Fixer 02: Add field 041$a fin",
3
+ "comment": "Create a 041$a",
4
+ "only": false,
5
+ "fix": true
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"}
5
+ ]
6
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cam a22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"},
6
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [{ "code": "a", "value": "fin"}]}
7
+ ]
8
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Fixer 03: Don't add a secord 041$a field",
3
+ "comment": "Create a 041$a",
4
+ "only": false,
5
+ "fix": true
6
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"},
5
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [{ "code": "a", "value": "fin"}]}
6
+ ]
7
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "_validationOptions": {},
3
+ "leader": "12345cjm a22123454i 4500",
4
+ "fields": [
5
+ { "tag": "008", "value": "012345s7890 fi |||| foo |"},
6
+ { "tag": "041", "ind1": " ", "ind2": " ", "subfields": [{ "code": "d", "value": "foo"}]}
7
+ ]
8
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "Fixer 04: Add field 041$d foo",
3
+ "only": false,
4
+ "fix": true
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "leader": "12345cjm a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| foo |"}
5
+ ]
6
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "message": [
3
+ ],
4
+ "valid": true
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "02/Validation: fails, as 041 can be added'",
3
+ "only": false,
4
+ "fix": false
5
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| mul |"}
5
+ ]
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "message": [
3
+ "Add missing 041 field based on 008/35-37: '041 ## ‡a fin'"
4
+ ],
5
+ "valid": false
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "description": "Validation: Add field 041",
3
+ "comment": "Create a 336",
4
+ "only": false,
5
+ "fix": false
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "leader": "12345cam a22123454i 4500",
3
+ "fields": [
4
+ { "tag": "008", "value": "012345s7890 fi |||| fin |"}
5
+ ]
6
+ }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "description": "Validation: Add field 336",
3
3
  "comment": "Create a 336",
4
- "enabled": true,
5
4
  "only": false,
6
5
  "fix": false
7
6
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "description": "Validation: Don't add field 336",
3
3
  "comment": "Don't create a 336 as there's already one",
4
- "enabled": true,
5
4
  "only": false,
6
5
  "fix": false
7
6
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=cod). Decision based on CF's 008/26=a)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=cop). Decision based on CF's 008/26=b)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=cop). Decision based on field 516)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (crf) based on LDR/06=g + 008/25=d/globe",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (cri) based on LDR/06=e",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (crt) based on LDR/06=e, form of item=f (braille) and 007/00-01=aq",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=txt), cat kanguage (040$b) is 'swe'",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=txt)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=txt). Default value for LDR/06=p is overridden by form of item 008/23=r",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=xxx). Default value for LDR/06=p",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (notated music), based on LDR/06=d (does not have exceptions)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=snd). Decision based on CF's 008/26=h)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (spw) based on LDR/06=i",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=spw). Decision based on field 516",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add two fields 336 (b=spw and txt). Decision based on field 516)",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (tactile image), based on LDR/06=k",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (sti) based on LDR/06=g + 007/00=g",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (still image) , based on LDR/06=k and form of item",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (tactile notated music), based on LDR/06=d with 008/23 form-of-item-'f' triggered exception",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (3D form), based solely on LDR/06=r",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (tdi) based on LDR/06=g + 007/00=m",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=txt). LDR/06=m, but not other information avaiable",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Fix: Add field 336 (b=txt). Decision based on LDR/06=m and field 516",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "337: LDR/06=m, thus 337$b=c",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "337: LDR/06=g and lone 007/00=g, so 337$b=g",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "337: LDR/06=r and no exception found, so 337$b=n",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "description": "337: Nothing to do, as 337 already exists",
3
3
  "comment": "337 is a bit illegal (on purpose), so this test might break down eventually",
4
- "enabled": true,
5
4
  "only": false,
6
5
  "fix": true
7
6
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "337: LDR/06=m and 008/33=p, thus 337$b=p",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": true
6
5
  }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "description": "Validation: Add field 337 based on LDR/06=p",
3
- "enabled": true,
4
3
  "only": false,
5
4
  "fix": false
6
5
  }