Dynamically generate MARC records by mapping instances

Description

We will eventually (though not for the MVP) want the Z39.50 server to have the option of generating MARC records on the fly, as opposed to fetching them from SRS. To do this, we will need to take the information in FOLIO inventory instances (and possibly their associated holdings and items), and map it into MARCXML, which the YAZ frontend will then convert into an ISO 2709 record.

One approach to this would be to create and maintain an XSLT stylesheet that maps from an XML representation of FOLIO's JSON records into MARCXML. ZF-8 is about such a stylesheet.

Another approach would be to reuse some part of the inventory-to-MARC mapping work that was done for .

Environment

None

Potential Workaround

None

Checklist

hide

TestRail: Results

Activity

Show:

Mike Taylor July 27, 2020 at 6:16 PM

On , Magda Zacharska points out:

In scope of we created a shared library https://github.com/folio-org/generate-marc-utils

That is unfortunate, as was a project to generate a MARC bibliographic record from an Inventory Instance record. At one point, we thought that facility might become available as a web-service which the Z39.50 server could use directly, but that isn't going to happen. However, the issue description says:

The generated record will be base on the mapping provided by Metadata Management SIG: Instance to MARC 2019 tab in https://docs.google.com/spreadsheets/d/11lGBiPoetHuC3u-onVVLN4Mj5KtVHqJaQe4RqCxgGzo/edit#gid=1166940623

The project generated a machine-readable representation of those mapping rules, which the software executes to generate the record: https://github.com/folio-org/mod-data-export/blob/master/src/main/resources/rules/rulesDefault.json

I may be able to re-use that ruleset and write a new engine to interpret it. One approach to doing this would be to mechanically translate that ruleset into an XSLT stylesheet and run that.

Details

Assignee

Reporter

Priority

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created July 27, 2020 at 6:12 PM
Updated May 4, 2023 at 8:00 PM
TestRail: Cases
TestRail: Runs