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 8 months ago

nichtich commented 8 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).