<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.elementtoproof, li.elementtoproof, div.elementtoproof
        {mso-style-name:elementtoproof;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.xmsochpdefault, li.xmsochpdefault, div.xmsochpdefault
        {mso-style-name:x_msochpdefault;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
span.xmsohyperlink
        {mso-style-name:x_msohyperlink;
        color:#0563C1;
        text-decoration:underline;}
span.xmsohyperlinkfollowed
        {mso-style-name:x_msohyperlinkfollowed;
        color:#954F72;
        text-decoration:underline;}
span.xe-mailformatvorlage17
        {mso-style-name:x_e-mailformatvorlage17;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.E-MailFormatvorlage25
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Dear Patrick,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">thanks a lot! And how elegantly and slim this works with “marc_has” and “reverse”
</span><span lang="EN-US" style="font-size:11.0pt;font-family:Wingdings;color:#1F497D">J</span><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> I now also see that “reverse” is actually also on the Cheatsheet, but
 couldn’t make the connection to my problem. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Cool, cool.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Best,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Martina<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Von:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Patrick Hochstenbach <Patrick.Hochstenbach@UGent.be>
<br>
<b>Gesendet:</b> Mittwoch, 6. Dezember 2023 12:55<br>
<b>An:</b> Siebert, Dr. Martina <Martina.Siebert@sbb.spk-berlin.de>; librecat-dev@lists.uni-bielefeld.de<br>
<b>Betreff:</b> Re: Processing multiple 700 (author) fields to PICA<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black">Hello,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black">Please find in the attachment an updates fix for your case. I don't know the PICA format so you need to edit the Fix a bit to place the output of the 700 field in the correct PICA
 field.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
</div>
<p class="elementtoproof"><span style="font-family:"Calibri",sans-serif;color:black">The trick is that for MARC we have a special `</span><span style="font-size:10.5pt;font-family:"Menlo",serif;color:black">do marc_each()</span><span style="font-family:"Calibri",sans-serif;color:black">`
 binding, that loops over every field in the MARC record and execute all the fixes in the `do` block.</span><o:p></o:p></p>
<p class="elementtoproof"><o:p> </o:p></p>
<p class="elementtoproof"><span style="font-family:"Calibri",sans-serif;color:black">With `marc_has` you can select to execute only the fixes if a marc field matches some tag. The rest is a bit copied from your code and making sure with force_new of pica_add
 that for every 700 field a new pica field gets created.</span><o:p></o:p></p>
<p class="elementtoproof"><o:p> </o:p></p>
<p class="elementtoproof"><span style="font-family:"Calibri",sans-serif;color:black">BR</span><o:p></o:p></p>
<p class="elementtoproof"><span style="font-family:"Calibri",sans-serif;color:black">Patrick</span><o:p></o:p></p>
<div class="MsoNormal" align="center" style="text-align:center">
<hr size="3" width="98%" align="center">
</div>
<div id="divRplyFwdMsg">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">
<a href="mailto:librecat-dev-bounces@lists.uni-bielefeld.de">librecat-dev-bounces@lists.uni-bielefeld.de</a> <<a href="mailto:librecat-dev-bounces@lists.uni-bielefeld.de">librecat-dev-bounces@lists.uni-bielefeld.de</a>> on behalf of Siebert, Dr. Martina <<a href="mailto:Martina.Siebert@sbb.spk-berlin.de">Martina.Siebert@sbb.spk-berlin.de</a>><br>
<b>Sent:</b> 05 December 2023 18:46<br>
<b>To:</b> <a href="mailto:librecat-dev@lists.uni-bielefeld.de">librecat-dev@lists.uni-bielefeld.de</a> <<a href="mailto:librecat-dev@lists.uni-bielefeld.de">librecat-dev@lists.uni-bielefeld.de</a>><br>
<b>Subject:</b> [librecat-dev] Processing multiple 700 (author) fields to PICA</span>
<o:p></o:p></p>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="xmsonormal">Hello,<o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">I have done “do list(path:…, var:…)” processing of multiple authors to PICA+ in the past. That time from XML and JSON sources. Now I got completely stuck when trying to do this from MARC 700 when keeping the family,
 personal name info </span><span lang="EN-US" style="font-family:Wingdings">L</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">I attach an example record with a first (100) and two second authors/contributors (700).</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">For the first 100 author I did this (maybe more complicated than necessary ;)</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">set_array(pica)</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">## get authors etc.</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black"># author</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">marc_map(100a,author1)</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">split_field(author1,', ')</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black"># put authors etc.</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">pica_add(author1.1,028A$d,record:'pica')</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black">pica_add(author1.0,028A$a,record:'pica')</span><o:p></o:p></p>
<p class="xmsonormal" style="text-autospace:none"><span lang="EN-US" style="font-family:Consolas;color:black"> </span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US" style="font-family:Consolas;color:black">move_field(pica,record)</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US" style="font-family:Consolas;color:black"> </span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">I have tried the same with 700 guys but got lost in do list() loops and how to get the data in the correct order (first $d personal name then $a family name) into PICA+ 028C.</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">Can anyone help?</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">Best,</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US">Martina</span><o:p></o:p></p>
<p class="xmsonormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:8.0pt;font-family:"Arial",sans-serif">______________________________________________</span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt">Dr. Martina Siebert                                                                               
</span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt">Ostasienabteilung | CrossAsia</span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt">Staatsbibliothek zu Berlin – Preußischer Kulturbesitz</span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt"><a href="mailto:martina.siebert@sbb.spk-berlin.de">martina.siebert@sbb.spk-berlin.de</a></span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt"><a href="http://www.staatsbibliothek-berlin.de/">www.staatsbibliothek-berlin.de</a></span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt"> </span><o:p></o:p></p>
<p class="xmsonormal"><span style="font-size:9.0pt">Im Rahmen der E-Mail-Kommunikation werden gegebenenfalls personenbezogene Daten verarbeitet.
<br>
Unsere Hinweise zum Datenschutz finden Sie hier: <a href="http://sbb.berlin/datenschutz" target="_short" title="Kurz-URL">
http://sbb.berlin/datenschutz</a></span><o:p></o:p></p>
<p class="xmsonormal"> <o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>