[Isis-users] copy marc record from another sofware to ABCD
    Egbert De Smet 
    egbert.desmet at uantwerpen.be
       
    Thu Apr  9 20:14:18 CEST 2020
    
    
  
Hi,
... and continuing on Ernesto's idea : here is a 'proc' (a set of instructions to modify records with the ABCD 'command-line' executable 'mx' to automatically generate the correctly formatted tagged-text file to be used with the tool 'id2i' (both mx and id2i are located into the cgi-bin directory of ABCD).
======== listing of marc2isis.prc (to be stored on your computer as a file)
'd1',
if v1='' then
 s2:=(s('!ID '), mfn),
 s4:=(s('')),
else
s1:=(replace(v1,'~','^')),
s3:=(replace(s1 ,'^a ','^a')),
e1:=instr(s3,' '),
s1:=(s(mid(s3,1,e1-1))),
if s1='000' then s1:=(s('999')) fi,
s4:=(s('!v',s1,'!')),
s2:=(s(mid(s3,e1+1,999))),
fi,
'<1>',s4,s2,'</1>',
=========
Notes :
  1.  First put all necessary files mentioned here in a directory (including your input-file 'new.txt', mx and id2i) and open a terminal (CMD in Windows) in that directory.
  2.  Since mx will split a line at each character '|', you will first have to replace all occurrences of that pipe to a wave : '~', to keep the line as one field before further processing it. This can be easily done with a 'search-and-replace' action in any text-processor. This is the manual extra effort required.
  3.  Each record in the input file should be separated by an empty line, which the proc will replace by the string !ID MFN (record number), but use id2i with the 'create/app' instead of just 'create' parameter so as to make it number the records just sequentially (and ignoring the actual value which is the line number rather than the record number).
  4.  run the following command to convert the input file to a suitable id2i input file : mx seq=new.txt proc=@marc2isis.prc "pft=v1/" now >id2i_input.txt
  5.  the file id2i_input.txt can be used with the id2i command :
id2i id2i_input.txt create/app=new and the database 'new' will contain your records.
  6.  I noted that in your input example all subfields start with a space (after the subfield-marker!), which is in fact unnecessary and bad practice. Line 7 deletes that space for ^a, but for the other subfields you will have to do a nested 'replace' for each subfield. I'm sure Ernesto can help you for this as he takes such things for breakfast, even before his coffee. Otherwise use Ernesto's step 6 (the gizmo) to replace the string ' ^b ' to '^b' (omitting the space before and after) and add the gizmo-parameter to the mx-command.
Good luck !
Egbert de Smet
Universiteit Antwerpen
________________________________
From: isis-users <isis-users-bounces+egbert.desmet=ua.ac.be at iccisis.org> on behalf of Ernesto Spinak <ernesto_luis_96 at hotmail.com>
Sent: Thursday, April 9, 2020 5:48 PM
To: isis-users at iccisis.org
Subject: [Isis-users] copy marc record from another sofware to ABCD
continuing with Egbert's idea
it is possible with a little procedural work
I give the idea, after a volunteer passes it to the mx code
let's take your example copiado al final
1) it is plain ansi text easy to parse
2) the first four positions are the field tag and a separator space
3) So we must use the CISIS program called ID2I (see the manual)
   take notes:
     (a) each record must start with the line  !ID 000000 (case sensitive)
         so the input text should be massaged, which can be done easily
     (b) tag 000 should be changed to an acceptable value, I recommend 999
         because that makes up the Registry Leader
4) convert plain text to isis helper, for example xxx
   id2i  file_in create=xxx
   if you have any error the input text is surely not canonical
5) then there are the subfields, denoted here as space, pipe, letter, space, for example | a
6) for this you must create a gizmo in isis with the following conversion
   prepare a text file as follows  from a-z and save it as pepe.txt
    |a ;^a
    |b ;^b
    |c ;^c
    ...
   etc
   notice that there is a blank space to the left of the pipe
   then convert that file to gizmo name it gizfld
   mx seq=pepe.txt;  create=gizfld now -all tell=10
   note that the ; after the pepe.txt it is mandatory,
7) now run the gizmo to the isis XXX file to convert the subfield characters
   mx xxx gizmo=gizfld create=xxx2 now -all tell=10
8) mx iso=marc=xxx2.iso outisotag1=999 now -all tell=10
now you have an export ISO prepared to import it with crisis with the corresponding parameters
000 00899cam a22002537  4500
001 000531240
003 BR-RjBN
005 19970609210000.0
008 890907s19830000bsc           000 0 por u
012 __ |a BT000059353
035 __ |a 96101812253769001
040 __ |a Br |b por
082 04 |a 340
092 __ |a VI-89,2,2 |d TESE
100 1_ |a Ferreira, Erinalva Medeiros.
245 13 |a "A figuração da (des) igualdade" : |b algumas idéias sobre o "espaço público" de poder da mulher |b desde sua condição "privada" / |c Erinalva Medeiros Ferreira. -
260 __ |a Florianópolis : |b [s.n.], |c 1983.
300 __ |a vii, 120f. ; |c 33cm.
500 __ |a Orientador: José Maria Gomez.
502 __ |a Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Sócio-Econômico.
595 __ |a TM |a DIR |c 83
650 04 |a Direito.
700 1_ |a Gómez, José María.
710 2_ |a Universidade Federal de Santa Catarina. |b Centro Sócio-Econômico.
852 __ |a Obras Gerais
990 __ |a Livro
Enviado desde Correo<https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgo.microsoft.com%2Ffwlink%2F%3FLinkId%3D550986&data=02%7C01%7Cegbert.desmet%40uantwerpen.be%7Cecdb243d91b24ca8bb3708d7dc9ee86e%7C792e08fb2d544a8eaf72202548136ef6%7C0%7C0%7C637220447374370396&sdata=In2GNL%2BdSjRW572dW5dWTjzMxNpUHLf2fJZaFQK0rwU%3D&reserved=0> para Windows 10
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.iccisis.org/pipermail/isis-users/attachments/20200409/af2cea5a/attachment.html>
    
    
More information about the isis-users
mailing list