Extend MarcRecordReader functionality to normalize isbn values from 020 $a field of Incoming MARC records.
Cover with tests
Kateryna Senchenko I think we should only normalize $a of the 020 field. 020 $z (invalid ISBNs) can contain ISBNs that calculate correctly, but belong to a different version of the work (e.g. the eBook version when the MARC record is for the print-book version). $z can also be used for ISBNs that do not calculate correctly or are formatted incorrectly (too many, too few) digits. I can't imagine a use case where folks would be trying to match on invalid ISBNs (020 $z), so I think we need to focus on valid ISBNs (020 $a)
A couple things to take into account when normalizing:
- 020 $a will sometimes have a parenthetical qualifier in it - instead of stripping it, can we move it to 020$q?
- If normalizing a 10-digit ISBN in 020 $a to a 13-digit one, DO NOT remove the 020 with the 10-digit ISBN. Instead add a new 020 with the normalized 13-digit ISBN. Include any qualifier from the original 020 in the new 020 $q