timathom / marc-schema

JSON description of the MARC Authority, Bibliographic, and Holdings schemata
Apache License 2.0
6 stars 1 forks source link

Encode fields with different positions for different publication types #14

Open nichtich opened 10 months ago

nichtich commented 10 months ago

MARC21 bibliographic fields 006 007 and 008 have multple definitions depending in publication type.

By now there are multiple methods to encode these fields:

As part of the field identifier (used by marc-schema in 007 and 008):

{
  "fields": {
    "008a": ...,
    "008b": ...,

Special key types (used by QA Catalogue):

{
   "006": {
      "tag": "006",
      "label": "Additional Material Characteristics",
      "types": {
        "All Materials": {
          "positions": ...

Additional level at the positions element (used by marc-schema in 006)

{
  "fields": {
    "006": { 
      "tag": "006",
      "label": "Fixed-Length Data Elements-Additional Material Characteristics",
      "positions": {
        "008b": [ ... ],
        "008c": [ ... ],
        ....

There should be only one way to encode these fields/positions/types. I favour the method use by QA-Catalogue but maybe in a slightly different way (see https://github.com/gbv/avram/issues/51).