Skip to content

Commit

Permalink
TIMX-18-marc-transform-yet-more-fields (#38)
Browse files Browse the repository at this point in the history
* TIMX-18-marc-transform-yet-more-fields

Why these changes are being introduced:
* More fields need to be added to the get_optional_fields method

How this addresses that need:
* Add code to extract identifiers, links, notes, and related_items to get_optional_fields
* Update Marc unit tests and fixtures to account for new fields

Side effects of this change:
* None

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/TIMX-18

* Updates based on discussion in PR #38

* Remove (OCoLC) prefix from Identifier.value
* Update default value for Identifier.kind
* Update relationship value for 787 field
* Update unit test values
  • Loading branch information
ehanson8 committed Nov 30, 2022
1 parent db54654 commit 9fa1492
Show file tree
Hide file tree
Showing 5 changed files with 1,054 additions and 10 deletions.
203 changes: 202 additions & 1 deletion tests/fixtures/marc/marc_record_all_fields.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,39 @@
<leader>03282nam 2200721Ki 4500</leader>
<controlfield tag="008">170906s2016 fr mun| o e zxx d</controlfield>
<controlfield tag="001">990027185640106761</controlfield>
<datafield tag="010" ind1=" " ind2=" ">
<subfield code="a"> 2005022317</subfield>
</datafield>
<datafield tag="020" ind1=" " ind2=" ">
<subfield code="a">9781250185969</subfield>
<subfield code="q">hardcover</subfield>
</datafield>
<datafield tag="020" ind1=" " ind2=" ">
<subfield code="a">0878426914</subfield>
<subfield code="q">paperback</subfield>
<subfield code="q">alkaline paper</subfield>
</datafield>
<datafield tag="022" ind1="0" ind2=" ">
<subfield code="a">0033-0736</subfield>
</datafield>
<datafield tag="022" ind1="0" ind2=" ">
<subfield code="a">0095-9014</subfield>
</datafield>
<datafield tag="024" ind1="7" ind2=" ">
<subfield code="a">10.1596/978-0-8213-7468-9</subfield>
<subfield code="2">doi</subfield>
</datafield>
<datafield tag="024" ind1="7" ind2=" ">
<subfield code="a">1234567890</subfield>
<subfield code="q">score</subfield>
<subfield code="q">sewn</subfield>
</datafield>
<datafield tag="035" ind1=" " ind2=" ">
<subfield code="a">(OCoLC)1312285564</subfield>
</datafield>
<datafield tag="035" ind1=" " ind2=" ">
<subfield code="a">(OCoLC)on1312285564</subfield>
</datafield>
<datafield tag="050" ind1=" " ind2="0">
<subfield code="a">MA123.4</subfield>
<subfield code="a">LC Call Number 2</subfield>
Expand Down Expand Up @@ -46,7 +79,8 @@
</datafield>
<datafield tag="245" ind1="0" ind2="0">
<subfield code="a">Célébration :</subfield>
<subfield code="b">10 siècles de musique de noël.</subfield>
<subfield code="b">10 siècles de musique de noël, /</subfield>
<subfield code="c">arranged by the Arts Council of Great Britain.</subfield>
</datafield>
<datafield tag="246" ind1="0" ind2="0">
<subfield code="a">Varying Form</subfield>
Expand Down Expand Up @@ -91,6 +125,26 @@
<datafield tag="362" ind1="1" ind2=" ">
<subfield code="a">Began in 1902.</subfield>
</datafield>
<datafield tag="500" ind1=" " ind2=" ">
<subfield code="a">Opera in 5 acts.</subfield>
</datafield>
<datafield tag="500" ind1=" " ind2=" ">
<subfield code="a">Libretto based on: A midsummer night's dream by William Shakespeare.</subfield>
</datafield>
<datafield tag="502" ind1=" " ind2=" ">
<subfield code="a">Thesis (D.SC.)--University of London.</subfield>
</datafield>
<datafield tag="502" ind1=" " ind2=" ">
<subfield code="b">M. Eng.</subfield>
<subfield code="c">Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science</subfield>
<subfield code="d">2004</subfield>
</datafield>
<datafield tag="504" ind1=" " ind2=" ">
<subfield code="a">Includes bibliographical references and index.</subfield>
</datafield>
<datafield tag="504" ind1=" " ind2=" ">
<subfield code="a">Bibliography: p. 186-202.</subfield>
</datafield>
<datafield tag="505" ind1="0" ind2=" ">
<subfield code="a">Die Seejungfrau : sinfonische Dichtung : (Fantasie nach Hans Christian Andersen) (44:29) -- Sinfonietta, op. 23 (22:05).</subfield>
</datafield>
Expand All @@ -102,12 +156,83 @@
<subfield code="r">Gustav Mahler</subfield>
<subfield code="g">(19:33).</subfield>
</datafield>
<datafield tag="508" ind1=" " ind2=" ">
<subfield code="a">Producer, Toygun Kirali.</subfield>
</datafield>
<datafield tag="508" ind1=" " ind2=" ">
<subfield code="a">Producer : Monika Feszler.</subfield>
</datafield>
<datafield tag="510" ind1="2" ind2=" ">
<subfield code="a">Predicasts</subfield>
</datafield>
<datafield tag="510" ind1="2" ind2=" ">
<subfield code="a">Predicasts</subfield>
<subfield code="b">Jan. 13, 1975-</subfield>
<subfield code="c">13</subfield>
</datafield>
<datafield tag="511" ind1="0" ind2=" ">
<subfield code="a">Lamoureux Concerts Orchestra ; Igor Markevitch, conductor.</subfield>
</datafield>
<datafield tag="511" ind1="0" ind2=" ">
<subfield code="a">Berlin Symphony Orchestra ; Kurt Sanderling, conductor.</subfield>
</datafield>
<datafield tag="515" ind1=" " ind2=" ">
<subfield code="a">Suspended publication 1944-52.</subfield>
</datafield>
<datafield tag="515" ind1=" " ind2=" ">
<subfield code="a">Some numbers combined.</subfield>
</datafield>
<datafield tag="520" ind1=" " ind2=" ">
<subfield code="a">This safety guide provides guidance on meeting the requirements for the establishment of radiation protection programs (RPPs) for the transport of radioactive material, to optimize radiation protection in order to meet the requirements for radiation protection that underlie the Regulations for the Safe Transport of Radioactive Material. It covers general aspects of meeting the requirements for radiation protection, but does not cover criticality safety or other possible hazardous properties of radioactive material. The annexes of this guide include examples of RPPs, relevant excerpts from the Transport Regulations, examples of total dose per transport index handled, a checklist for road transport, specific segregation distances and emergency instructions for vehicle operators.--Publisher's description.</subfield>
</datafield>
<datafield tag="520" ind1=" " ind2=" ">
<subfield code="a">It is only since the bel canto era in the 19th century that the tenor voice really took off as a leading character in operatic roles, often playing the heroic figure against a love-interest soprano and a villain baritone. This collection of some of opera's most iconic arias takes us from the dark emotional crises of Leoncavallo's Pagliacci and Puccini's Tosca, to the seductive Rodolfo in La Bohème and Donizetti's show-stopping hich Cs in La Fille du régiment. Tenor showpieces that are so famous they have taken on a life of their own include 'Nessun dorma', made immortal by The Three Tenors at the 1990 World Cup.</subfield>
</datafield>
<datafield tag="522" ind1=" " ind2=" ">
<subfield code="a">Canada.</subfield>
</datafield>
<datafield tag="522" ind1=" " ind2=" ">
<subfield code="a">Mexico.</subfield>
</datafield>
<datafield tag="533" ind1=" " ind2=" ">
<subfield code="a">Electronic reproduction.</subfield>
<subfield code="b">New York :</subfield>
<subfield code="c">Springer,</subfield>
<subfield code="d">2008.</subfield>
<subfield code="n">Mode of access: World Wide Web.</subfield>
<subfield code="n">System requirements: Web browser.</subfield>
<subfield code="n">Title from title screen (viewed on June 27, 2008).</subfield>
<subfield code="n">Access may be restricted to users at subscribing institutions.</subfield>
</datafield>
<datafield tag="533" ind1=" " ind2=" ">
<subfield code="a">Microfiche.</subfield>
<subfield code="b">Washington :</subfield>
<subfield code="c">U.S. Govt. Print. Off.,</subfield>
<subfield code="d">1981.</subfield>
<subfield code="e">1 microfiche ; 11 x 15 cm.</subfield>
</datafield>
<datafield tag="534" ind1=" " ind2=" ">
<subfield code="p">First published in United States</subfield>
<subfield code="c">New York : Ballantine Books, an imprint of Random House, a division of Penguin Random House, 2021.</subfield>
</datafield>
<datafield tag="534" ind1=" " ind2=" ">
<subfield code="p">Originally published</subfield>
<subfield code="c">New York : Garland, 1987.</subfield>
<subfield code="f">Series statement 1</subfield>
<subfield code="f">Series statement 2</subfield>
</datafield>
<datafield tag="588" ind1="0" ind2=" ">
<subfield code="a">Hard copy version record.</subfield>
</datafield>
<datafield tag="588" ind1="0" ind2=" ">
<subfield code="a">Paper copy version record.</subfield>
</datafield>
<datafield tag="590" ind1=" " ind2=" ">
<subfield code="a">Rare Book copy: Advance copy notice inserted.</subfield>
</datafield>
<datafield tag="590" ind1=" " ind2=" ">
<subfield code="a">Advance copy notice inserted.</subfield>
</datafield>
<datafield tag="600" ind1="1" ind2="0">
<subfield code="a">Renoir, Jean,</subfield>
<subfield code="d">1894-1979</subfield>
Expand Down Expand Up @@ -210,5 +335,81 @@
<subfield code="a">Austria</subfield>
<subfield code="d">Vienna</subfield>
</datafield>
<datafield tag="765" ind1="0" ind2=" ">
<subfield code="t">Java 2 in plain English.</subfield>
</datafield>
<datafield tag="765" ind1="0" ind2=" ">
<subfield code="t">Java 3;</subfield>
<subfield code="r">1,</subfield>
<subfield code="r">2</subfield>
</datafield>
<datafield tag="770" ind1="1" ind2=" ">
<subfield code="t">Geological Society of America data repository</subfield>
<subfield code="w">(DLC)sn 86025915</subfield>
<subfield code="w">(OCoLC)13535209</subfield>
</datafield>
<datafield tag="770" ind1="1" ind2=" ">
<subfield code="t">Biological Society of America data repository</subfield>
<subfield code="w">(DLC)sn 86025915</subfield>
<subfield code="w">(OCoLC)13535209</subfield>
</datafield>
<datafield tag="772" ind1="0" ind2="0">
<subfield code="a">Earthquake engineering and structural dynamics</subfield>
<subfield code="v">v. 14, no. 5</subfield>
</datafield>
<datafield tag="772" ind1="0" ind2="0">
<subfield code="t">Earthquake engineering and structural dynamics</subfield>
<subfield code="g">Vol. 13 (1985), p. 297-315</subfield>
<subfield code="g">Vol. 14 (1986), p. 297-315</subfield>
</datafield>
<datafield tag="780" ind1="1" ind2="1">
<subfield code="t">Entertainment design</subfield>
<subfield code="x">1520-5150</subfield>
</datafield>
<datafield tag="780" ind1="1" ind2="1">
<subfield code="t">Lighting dimensions</subfield>
<subfield code="x">0191-541X</subfield>
<subfield code="w">(DLC) 79649241</subfield>
<subfield code="w">(OCoLC)3662625</subfield>
</datafield>
<datafield tag="785" ind1="0" ind2="0">
<subfield code="t">Protist</subfield>
<subfield code="w">(DLC)sn 98050216</subfield>
<subfield code="w">(OCoLC)39018023</subfield>
<subfield code="x">1434-4610</subfield>
</datafield>
<datafield tag="785" ind1="0" ind2="0">
<subfield code="t">Protestant</subfield>
<subfield code="x">1434-4610</subfield>
</datafield>
<datafield tag="787" ind1="0" ind2=" ">
<subfield code="i">Part of:</subfield>
<subfield code="t">De historien des Ouden en Nieuwen Testaments</subfield>
</datafield>
<datafield tag="787" ind1="0" ind2=" ">
<subfield code="i">Part of:</subfield>
<subfield code="i">A Small Part of:</subfield>
<subfield code="t">Nieuwen Testaments</subfield>

</datafield>
<datafield tag="830" ind1=" " ind2="0">
<subfield code="a">Map and chart series (New York State Geological Survey) ;</subfield>
<subfield code="0">(DLC)n 84704569</subfield>
<subfield code="0">(DLC)n 84704570</subfield>
<subfield code="v">no. 53.</subfield>
<subfield code="x">0097-3793</subfield>
</datafield>
<datafield tag="830" ind1=" " ind2="0">
<subfield code="a">Duo.</subfield>
</datafield>
<datafield tag="856" ind1="4" ind2="0">
<subfield code="u">http://catalog.hathitrust.org/api/volumes/oclc/1606890.html</subfield>
<subfield code="3">Hathi Trust</subfield>
</datafield>
<datafield tag="856" ind1="4" ind2="1">
<subfield code="u">http://www.rsc.org/Publishing/Journals/cb/PreviousIssue.asp</subfield>
<subfield code="z">Access available on website of subsequent title: Highlights in chemical biology</subfield>
<subfield code="y">Display text</subfield>
</datafield>
</record>
</collection>
Loading

0 comments on commit 9fa1492

Please sign in to comment.