diff --git a/bibliotheca/Taskfile.yml b/bibliotheca/Taskfile.yml index 86ba68d..693075a 100644 --- a/bibliotheca/Taskfile.yml +++ b/bibliotheca/Taskfile.yml @@ -126,7 +126,8 @@ tasks: "$CLIENT" -P {{.PORT}} {{.PROJECT}} --apply config/main/7100a.json > {{.LOG}} - > # spec_B_T_04, spec_B_T_05: ISBN 2000 "$CLIENT" -P {{.PORT}} {{.PROJECT}} --apply config/main/2000.json > {{.LOG}} - # TODO: ISMN in 2020 + - > # spec_B_T_04, spec_B_T_05: ISMN 2020 + "$CLIENT" -P {{.PORT}} {{.PROJECT}} --apply config/main/2020.json > {{.LOG}} - > # spec_B_E_10: Zugangsdatum E0XX "$CLIENT" -P {{.PORT}} {{.PROJECT}} --apply config/main/e0xx.json > {{.LOG}} - > # spec_B_E_14, spec_Z_03, spec_B_E16: Selektionsschlüssel E0XXb diff --git a/bibliotheca/config/main/2020.json b/bibliotheca/config/main/2020.json new file mode 100644 index 0000000..be9ef0c --- /dev/null +++ b/bibliotheca/config/main/2020.json @@ -0,0 +1,34 @@ +[ + { + "op": "core/column-addition", + "engineConfig": { + "facets": [ + { + "type": "list", + "name": "M|ISBN", + "expression": "grel:value[0]", + "columnName": "M|ISBN", + "invert": false, + "omitBlank": false, + "omitError": false, + "selection": [ + { + "v": { + "v": "M", + "l": "M" + } + } + ], + "selectBlank": false, + "selectError": false + } + ], + "mode": "row-based" + }, + "baseColumnName": "M|ISBN", + "expression": "grel:value", + "onError": "set-to-blank", + "newColumnName": "2020", + "columnInsertIndex": 3 + } +] diff --git a/bibliotheca/config/main/template.txt b/bibliotheca/config/main/template.txt index 8741cde..2aba7b7 100644 --- a/bibliotheca/config/main/template.txt +++ b/bibliotheca/config/main/template.txt @@ -19,6 +19,7 @@ with( '1140', '1500', '2000', + '2020', '4000a', '4000d', '4020a', diff --git a/pica+/config/template.txt b/pica+/config/template.txt index b085025..b9d1388 100644 --- a/pica+/config/template.txt +++ b/pica+/config/template.txt @@ -8,6 +8,7 @@ if(row.index - row.record.fromRowIndex == 0, + forNonBlank(cells['0100'].value, v, '003@ ' + '0' + v + '\n', '') + forNonBlank(cells['0110'].value, v, '003S ' + '0' + v + '\n', '') + forNonBlank(cells['2000'].value, v, forEach(v.split('␟'),x,'004A ' + '0' + x + '\n').join(''), '') ++ forNonBlank(cells['2020'].value, v, '004F ' + '0' + v + '\n', '') + forNonBlank(cells['2199'].value, v, forEach(v.split('␟'),x,'006Y ' + '0' + x + '\n').join(''), '') + forNonBlank(cells['1500'].value, v, '010@ ' + forEach(v.split('␟'),x,'a' + x).join('') + '\n', '') + forNonBlank(cells['1100a'].value, v, '011@ ' + 'a' + v + forNonBlank(cells['1100b'].value, v, 'b' + v, '') + forNonBlank(cells['1100n'].value, v, 'n' + v, '') + '\n', '')