You are on page 1of 23

NOMBRES de los AUTORES: Vernica Lencinas, DNI 168 818! " Ro#er$o %a$$aneo, DNI !

&'8&'(( INSTITU%I)N: Esc*ela de Bi#lio$ecolo+,a de la Uni-ersidad Nacional de %rdo#a " Bi#lio$eca O#ser-a$orio As$ron.ico de %rdo#a DIRE%%I)N: /a#0 %asa Verde, %i*dad Uni-ersi$aria " La1rida 8 2, &&& %rdo#a EMAIL: -erolencinas34a5oo0co.0ar " neoli#ris3+.ail0co. T6TULO: Mi+racin de re+is$ros #i#lio+r78icos a Marc!10 /ro#le.7$icas, $9cnicas 4 e:1eriencias en $orno a la i.1le.en$acin del sis$e.a Di+i#e19 ;<o5a= de %ona#i10

Resumen: A 1ar$ir de la e:1eriencia de la Red /*n$o#i#lio en la cons$r*ccin de *n ca$7lo+o colec$i-o de #i#lio$ecas de di8eren$es $i1olo+,as: 1o1*lares, escolares, es1eciali>adas, e$c0 la %o.isin Nacional /ro$ec$ora de Bi#lio$ecas /o1*lares solici$ a la res1onsa#le $9cnica del 1ro4ec$o /*n$o#i#lio, Vernica Lencinas, 4 a *n in8or.7$ico es1eciali>ado, /a#lo Bianc5i, la 1resen$acin de *n 1ro4ec$o ?*e 1er.i$iera i.1le.en$ar *n sis$e.a de +es$in #i#lio$ecario ac$*ali>ado en las #i#lio$ecas 1o1*lares ar+en$inas con el o#@e$o de ree.1la>ar el sis$e.a Si+e#i ?*e 5a#,a ?*edado o#sole$o0 Una -e> a1ro#ado el 1ro4ec$o ?*e e iniciado la i.1le.en$acin del sis$e.a Di+i#e19 ;<o5a=, 8*e necesario .i+rar los da$os, so#re $odo los da$os de ca$7lo+os de #i#lio$ecas al 8or.a$o Marc!10 Se .i+raron no sola.en$e ca$7lo+os en Si+e#i sino $a.#i9n a?*ellos 1ro-enien$es de A+*a1e4, Ainisis, Tro4a, /9r+a.o, %a$alis, O1enMarco/olo 4 sis$e.as 1ro1ios reali>ados .a4ori$aria.en$e en MS E:cell, %li11er, Bo:/ro 4 MS Access0 En el 1resen$e a1or$e se descri#en es$ra$e+ias 4 $9cnicas *$ili>adas en la .i+racin de da$os di-ersos al 8or.a$o Marc!1 $al co.o lo i.1le.en$a el sis$e.a Di+i#e19 ;<o5a= 4 la ca1aci$acin reali>ada a los nodos re+ionales de asis$encia $9cnica, CNodos Di+i#e19sD, a 8in de ca1aci$ar a #i#lio$ecarios en la .i+raciones de da$os0

Introduccin
El 1ro4ec$o Red#i1a nace en !&& a 1ar$ir del $ra#a@o con@*n$o de la /residen$e de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina de la %i*dad de %rdo#a, Sonia F*l7n, 4 la docen$e de la Esc*ela de Bi#lio$ecolo+,a de la Uni-ersidad Nacional de %rdo#a, Vernica Lencinas, *s*aria de la Bi#lio$eca0 En Se1$ie.#re de !&& se s*#i la 17+ina Ae# de la Bi#lio$eca con s* ca$7lo+o en l,nea0 Una de las 8*ncionalidades ?*e o8rec,a

el ca$7lo+o de la Bi#lio$eca en In$erne$ era la 1osi#ilidad de C#a@arD re+is$ros 4 con ello 8acili$ar la ca$alo+acin 1or co1ia0 A 1ar$ir de la e:1eriencia 1osi$i-a en c*an$o a di8*sin 4 -isi#ilidad de la Bi#lio$eca 4 la crecien$e *$ili>acin del ca$7lo+o en l,nea ?*e se 1las.a#a en cons*l$as #i#lio+r78icas -,a correo elec$rnico a la Bi#lio$eca, se 1ro1*so a la Bederacin de Bi#lio$ecas /o1*lares de %rdo#a ;Be#i1o= a.1liar la e:1eriencia a o$ras #i#lio$ecas 4 crear *n ca$7lo+o colec$i-o 1ro-incial0 La 1ro1*es$a 8*e #ien reci#ida, 1ero no $*-o consec*encias in.edia$as0 A 8ines del !&&6 el ser-idor ?*e 5os1eda#a la 17+ina Ae# de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina s*s1endi es$e ser-icio 1or s*1erar el $r78ico 1er.i$ido0 Un an7lisis de$allado 1er.i$i iden$i8icar al ca$7lo+o en l,nea co.o rece1$or del 88G de las cons*l$as al si$io ?*e s*1era#an las 2&0&&& 17+inas ser-idas 1or .es0 %on es$e 9:i$o 4 an$e la 8al$a de res1*es$a de la Bederacin de Bi#lio$ecas /o1*lares de %rdo#a, se decidi a.1liar la e:1eriencia a *n +r*1o red*cido de #i#lio$ecas 1o1*lares Ca.i+asD0 En !&&H se incor1oraron 6 ca$7lo+os en l,nea de Bi#lio$ecas /o1*lares a $ra-9s del si$io Ae# de la Bi#lio$eca /o1*lar Re1E#lica Ar+en$ina0 %on .o$i-o del Enc*en$ro Nacional de Bi#lio$ecas /o1*lares en Ma4o de !&&H, se 1resen$ a la %o.isin Nacional de Bi#lio$ecas /o1*lares, or+ani>adora del e-en$o, *n 1ro4ec$o a.1liado, ?*e 1ro1on,a crear *n es1acio di+i$al 1ara las Bi#lio$ecas /o1*lares 4 s*s lec$ores ?*e sir-a de 5erra.ien$a de coo1eracin en$re las Bi#lio$ecas /o1*lares, de 1la$a8or.a cola#ora$i-a en$re lec$ores 4 ?*e 1er.i$iera locali>ar el 1a$ri.onio c*l$*ral e:is$en$e en las Bi#lio$ecas /o1*lares0 Se 1ro1on,a lo+rar es$os o#@e$i-os a $ra-9s de *n 1or$al ?*e con$en+a no sola.en$e las 17+inas Ae# de las Bi#lio$ecas, sino $a.#i9n s*s ca$7lo+os en l,nea, e incl*4era 5erra.ien$as de co.*nicacin 4 de di8*sin de las ac$i-idades de las Bi#lio$ecas /o1*lares $ales co.o *na A+enda %*l$*ral 4 E:1osiciones Vir$*ales0 A 1ar$ir de la e:1eriencia de la Red /*n$o#i#lio en la cons$r*ccin de *n ca$7lo+o colec$i-o de #i#lio$ecas de di8eren$es $i1olo+,as: 1o1*lares, escolares, es1eciali>adas, e$c0 la %o.isin Nacional /ro$ec$ora de Bi#lio$ecas /o1*lares solici$ a la res1onsa#le $9cnica del 1ro4ec$o /*n$o#i#lio, Vernica Lencinas, 4 a *n in8or.7$ico es1eciali>ado, /a#lo Bianc5i, la 1resen$acin de *n 1ro4ec$o ?*e 1er.i$iera i.1le.en$ar *n sis$e.a de +es$in #i#lio$ecario ac$*ali>ado en las #i#lio$ecas 1o1*lares ar+en$inas con el o#@e$o de ree.1la>ar el sis$e.a Si+e#i ?*e 5a#,a ?*edado o#sole$o0 Una -e> a1ro#ado el 1ro4ec$o a 8ines de !&&(, se co.en> con la i.1le.en$acin del sis$e.a Di+i#e19 ;<o5a= den$ro del .arco del /ro+ra.a de Incl*sin Di+i$al0 /ara ello 8*e

necesario .i+rar los da$os, so#re $odo los da$os de ca$7lo+os de #i#lio$ecas al 8or.a$o Marc!10

Migracin de datos a Koha


Una decisin $e.1rana ?*e se $o. res1ec$o al 1ro4ec$o de %ona#i1 8*e la .i+racin de $odos los da$os #i#lio+r78icos 4 de socios0 Al co.ien>o slo se $en,a se+*ridad de ?*e los da$os de Si+e#i se i#an a .i+rar0 Un scri1$ 1 de .i+racin ;si+e#i!.arc01l= 4a 5a#,a sido desarrollado 1ara el 1ro4ec$o Red#i1a ;/*n$o#i#lio= a 1ar$ir de desarrollos reali>ados en el .arco del 1ro4ec$o de in-es$i+acin C%reacin del %en$ro de doc*.en$acin 4 ser-icios de la 1rod*ccin cine.a$o+r78ica 4 a*dio-is*al de *n /olo Re+ional0 Se+*nda E$a1a: Sis$e.a de In8or.acin 4 doc*.en$acin 1ara la 1rod*ccin cine.a$o+r78ica 4 a*dio-is*alD, aIos !&& J!&&6, %di+o & KB28!0 Ta.#i9n se dis1on,a de *n scri1$ de .i+racin 1ara #ases #i#lio+r78icas de A+*a1e4 ;a+*a1e4!.arc01l=0 Des1*9s de considerar ?*e era necesario res+*ardar el $ra#a@o reali>ado 1or #i#lio$ecarios 1o1*lares 4 $eniendo en c*en$a los 1ro#le.as ?*e 5a#,an $enido .*c5as #i#lio$ecas en ins$alar o con$in*ar con Si+e#i! 4 1or ello 5a#,an i.1le.en$ado o$ros sis$e.as, los res1onsa#les de la %ona#i1 decidieron ?*e se .i+rar,an los da$os .i+ra#les ;ca$7lo+o 4 socios= de $odos los sis$e.as0 Migracin de sistemas basados en CDS/ISIS La .a4or,a de las .i+raciones se reali>aron so#re sis$e.as %DSKISIS0 Los scri1$s de .i+racin 1ara Si+e#i ;sigebi2marc.pl= 4 A+*a1e4 ;aguapey2marc.pl= 8*ncionan de .anera si.ilar, en 1ri.er ins$ancia se o#$iene *n lis$ado de $oda la #ase ;d*.1= *sando o1enisis0 Es$e 1ri.er lis$ado $iene el 8or.a$o de o1enisis ?*e es n*.ero de ca.1o L $a#*lador L con$enidos del ca.1o 1ara cada ca.1o, se1arando *n re+is$ro del 1r:i.o .edian$e *na l,nea en #lanco0 El se+*ndo 1aso es e@ec$*ra el scri1$ de .i+racin indicando el arc5i-o ?*e con$iene el lis$ado de la #ase o#$enido en el 1ri.er
1 Scri1$s son 1ro+ra.as ?*e Ja di8erencia de *n 1ro+ra.a e@ec*$a#leJ son le,dos 1ri.ero 1or el co.1ilador, co.1ilados en $ie.1o real 4 des1*9s e@ec*$ados, es decir ?*e son creados co.o e@ec*$a#les en el .o.en$o del *so0 La -en$a@a de *$ili>ar scri1$s en l*+ar de e@ec$*a#les es ?*e es sencillo re-isar el cdi+o 8*en$e 4 .odi8icarlo0 Meneral.en$e la doc*.en$acin del 1ro+ra.a .is.o ;a4*das, e:1licaciones= es$7 con$enida direc$a.en$e en el cdi+o 8*en$e0 Al 8inal de es$e a1or$e se incl*4en dos scri1$s de .i+racin co.o e@e.1lo0 Al 8*ncionar so#re el sis$e.a o1era$i-o MSJDOS, 4 el 5ec5o ?*e la e.1resa Microso8$ 5a red*cido la co.1a$i#ilidad de s*s sis$e.as con MSJDOS a 1ar$ir de la AindoNs ME en el !&&&, el *so de 1ro+ra.as ?*e re?*ieren *na co.1a$i#ilidad co.1le$a con MSJDOS se co.1lic cada -e> .as0 En c*an$o al *so de Si+e#i so#re Lin*:, el sis$e.a %DSKISIS ;so#re el c*al es$7 #asado Si+e#i= 8*nciona so#re el e.*lador Dose.*, 1ero la con8i+*racin de carac$eres e:$endidos ;le$ras acen$*adas, eIes= es #as$an$e co.1licada 4 escasa.en$e doc*.en$ada0

1aso 4 el cdi+o de or+ani>acin Marc!1 1ara +enerar los ca.1os &2& 4 ( !'0 A con$in*acin el scri1$ lee *na 1or *na las l,neas del lis$ado o#$enido de la #ase %DSKISIS 4 se+En el an7lisis del ca.1o en c*es$in 4 los da$os encon$rados eli+e .odi8icar los da$os 1ara ?*e corres1ondan a la nor.a de Marc!1 4 reali>a *na salida de los da$os en el .is.o 8or.a$o de O1enIsis0 El scri1$ $a.#i9n +enera da$os en 8or.a a*$o.7$ica: 8ec5a 4 5ora ;ca.1o && = 4 *n ca.1o &&80 Es$e scri1$ $a.#i9n .ane@a el ca.#io de codi8icacin de carac$eres de la codi8icacin en %DSKISIS 2 a UTBJ8 *sado 1or <o5a0 En *n $ercer 1aso el arc5i-o +enerado 1or es$e scri1$ se 1asa al 8or.a$o de arc5i-os de Marc!1 con el scri1$ rec2marc.pl, +enerando a?*, *na ca#ecera es$7ndar0 Una -e> c*.1lido los $res 1asos se dis1one de *n arc5i-o en 8or.a$o Marc!1 ?*e se 1*ede s*#ir a <o5a0 O*#iera sido 1osi#le crear *n solo scri1$ ?*e realice los $res 1asos @*n$os0 Sin e.#ar+o de es$a .anera se $iene acceso a cada *no de los 1asos in$er.edios ?*e se 1*eden re-isar en caso ?*e el res*l$ado no es el es1erado 4 a@*s$ar los 1ar7.e$ros acorde0 En el caso de O1enMarco/olo se cre *n scri1$ si.iliar, a*n?*e es .*4 sencillo de#ido a ?*e O1enMarco/olo 4a *$ili>a Marc!1 4 slo 5a4 ?*e reali>ar a@*s$es de codi8icacin 4 de re+is$ro de e:is$encias0 O$ros sis$e.as #asados en %DSKISIS, $ales co.o %a$alis o #ases +enerados con %DSKISIS o Ainisis, se .i+raron con o$ro 1rocedi.ien$o 4a ?*e se 1resen$a#an #ases de los .7s di-ersos 8or.a$os 4 no era 1osi#le +enerar *n scri1$ 1ara cada *no de ellos0 En es$os casos se crea#a *n arc5i-o /BT *$ili>ado 1ara i.1ri.ir la #ase co.1le$a en *n arc5i-o c*4o 8or.a$o era si.ilar al 8or.a$o O1enIsis ;nE.ero de ca.1o, $a#*lador, con$enidos del ca.1o=0 Es$e arc5i-o des1*9s se 1rocesa#a con *na -arian$e del 1ro+ra.a rec2marc.pl ;rec2marc_encode.pl= ?*e reJcodi8ica#a los carac$eres, +enera#a *n arc5i-o Marc correc$o 4 se 1od,a i.1or$ar direc$a.en$e al <o5a0 Migracin de datos basados en MS Excell, MS Access, dbase, VisualFox sin relaciones Se $ra#a@ con .7s de 1&& sis$e.as de #i#lio$ecas #asados en lis$ado de MS E:cell, MS Access, d#ase, Vis*alBo: 4 o$ros sis$e.as relacionales 1ero c*4o diseIo no
' 2 En el ca.1o &2& de Marc!1 se +*ardan los cdi+os de las #i#lio$ecas ?*e in$er-inieron en la +eneracin 4 la .odi8icacin del re+is$ro0 En el ca.1o ( !, <o5a al.acena los da$os de las e:is$encias: in-en$arios, si+na$*ras, e$c0 incl*4endo el cdi+o de la #i#lio$eca0 En realidad %DSKISIS no $iene con8i+*racin de carac$eres, sino ?*e la con8i+*racin es reali>ada 1or el sis$e.a o1era$i-o MSJDOS0 /BT si+ni8ica C/rin$8or.a$D 4 es *n arc5i-o ?*e 1er.i$e indicar el 8or.a$o de -is*ali>acin de *n re+is$ro o *na 1ar$e de *n re+is$ro0 La salida se 1rod*ce en la 1an$alla o a $ra-9s de la i.1resin0 /ara crear es$os arc5i-os de .i+racin es necesario $ener conoci.ien$o del len+*a@e de 8or.a$eo %DSKISIS0

otros

incl*,a relaciones en las #ases #i#lio+r78icas o lo 5ac,a en 8or.a sencilla0 A di8erencia de las #ases %DSKISIS ?*e $ra#a@an con es$r*c$*ras de da$os #i#lio+r78icas, es decir la ca1acidad de +enerar ca.1os re1e$i#les 4 de lon+i$*d -aria#le en la ?*e la nor.ali>acin se reali>a d*ran$e la ca$alo+acin, las #ases de da$os relacionales se carac$eri>an 1or $ener en c*en$a la nor.ali>acin de los da$os en el diseIo .is.o, e-i$ando la d*1licacin de da$os0 Es$e $i1o de es$r*c$*ras di8ic*l$an la creacin de #ases de da$os #i#lio+r78icas, sal-o ?*e se si.1li8i?*en al .7:i.o0 /or e@e.1lo *n diseIo co.En era el si+*ien$e:
Autor Ttulo Editorial Inventario Estante Materia

Rosen#er+, Ra?*el

%on$a#ilidad 1

El A$eneo

!(2

%on$a#ilidad

Es$e $i1o de diseIo no con$e.1la los casos en los ?*e 5a4 .7s de *n a*$or o si es necesario colocar .7s de *na .a$eria0 Las -arian$es de es$e es?*e.a 8*eron .El$i1les, 1or e@e.1lo en al+*nos casos reci#i.os arc5i-o MS E:ell en el ?*e cada 1es$aIa se encon$ra#an los li#ros de *na .a$eria de$er.inada0 En $odos los casos se +ener *n arc5i-o deli.i$ado 1or co.as ;$er.inacin 0cs-= .edian$e di-ersas 5erra.ien$as6 ?*e en *na se+*nda ins$ancia se .i+ra#a *$ili>ando el 1ro+ra.a MarcEdi$0 MarcEdi$ no es so8$Nare li#re, 1ero si es$7 dis1oni#le +ra$*i$a.en$e en In$erne$H0 Es$e sis$e.a es$7 dis1oni#le 1ara sis$e.as o1era$i-os MS AindoNs 4 MNUKLin*:0 Den$ro de MarcEdi$ se incl*4e *n *$ili$ario ?*e 1er.i$e 1asar de *n arc5i-o deli.i$ado 1or co.as a *n arc5i-o Marc en 8or.a$o 0.rP0 Es$e 8or.a$o ;0.rP= es .*4 si.iliar J1ero no id9n$icoJ al 8or.a$o *sado 1or O1enIsis0 En es$e caso cada l,nea co.ien>a con el si+no i+*al, se+*ido 1or el nE.ero de ca.1o re1resen$ado 1or $res d,+i$os ;1or e@e.1lo Q&&8=, se+*ido 1or dos es1acios 4 a 1ar$ir de all, co.ien>an los con$enidos del ca.1o, es decir indicadores 4 s*#ca.1os0 El .is.o MarcEdi$ incl*4e *na 5erra.ien$a 1ara +enerar el 8or.a$o Marc 8inal0 Es$a 5erra.ien$a 1er.i$e asi+nar a cada col*.na *n ca.1o o s*#ca.1o Marc!10 Ta.#i9n se 1*eden co.#inar di8eren$es s*#ca.1os en *n solo ca.1o 4 +enerar a*$o.7$ica.en$e la ca#ecera 4 el &&80 Den$ro del edi$or MarcEdi$ es 1osi#le reali>ar s*s$i$*ciones * o$ras $rans8or.aciones0 /or lo +eneral es$e $i1o de .i+raciones re?*ieren *n $ra#a@o dedicado de 1r*e#as 4 a@*s$es 4 1*eden lle+ar a de.orar #as$an$e $ie.1o en caso de #ases de -arios .iles de re+is$ros0
6 Los sis$e.as MS E:cell 4 d#ase se $ra#a@aron el Li#reO88ice ?*e 1er.i$e la e:1or$acin en 8or.a$o cs-0 Los sis$e.as MS Access se $ra#a@aron .a4ori$aria.en$e con MDB VieNer0 En el caso de Vis*alBo:, se o#$*-o *na salida a .edida *$ili>ando el .is.o sis$e.a ;Vis*al Bo:=0 5$$1:KK1eo1le0ore+ons$a$e0ed*KRreese$K.arcedi$K

Migracin de sistemas basados en !roo a, "#rgamo relacionales$

bases de datos

En es$os casos $a.#i9n se $ra$a#a de #ases de da$os relacionales, 1ero con la di8ic*l$ad de ?*e *no o -arios ca.1os se encon$ra#an relacionados con o$ras $a#las0 En es$e caso nos encon$r7#a.os con si$*aciones co.o la si+*ien$e es$r*c$*ra de da$os8: ca.1os $a#la 1: no_registro ttulo subttulo editorial fecha_publicacin lugar_editorial ... ca.1os $a#la !: no_registro apellido_autor nombre_autor ca.1os $a#la ': registro_libro registro_autor con los si+*ien$es con$enidos: $a#la1:
no_registro ttulo editorial fecha_public acin lugar_edito rial

!1

Seis 1ro#le.as 1ara don Isidro /arodi

E.ec9

1((

B*enos Aires

$a#la!: no_registro apellido_autor 1 !2' $a#la': registro_libro !1


8

nombre_autor Sor+e L*is Adol8o

Bor+es Bio4 %asares

registro_autor 1

Es$e $i1o de es$r*c$*ras de da$os son .*4 co.*nes en a1licaciones in8or.7$icas 4 re?*ieren *na 1lani8icacin c*idadosa a 8in de 1oder re8le@ar 8iel.en$e el .odelo de da$os ele+ido 4 .an$ener la in$e+ridad de los da$os0 No es el $i1o de es$r*c$*ras a los ?*e es$a.os 5a#i$*ados los #i#lio$ecarios 4a ?*e re?*ieren +enerar $a#las relacionadas 1ara cada ca.1o de da$os ?*e 1*eda $ener .7s de *na oc*rrencia ;re1e$i#ilidad de ca.1os 4 s*#ca.1os=

!1

!2'

Es$e $i1o de es$r*c$*ra de da$os 1er.i$e .an$ener la nor.ali>acin de los da$os, 1ero re?*iere co.1le@i>ar el .odelo de da$os 1ara cada $i1o de ca.1o ?*e 1*ede oc*rrir .7s de *na -e>, 1or e@e.1lo a*$ores, ins$i$*ciones, .a$erias, edi$oriales, no$as, e$c0 Los sis$e.as /9r+a.o 4 Troo4a 1or e@e.1lo es$7n cons$r*idas so#re *n .odelo de da$os con +ran can$idad de $a#las ?*e re?*ieren re*nir los da$os de *n solo re+is$ro a $ra-9s de .El$i1les cons*l$as0 En es$os casos se o1$ 1or crear scri1$s de .i+racin ?*e reali>a#an las cons*l$as 4 +enera#an *n arc5i-o 1lano ?*e 1od,a ser $rans8or.ado en *n re+is$ro .arc0 /ara 8acili$ar el acceso a los da$os .edian$e 5erra.ien$as *ni8or.es, se o1$ +eneral.en$e 1or .i+rar 1ri.ero las $a#las a *na #ase M4STL 4 reali>ar el $ra#a@o de +eneracin del arc5i-o .arc en *n se+*ndo 1aso0 "roblemas di%icultades encontradas

En el $ransc*rso del 1ro4ec$o se $*-o ?*e en8ren$ar 4 sol*cionar +ran can$idad de 1ro#le.as0 El 1ro#le.a .7s co.En era iden$i8icar la codi8icacin de carac$eres en las ?*e se encon$ra#an los da$os0 Es$o +eneral.en$e se 5ac,a con *n edi$or ?*e 1er.i$,a iden$i8icar 4 ca.#iar la codi8icacin(0 Den$ro de es$a 1ro#le.7$ica se encon$ra#a $a.#i9n el .oles$o caso de las di8erencias en la codi8icacin del 8inal de l,nea ?*e es di8eren$e en MS AindoNs 4 en MNUKLin*:0 Es1ecial.en$e MarcEdi$ reacciona#a .*4 celosa.en$e a 8inales de l,nea ?*e no es$a#an codi8icados 1or MS AindoNs1&0 En -arias #ases de da$os L so#re $odo las de or,+en MS AccessJ se encon$ra#an cdi+os de 8or.a$o, .a4ori$aria.en$e RTB11, 1ero $a.#i9n sal$os de l,nea 4 cdi+os OTML .e>clado con los da$os0 Es$e $i1o de codi8icacin de 8or.a$o den$ro de *n ca.1o de da$os res*l$a#a sie.1re .*4 .oles$o 4a ?*e no se 1*do locali>ar *na 5erra.ien$a +eneral 1ara lidiar con el 1ro#le.a 4 es$os cdi+os sol,an ro.1er la co.1ilacin a *n arc5i-o .arc0 La sol*cin era +eneral.en$e reali>ar -arios 1asos de s*s$i$*cin a 8in de li.1iar los cdi+os o Jen caso ?*e no era 1osi#le o ?*e ?*edaran resid*osJ edi$ar los da$os a .ano0 En al+*nos casos de ca.1os de escasa *$ilidad, se o1$ 1or no .i+rarlos0 O$ro 1ro#le.a consis$,a en encon$rar cdi+os locales iniden$i8ica#les den$ro de los da$os0 /or e@e.1lo *na $a#la con cdi+os de *na sola le$ra sin ?*e la e$i?*e$a del
( Se+En el $i1o de arc5i-os ?*e se 5a#,an en-iado a %ona#i1 se $ra#a@ .a4ori$aria.en$e con Li#reO88ice %alc 4 el edi$or <a$e0 1& En es$os casos MarcEdi$ .odi8ica#a el arc5i-o de or,+en 4 eli.ina#a TODOS los sal$os de l,nea lo ?*e o#li+a#a en casos en los ?*e se 5a#,a 5ec5o al+En $ra#a@o de 1reJ 1rocesa.ien$o de -ol-er a re1e$irlo0 11 Ric5 Te:$ Bor.a$0

ca.1o de *na 1is$a so#re ?*9 da$os se $ra$a#a0 Meneral.en$e se de#,a in$err*.1ir el 1roceso de .i+racin 4 cons*l$ar con la #i#lio$eca ?*e 5a#,a en-iado la #ase0 En .*c5os casos se 1*do o#-iar es$os da$os J1or e@e.1lo si el li#ro se encon$ra#a 1res$ado o noJ en o$ros casos re?*iri *na $rad*ccin de los cdi+os a *na 8or.a *$ili>a#le den$ro de <o5a, 1or e@e.1lo si 5ac,an re8erencia al .odo de ad?*isicin o a *na clasi8icacin 1ro1ia0 Un 1ro#le.a es1ecial lo cons$i$*4 la .i+racin del <arde: de Si+e#i0 En las #i#lio$ecas *ni-ersi$arias se *$ili>an +eneral.en$e dos $i1os de re+is$ro 1ara descri#ir da$os 1er$enecien$es a 1*#licaciones 1eridicas: re+is$ros de $,$*lo de la 1*#licacin ?*e con$ienen los da$os de la 1*#licacin en +eneral ;1or e@e.1lo $,$*lo, edi$or, ISSN, 1eriodicidad, e$c0= 4 re+is$ros anal,$icos ?*e descri#en ar$,c*los en las re-is$as0 En el caso de Si+e#i e:is$,an dos $i1os de re+is$ros: re+is$ros de $,$*los 4 re+is$ros de nE.eros ;8asc,c*los= 4 a.#os $i1os de re+is$ros se encon$ra#an relacionados, de .anera ?*e se 1od,a -is*ali>ar en *n re+is$ro de $,$*lo c*7les eran los 8asc,c*los de es$e $,$*lo 4 en los re+is$ros de nE.eros se -is*ali>a#an los da$os de la 1*#licacin0 Sin e.#ar+o se de$ec$aron re+is$ros en los ?*e es$as relaciones se encon$ra#an ro$as 4 no era 1osi#le relacionar *n nE.ero con *n $,$*lo0 Se +eneraron dos scri1$s de .i+racin, *no de ellos 1ara +enerar re+is$ros de $,$*los ?*e car+a#a los da$os de los nE.eros de la re-is$a co.o e@e.1lares0 Es$e scri1$ $en,a el 1ro#le.a ?*e en la 1r7c$ica se 1erd,an los descri1$ores $e.7$icos 4a ?*e <o5a no 1re-9 car+ar .a$erias en los da$os de los e@e.1lares0 Se .i+ra#an es$os da$os a *n ca.1o de no$a local del e@e.1lar, 1ero no se 1od,a rec*1erar el re+is$ro a $ra-9s de es$as no$as0 El se+*ndo scri1$ de .i+racin con$in*a#a con el .is.o .odelo #i#lio+r78ico de Si+e#i 4 8*e el ele+ido 1or $odas las #i#lio$ecas ?*e *$ili>a#an el .d*lo de <arde: de Si+e#i0 I+*al.en$e la .i+racin de los <arde: no 8*e del $odo sa$is8ac$oria en c*an$o a rec*1eracin 4 -is*ali>acin de da$os en <o5a0

Formacin de nodos regionales


El 1ro4ec$o 1resen$ado a %ona#i1 incl*,a la creacin de nodos re+ionales ?*e da#an so1or$e $9cnico0 En a+os$o de !&1& se crea el 1ri.er nodo re+ional la %i*dad de %rdo#a, Ar+en$ina, en la 8*ncion 5as$a @*nio de !&1!0 De#ido a la +ran can$idad de .i+raciones ?*e se de#,an reali>ar 4 es$a#an +enerando *n c*ello de #o$ella en la i.1le.en$acin, se ca1aci$ a los o1eradores del Nodo %rdo#a a 8in de ?*e co.en>aran a reali>ar .i+raciones de Si+e#i 4 A+*a1e40 /os$erior.en$e con la i.1le.en$acin de los Nodos %ona#i1, La /la$a 4 /a$a+onia se reali>aron ca1aci$aciones 1ara los o1eradores de es$os nodos 4 las .i+raciones se co.en>aron a dis$ri#*ir en$re $odos los Nodos0 Ac$*al.en$e el Nodo La /la$a reali>a .i+raciones

de MS E:cell, el Nodo /a$a+onia las .i+raciones de Si+e#i 4 A+*a1e4 4 el Nodo %rdo#a las .i+raciones de Ainisis0 El Nodo %ona#i1 reali>a di8eren$es $i1os de .i+raciones e?*ili#rando las de.andas 1*n$*ales 4 Vernica Lencinas co.o asesora $9cnica de %ona#i1 reali>a las .i+raciones .7s co.1le@as0

Conclusiones
En los al+o .7s de cinco aIos en los ?*e 8*nciona el 1ro+ra.a Di+i#e19, el sis$e.a es$7 siendo *sado 1or .7s de H&& #i#lio$ecas en $odo el 1a,s0 %ona#i1 no sola.en$e o8rece el sis$e.a a las #i#lio$ecas 1o1*lares sino $a.#i9n a o$ras ins$i$*ciones con #i#lio$ecas 1E#licas0 En es$e $ie.1o el sis$e.a se 5a 1*es$o en .arc5a 1ara #i#lio$ecas ?*e no $en,an sis$e.a se 5an reali>ado .7s de 2&& .i+raciones de *na can$idad inn*.era#le de sis$e.as $an$o caseros co.o 1ro8esionales0 Se 5a 1odido ada1$ar Di+i#e19 a las necesidades de las #i#lio$ecas 1o1*lares 4 1E#licas en la Ar+en$ina0 D*ran$e el $ie.1o ?*e lle-a el 1ro+ra.a, se lo+ro 1ro.o-er la creacin de *na co.*nidad de *s*arios alrededor de la 5erra.ien$a Di+i#e19 co.o $a.#i9n 8acili$arel *so del sis$e.a a $ra-9s de la asis$encia 1resencial, $ele8nica, 4 Con lineD 1or .edio de los 8oros Di+i#e19 4 del correo elec$rnico0 Se es$7 1lan$eando .an$ener 4 1ro8*ndi>ar la ca1aci$acin de los #i#lio$ecarios en #i#lio$ecas 1o1*lares $an$o en $9cnica #i#lio$ecol+ica, in8or.7$ica #7sica 4 *so del sis$e.a Di+i#e19 con la 8inalidad de 8or.ar 8or.adores0 T*e #i#lio$ecas 1o1*lares se enca.inen a ser re8eren$es re+ionales 4 con$inEen la $area de cons$r*ccin de conoci.ien$o 4 a1ro1iacin $ecnol+ica0 La 1resencia 4a ac$i-a de *n ca$7lo+o colec$i-o co.o 5erra.ien$a 1ara di8*ndir el 1a$ri.onio #i#lio+r78ico de las Bi#lio$ecas /o1*lares Ar+en$inas, 8acili$ar la locali>acin de .a$erial #i#lio+r78ico 1or cons*l$a +ra$*i$a 4 1ro.o-er el *so de las colecciones de las #i#lio$ecas de#e aco.1aIarse $oda-,a 1or el *so .asi-o de la ca$alo+acin 1or co1ia ;U'(0 &=0 Ac$*al.en$e se #*sca *na .a4or 1resencia en el escenario re+ional, lle-ando adelan$e @ornadas de ca1aci$acin en *n ni-el .7s $9cnico, acen$*ando la 8or.acin en los .d*los de ca$alo+acin, +es$in de socios, diseIo O/A% 4 ad.inis$racin de 1re8erencias del sis$e.a, 1ro.o-iendo enc*en$ros con las Bederaciones /ro-inciales a 8in de 8or$alecer la ca1aci$acin en Di+i#e19 de #i#lio$ecarios ?*e 1*edan con-er$irse en re8eren$es 4 crear as, *na 8*er$e co.*nidad de *so local 4 re+ional ?*e ase+*ra la 1er.anencia de la $ecnolo+,a #i#lio$ecaria .7s all7 de los 1ro+ra.as es1ec,8icos0

Anexos
Sigebi&marc$'l
#!/usr/bin/perl # sigebi2marc.pl # script para reformatear bases de datos Isis de Sigebi a Marc21 # # # # # uso: ./sigebi2marc.pl <archivo <marcorgcode donde <archivo es el archivo de te!to plano obtenido a trav"s de un dump de la base de datos con openisis #por e$emplo: openisis %db M&'( marc.t!t ) marcorgcode es el c*digo de la +iblioteca. ,ste c*digo tiene -ue estar configurado en el sistema antes de importar a los registros.

# ,l archivo resultante puede ser utili.ado por otra aplicaci*n ) se encuentra # en el formato usado por openisis: tag<tab campo # #c/ 2001 2eronica 3encinas # 'eali.ado con aportes del pro)ecto Sec)t%45( 06/7816 # # ver 1.9 % diciembre 2010 // transforma a &S(II la signatura use ,ncode: ;marcorgcode <;&'=2>1?: ;mfn < 1: ;tu@flag < 0: # flag para campo 29 ABCtulo uniformeA

# fecha de ho) -ue vamos a necesitar mas tarde Dfecha < localtime: ;ano < ;fecha>6? E 1F00: ;mes < sprintf#AG02dAH ;fecha>I?E1/: ;fecha1 < ;ano . ;mes . sprintf#AG02dAH ;fecha>J?/ . sprintf#AG02dAH ;fecha>2?/ . sprintf#AG02dAH ;fecha>1?/ . sprintf#AG02dAH ;fecha>0?/: ;ffecha < ;fecha1 . A.0A: ;nn < 0: m) ;lib: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # 1. che-uear si estan todos los parametros re-ueridos ;file < ;&'=2>0?: print A5o especific* un archivo para leerKnA if ;&'=2>0? e- AA: # 2. abrir archivo de te!to ;f < 0: # flag para comien.o del archivo ;l < 0: # flag para detectar registros borrados ) eliminarlos open #+&S,H ;file/: Lhile #<+&S, /M if #;f << 0/M ;f < 1: ne!t if ;@ e- AKnA: N #elimina la primer linea en blanco if #;l << 0/M ne!t if ;@ e- AKnA: # caso de dos o mas lineas en blanco

N ;l < 1 if ;@ ne AKnA: ;l < 0 if ;@ e- AKnA: # J. reformatear if #;l << 0/M # una linea en blanco # I. sacar por <SBOP4B

# Modificar acQ si encontramos O=Ms no definidos a-uCH pero # presentes en la base de origen. Se deben definir los O=Ms # como tipos de items en el sistema de recepci*n #itemt)pes en Roha/ ;dgm ;lib ;lib ;lib ;lib ;lib print print print print ahora en ;dgm < < < < < < Ate!toA if ;dgm e- AA: A3I+A if ;dgm <S /te!to/: A2IOA if ;dgm <S /#videoT2ideoT2I//: AO2OA if ;dgm <S /O2O/: A(OA if ;dgm <S /#disco compactoT(O//: A='&+A if ;dgm <S /grabac/: A1Kt;mfnKnA: AJKt;marcorgcodeKnA: A6Kt;ffechaKnA: undef#;modif@registro/: AFI2Kt Uc;libKnA: # &-ui va el itemt)peH tomar de 2IUdH

;v1 < substr#;alta@registroH2/: undef#;alta@registro/: ;v1 < sprintf#AG08dAH;v1/: ;fecha <S s/KO//g: ;fecha < sprintf#AG0IdAH;fecha/: ;v1 .< As;fecha TTTTTTTTTTTTTTTTT TTTTTTcA: print A1Kt;v1KnA: undef#;v1/: undef#;fecha/: print AI0Kt KUa;marcorgcodeKUbspaKUc;marcorgcodeKUd;marcorgcodeKnA: print foreach Dregistro: undef#Dregistro/: foreach #Ddescri/M print A860Kt IKUa;@KnA unless ;@ e- AA or ;@ e- AKnA: N undef#Ddescri/: chomp#;sigtop/: ;sigtop <S s/KUs/KUb/: ;sigtop <S s/KUn/KUh/: ;sigtop <S s/KUl/KUm/: ;sigtop <S s/KUv/KUt/: if #;sigtop <S /KUb/i/M # SubcoleccionesH ubicaci*n. ;subcol < substr#;sigtopHinde!#;sigtopHAKUbA/ E2Hinde!#;sigtopHAKUhA/%2/: N

;subcol < A(=A if ;subcol e- AA: #;class < substr#;sigtopHinde!#;sigtopHAKUhA/ E2Hinde!#;sigtopHAKUmA/%inde!#;sigtopHAKUhA/%2/: ;sigtop ;sigtop ;sigtop ;subcol < substr#;sigtopHinde!#;sigtopHAKUhA/E2/: <S s/KU./ /g: <S s/>U!%SKs?//g: <S s/>U!%SKs?//g: # clasificacion %

#print A12Kt0IKUa;classKU-;marcorgcodeKnA: deshabilitadoH no todos usan (OO foreach #Dinvent/ M

;@ <S s/KUi//: print AF62Kt KU1;subcolKUa;marcorgcodeKUb;marcorgcodeKUc;subcolKUp;@KU);libKUo;sigtopKnA: N print AKnA: undef#Dinvent/: undef#;dgm/: undef#;subcol/: ;tu@flag < 0: undef#;sigtop/: ;mfn EE: N else M # tenemos un campoH ahora reformateamos #;tagH;campo/ < split#/Kt/H;@/: # Modif-ue esta lCnea si tiene otra codificaci*n de caracteres #,ncode::from@to#;campoH VcpIJ9VH Vutf%1V/: ,ncode::from@to#;campoH Vcp160VH Vutf%1V/: #print A;tag: ;campoA: # O,+4=

;alta@registro < substr#;campoH2H1/ if ;tag << J: if #;tag << 10/M # IS+5

;campo <S s/KUn//: ;campo <S s/%//g: ;campo <S s/KUc.W//g: # (hau c*digos raros -ue puedan estar cargados push DregistroH A20Kt Ua;campoA: # Insertar a-uC generador de IS+5%1J. N if #;tag << 16/M # ISS5 # (hau c*digos raros -ue puedan estar cargados Ua;campoA:

;campo <S s/KUn//: ;campo <S s/KUc.W//g: push DregistroH A22Kt N

if #;tag << 2I/M

# &rea de tCtulo ) menci*n de responsabilidad

;tit1 < substr#;campoH0H1/: if #;tit1 ne AKUA/M;campo < AKUA . ;campo:N ;campo <S s/KUt/KUa/: ;campo <S s/KUs/KUb/g: ;campo <S s/KUd/KUhK>/: chomp#;campo/: ;campo .< A?A if ;campo <S /KUh/: ;campo < A10A . ;campo: ;dgm < substr#;campoHinde!#;campoHA>A/Hinde!#;campoHA?A/% inde!#;campoHA>A// if ;campo <S m/KUh/: ;dgm <S s/#K>TK?///g: push DregistroH A2I6Kt;campoKnA: N if #;tag << 29/M # BCtulo uniforme ;campo < A10UaA . ;campo if ;tag << 29: push DregistroH A2I0Kt;campoA if ;tu@flag << 0: push DregistroH A9I0Kt ;campoA if ;tu@flag << 1: uniforme ;tu@flag < 1 if ;tu@flag << 0: # BCtulo uniforme # Ptro BCtulo

N if #;tag << 21/M # Ptros autoresH creadoresH personas vinculadas con la creaci*n o modificaci*n ;campo ;campo ;campo ;campo ;campo ;campo <S s/;KUr//g: <S s/;KUn//g: <S s/;KUa//g: <S s/KUn/H /g: <S s/KUr/HKUe/g: < A1 A . ;campo unless ;campo e- AA or ;campo e- AKnA:

push DregistroH A900Kt;campoA: N if #;tag << I2/M # ,dici*n

;campo < A UaA . ;campo: push DregistroH A260Kt;campoA: N #;lugarH ;editor/ < split#/KUe/H;campo/ if ;tag << IJ: ;tit1 < substr#;lugarH0H1/: if #;tit1 ne AKUA/M;lugar < AKUA . ;lugar:N ;lugar <S s/KUl/KUa/: chomp#;lugar/: # en algunos casos no ha) editor cargado. if #;tag << I6/M ;v280b < ;campo: ;fecha < substr#;campoHinde!#;campoHAKUfA/E2/: if #;v280b <S m/KUe/ /M #;descriH ;fecha/ < split#AKUfAH;v280b/: ;descri <S s/KUe/KUf/: ;descri <S s/KUl/KUe/: ;v280b < AUcA . ;fecha . A#A . ;descri . A/A: undef#;descri/: N else M ;v280b <S s/KUf/KUc/: N chomp ;editor: push DregistroH A280Kt ;lugarKUb;editor;v280bA: undef#;lugar/: undef#;editor/: undef#;v280b/: N #60 O,S('IX. 7ISI(& G Uabcd! abcd! 60 160 0 1 # /// en la +X'& se encuentra la siguiente construcci*n: # Ua2 videocasetesUe2YSUfXalUg60 min.Ubson.Uhcol. # correcto: ;a1 videocassette of 1 #+eta/ #J0 min./ : ;bsd.H col. : ;c1/2 in. ;J#2 copies/ # &-uC ha) -ue continuar traba$ando ) controlar O2OsH grabacionesH (OsH mapas ) lo -ue pueda aparecer. if #;tag << 60/M ;campo <S s/#KUhTKUf//H /: ;campo <S s/KUe/ K#/: ;campo <S s/KUg/ K/K# /: ;campo <S s/KUh/ /: ;campo <S s/ K//K//: ;campo <S s/K# /K#/: push DregistroH AJ00Kt ;campoA: N #6I 5PB&S ='&3,S. G Unf nf 6I 600 0 1 # /// +X'& a-ui un registro con UaH muchos otros con Uc #< notas de contenido/ # /// en algunos casos se cargaron las notas de contenido como descriptores # /// entre < ) en ma)usculas sostenidas

# Oigibepe % algunas bibliotecas tienen varios subcampos en este campo if #;tag << 6I/M ;campo <S s/ </ %% /g: ;campo <S s/#<T ///g: Dv600 < split#/KU/H;campo/: foreach #Dv600/M chomp#;@/: ;cod@sc < substr#;@H0H1/: ;campo@6!! < substr#;@H1/: if #;cod@sc e- AnA/M push DregistroH A600Kt N if #;cod@sc e- AcA/M push DregistroH A606Kt N N N if #;tag << 86/M # Oescriptores KUa;campo@6!!KnA:

KUa;campo@6!!KnA:

# ver 1.8 if #;campo <S /KUd/ / M ;campo <S s/KUd//: Ddescri1 < split#/ </H;campo/: adaptaciones entre < problemas # )a -ue el campo -ue genera es 860 UaUO,S('IXBP' for #Ddescri1/M ;@ <S s/#<T ///g: chomp: push DdescriH ;@: N N else M # base 7&(SP chomp#;campo/: push DdescriH ;campo: N undef#Ddescri1/: N #90 54M. I52,5B&'IP G Uive ive # /// 3a +X'& ha usadp Up en lugar de Ue 90 160 0 0 # bases 7&(SP no funciona bien )a -ue no tienen los descriptores sino -ue el campo es repetible. # en ese caso cada campo genera dos ocurrencias ) despu"s ha) # PZPH esto puede re-uerir # base 3I+'I

if #;tag << 90/M ;campo <S s/KUp/KUt/: ;campo <S s/KUe/KUt/: chomp ;campo: ;i@flag < substr#;campoH2H2/: if#;i@flag e- A2IA or ;i@flag e- A(OA/M ;dgm < A2IA if ;i@flag e- A2IA: ;dgm < A(OA if ;i@flag e- A(OA: N push DinventH ;campo: N if #;tag << 96/M ;sigtop < ;campo: N #19 &',& O, S,'I, G Utsrin! tsrin! 19 260 0 1 # /// +X'& tiene cargado U) -ue es en este conte!to el vol. de la subserie if #;tag << 19/M ;campo <S s/KUt/0 KUa/: ;campo <S s/#KUnTKU)// :KUv/: ;campo <S s/KU!/. /: push DregistroH AIF0Kt;campoA: N if #;tag << 100/M ;tit1 < substr#;campoH0H1/: if #;tit1 ne AKUA/M;campo < AKUA . ;campo:N N ;campo <S s/KUn/H / if ;tag << 100: ;campo <S s/KUa/1 KUa/ if ;tag << 100: push DregistroH A100Kt;campoA if ;tag << 100: #110 ,5BIO&O #,. X'I5(./ GUns ns # /// +X'& tiene Ur,ditor en algs. casos 110 200 0 1

;campo <S s/KUn/2 KUa/ if ;tag << 110: push DregistroH A110Kt ;campoA if ;tag << 110: ;campo < A1 KUaA . ;campo if ;tag << 1J0: push DregistroH A9F0Kt;campoA if ;tag << 1J0: #168 seudonimos 168 80 0 0 # /// &-ui la +X'& carga el nombre mas conocido en el caso de # seud*nimos. ,n estos casos el 100 incl. el nombre real # & partir de este campo me$or utili.amos registros de autoridad. ;campo < A1 KUaA . ;campo if ;tag << 168: push DregistroH A9F8Kt;campoA if ;tag << 168: N N close +&S,: #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Agua'e &marc$'l
#!/usr/bin/perl # aguape)2marc.pl # script para reformatear bases de datos &guape) a Marc21 # # # # # uso: ./aguape)2marc.pl <archivo <marcorgcode donde <archivo es el archivo de te!to plano obtenido a trav"s de un dump de la base de datos con openisis #por e$emplo: openisis %db M&'( marc.t!t ) marcorgcode es el c*digo de la +iblioteca. ,ste c*digo tiene -ue estar configurado en el sistema antes de importar a los registros.

# ,l archivo resultante puede ser utili.ado por otra aplicaci*n ) se encuentra # en el formato usado por openisis: tag<tab campo # #c/ 2001 2eronica 3encinas # # ver 1.6 F02 use ,ncode: ;marcorgcode <;&'=2>1?: # fecha de ho) -ue vamos a necesitar mas tarde Dfecha < localtime: ;ano < ;fecha>6? E 1F00: ;mes < sprintf#AG02dAH ;fecha>I?E1/: ;fecha1 < ;ano . ;mes . sprintf#AG02dAH ;fecha>J?/ . sprintf#AG02dAH ;fecha>2?/ . sprintf#AG02dAH ;fecha>1?/ . sprintf#AG02dAH ;fecha>0?/: ;ffecha < ;fecha1 . A.0A: ;nn < 0: ;firstaut < 0: m) ;lib: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # 1. che-uear si estan todos los parametros re-ueridos ;file < ;&'=2>0?: print A5o especific* un archivo para leerKnA if ;&'=2>0? e- AA: # 2. abrir archivo de te!to ;f < 0: # flag para comien.o del archivo ;l < 0: # flag para detectar registros borrados ) eliminarlos open #+&S,H ;file/: Lhile #<+&S, /M if #;f << 0/M ;f < 1: ne!t if ;@ e- AKnA: N #elimina la primer linea en blanco if #;l << 0/M ne!t if ;@ e- AKnA: # caso de dos o mas lineas en blanco N ;l < 1 if ;@ ne AKnA: ;l < 0 if ;@ e- AKnA: # J. reformatear if #;l << 0/M # una linea en blanco # I. sacar por <SBOP4B % adaptado a Roha J.0 // Itemt)pes se obtienen a trav"s del campo

;dgm < Ate!toA if ;dgm e- AA: ;sgm < AlibroA if ;sgm e- AA: chomp ;dgm: chomp ;sgm: print AJKt;marcorgcodeKnA: print A6Kt;ffechaKnA: print AI0Kt KUa;marcorgcodeKUbspaKUc;marcorgcodeKnA: foreach #Dregistro/M ;@ <S s/K#/ /g: print: N undef#Dregistro/: print AKnA: undef#Dregistro/: undef#;dgm/: undef #;sgm/: ;nn < 0: ;lib < AA: # vaciar para el pro!. registro ;firstaut < 0: N else M # tenemos un campoH ahora reformateamos #;tagH;campo/ < split#/Kt/H;@/: # Si tiene otra codificaci*nH modifi-ue esta lCnea #,ncode::from@to#;campoH Vlatin1VH Vutf%1V/: #,ncode::from@to#;campoH VcpIJ9VH Vutf%1V/: ,ncode::from@to#;campoH Vcp160VH Vutf%1V/: if #;tag << 2/M ;record@t)pe < substr#;campoH6H1/: ;bibl@level < substr#;campoH8H1/: push DregistroH AF01Kt KUa;record@t)peKUb;bibl@levelKnA: undef#;record@t)pe/: undef#;bibl@level/: N if #;tag << 1/M ;campo <S s/espaK2IIol/spa/: ;campo <S s/espa[ol/spa/: ;campo <S s/franc"s/fre/: ;campo <S s/ingl"s/eng/: push DregistroH AI1Kt;campoA: N if #;tag << 11/M push DregistroH A1Kt;campoA: N if #;tag << 20/M ;campo <S s/%//g: push DregistroH A;tagKt;campoA: N if #;tag << 22 or ;tag << 2I or ;tag << 2I8 or ;tag << 260 or ;tag << J10 or ;tag << 600/M push DregistroH A;tagKt;campoA: N if #;tag << 800 or ;tag << 810 or ;tag << 811 or ;tag << 861 or ;tag << 60I or ;tag << 620 or ;tag << 621 /M push DregistroH A;tagKt;campoA: N if #;tag << 860 or ;tag << 86J or ;tag << 86F/M push DregistroH A860Kt;campoA: N

if #;tag << 168 or ;tag << 188/M ;cod < substr#;campoH2H1/: if #;cod e- VUV/M push DregistroH A;tagKt;campoA: N

else M push DregistroH A;tagKt N undef#;cod/:

Ua;campoA:

N if #;tag << 100/M # &-ui la +.X. Santiago (oronel inclu)e varios autores separados por gui*n. # Ya) bibliotecas -ue tienen varios campos 100. # 4samos ;firstaut < 0 para indicar el primer autor #;campo <S s/KUd/HKUd/: chomp ;campo: # Yemos tenido registros donde metieron mano vCa \inisis. &-uC el hac] para # arreglar el error del bibliotecario. ;cod < substr#;campoH2H1/: # (orregir campos 100 m^ltiples if #;firstaut << 1/M ;tag < A900A: N if #;cod e- VUV/M push DregistroH A;tagKt;campoKnA: N else M push DregistroH A;tagKt1 Ua;campoKnA: N ;firstaut < 1: undef#;cod/: N # 7I5 if ;tag << 100

if #;tag << 110 or ;tag << 910/M #;campo <S s/KUb/.KUb/: #;campo <S s/ K./K./: ;campo <S s/K?/K//: ;campo <S s/K>/K#/: push DregistroH A;tagKt;campoA: N if #;tag << 111/M #;campo <S s/KUn/KUnK#/: #;campo <S s/KUd/ :KUd/: #;campo <S s/KUc/ :KUc/: chomp ;campo: ;campo .< A/A if ;campo <S m/K#/: push DregistroH A;tagKt;campoKnA: N if #;tag << 2I6/M if #;campo <S /KUh//M ;lib1 < substr#;campoHinde!#;campoHAKUhA/Hrinde!#;campoHAKUA/% inde!#;campoHAKUhA//: #print A3I+: ;lib1KnA: ;lib < A2IOA if ;lib1 <S /video/: ;lib < A='&+A if ;lib1 <S /grabac/: ;lib < A(7A if ;lib1 <S /recurso elec/: ;lib < AMXA if ;lib1 <S /material cartogr/: ;lib < AM4A if ;lib1 <S /sica/: ;lib < A(I5A if ;lib1 <S /pelCcula/: ;lib < A='&7A if ;lib1 <S /estampa/: ;lib < A',2A if ;lib1 <S /revista/: ;lib < AOI&'A if ;lib1 <S /diario/: ;lib < AZ4,A if ;lib1 <S /$uego/: ;lib < A&'B,A if ;lib1 <S /arte/: ;lib < AMPOA if ;lib1 <S /modelo/:

N chomp ;campo: #;cod < substr#;campoH2H1/: #if #;cod e- VUV/M push DregistroH A;tagKt;campoKnA: #N #else M if #;campo <S m/KUh//M ;dgm < substr#;campoHinde!#;campoHA>A/E1Hlength#;campo/% inde!#;campoHA>A/%2/: N # push DregistroH A;tagKt KUa;campoKnA: #N #undef#;cod/: N if #;tag << F02/M chomp ;campo: ;lib < A3I+A if ;campo << 1: ;lib < A(7A if ;campo << 2: ;lib < AMXA if ;campo << J: ;lib < A',2A if ;campo << I: ;lib < A2IOA if ;campo << 6: ;lib < AM4A if ;campo << 8: push DregistroH A;tagKt;campoKnA: N if #;tag << 266/M #;campo <S s/KUb/ :KUb/: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << 280/M #;campo <S s/KUb/ :KUb/: #;campo <S s/KUc/HKUc/: ;campo <S s/ / /: ;campo <S s/K>/K#/: ;campo <S s/K?/K//: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << J00/M #;campo <S s/KUb/ :KUb/: #;campo <S s/KUc/ :KUc/: #;campo <S s/KUe/ KEKUe/: ;campo <S s/K>/K#/: ;campo <S s/K?/K//: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << J0F/M ;campo <S s/K#//g: ;campo <S s/KUa//g: chomp ;campo: ;sgm < ;campo: chomp ;sgm: push DregistroH A;tagKt;campoKnA: N if #;tag << J82/M ;campo <S s/K>/K#/g: ;campo <S s/K?/K//g: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << II0/M #;campo <S s/KUp/.KUp/g: #;campo <S s/KUv/ :KUv/g:

chomp ;campo: push DregistroH AIF0Kt;campoKnA: N if #;tag << 606/M #;campo <S s/KUr/ K/KUr/g: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << 100/M #;campo <S s/KUe/HKUe/g: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << 99J/M #;campo <S s/KUd/.KUd/g: chomp ;campo: push DregistroH A;tagKt;campoKnA: N if #;tag << 16F/M subcampos#;tagH;campo/: ,ncode::from@to#;v16FaH Vutf%1VH VasciiV/: ,ncode::from@to#;v16FmH Vutf%1VH VasciiV/: ,ncode::from@to#;v16FnH Vutf%1VH VasciiV/: push DregistroH AF62Kt KUa;marcorgcodeKUb;marcorgcodeKU);libKUo;v16Fm ;v16FnKUp;v16FaKnA: N N N close +&S,: #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sub subcampos M # agregado ver. 1.I____ ;tag < ;@>0?: ;val < ;@>1?: Dsubcampos < split#/KU/H;val/: foreach #Dsubcampos/M ;csubcampo < substr#;@H0H1/: ;vsubcampo < substr#;@H1/: ;vsubcampo <S s/K\E;//g unless ;tag <S /#100T900// and ;csubcampo eAdA: ;vsubcampo <S s/UK\E//g: if #;vsubcampo ne AA/M eval#AK;v;tag;csubcampo < KA;vsubcampoKAK:A/: N N N #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Rec&marc$'l
#!/usr/bin/perl # # # # # rec2marc.pl % script para crear registros en Marc21 a partir de una registro del tipo de PpenIsis #tag <tab content/ #c/ 2009 2eronica 3encinas =X3H en$o)!

# 4so: ./rec2marc.pl < file # BPOP: # W poder pasarle un leader ) -ue lo inclu)a. # W Oo]u #;2ersion < 0.F: ;ino < 1: m) Dtag: m) Dcampo: m) Dlon: ;i < 0: foreach#<SBOI5 /M if #;@ e- AKnA/M # lee el archivo provisto por stdin # 7in de registro # transforma el registro en un vector

Drec < split#/Kn/H;rec/:

foreach #Drec/M #;tH;v/ < split#/Kt/H;@/: ;v <S s/KU/K!1f/g: # reempla.ar c*digo de subcampo ;tag>;i? < sprintf#AG0JdAH ;t/: # carga el valor del tag ;campo>;i? < ;v: # carga el campo ;lon>;i? < sprintf#AG0IdAH length#;v/ E 1/: # carga longitud del campo E cierre campo ;iEE: N `do@marc: undef#Dtag/: undef#Dcampo/: undef#Dlon/: ;i < 0: ;rec < AA: N else M ;rec .< ;@ unless ;@ e- AKnA: # (olecciona en ;rec el registro N N # %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sub do@marcM # &rmar archivo marc

;sep@cmarc < AK!1eA: ;sep@rmarc < AK!1dA: ;nl < AKrKnA: # Si va a usar sus registros ba$o uni! modifi-ue # a AKnA. m) ;total@campos < Dcampo: # inicio@datos < 2I E #total@campos W 12/ E 1 m) ;inicio@datos < sprintf#AG06dAH 2I E #;total@campos W 12/ E1/: # largo@registro < ;inicio@datos E suma@de@largo@campos m) ;largo@registro < ;inicio@datos E 1:

foreach#Dlon/M ;largo@registro E< ;@: N # leader: ;largo@registro . A0000022A . ;inicio@datos . A000I600A # Si -uiere incluir datos dentro del leaderH modifi-ue esta linea. #;leader < sprintf#AG06dAH ;largo@registro/ . Anam 22A . ;inicio@datos . Aua I600A: # esto es para un registro Marc21 &nsel. 'ecodifi-ue adecuadamente ;leader < sprintf#AG06dAH ;largo@registro/ . Anam a22A . ;inicio@datos . Aua I600A: # registro Marc21 4nicode # directorio: m) ;bas < 0: undef#;directorio/: for #;$<0: ;$ < ;total@campos: ;$EE/M ;directorio < ;directorio . ;tag>;$? . ;lon>;$? . sprintf#AG06dAH ;bas/: ;bas < ;bas E ;lon>;$?: N m) ;iso < ;leader . ;directorio . ;sep@cmarc: for #;$<0: ;$ < ;total@campos: ;$EE/M ;iso < ;iso . ;campo>;$? . ;sep@cmarc: N ;iso .< ;sep@rmarc: print A;iso;nlA: N # fin sub #<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< # 7in 7I5:

E(em'lo de una migracin de )inisis$ Arc*i+o "F! 'ara migracin: &Marc$"F!


V1 Vmfn/ VJ 0011V/H V6 2011021I0000.0V/H V1 000000sVvIJV TTTTTTTTTTTTTT000 T spaTTV/H if p#vI9/ then V20 UaVHvI9/HfiH VI0 Ua0011UbspaUc0011V/H if v8<VmV or v8<VmcV or a#v8/ then #if p#v18/ then if occ<1 then V100 1 UaV else V900 1 UaV fiH v18/fiH/ #if p#v19/ then if occ<1 then V110 1 UaV else V910 1 UaV HfiH v19/fiH/H V2I6 10UaVv11/ if p#vI1/ then V260 UaVvI1H/fiH if p#vJ1/ then V280 UaVvJFHVUbVvJ1VUcVvIJ/fiH if p#vI2/ then VJ00 UaVvI2/fiH if p#v20/ then VJ00 UaVv20 if p#v111/ then VUedis-ueteVfiH /fiH if p#vF0/ then VFF0 UaVvF0/fiH if p#v11J/ then VJ00 UaV if v11J<V2ideoV then v112V videoVHfi A #Av119A/AHA #Av118A/AH AUbAv11I/fiH fiH if v8<VamV then #if p#v10/ then if occ<1 #if p#v11/ then if occ<1 V2I6 10UaVv12/ if p#v20/ then VJ00 if p#v11/ then V99J v11HfiHAUbAvI1HAUcAvJFHA fiH #if p#v26/ then VIF0 #if p#v2J/ then V900 #if p#v2I/ then V910 then V100 then V110 1 UaV else V900 1 UaV else V910 1 UaV fiH v10/fiH/ 1 UaV HfiH v11/fiH/

UaVv20/fiH UaV if p#v18/ or p#v19/ then v18UWHv19HVUtVv11 else : AvJ1HAH AvIJ /fiH 0UaVv26HAUvAv21/fiH/ 1 UaVv2JH/fiH/ 1 UaVv2IH/fiH/

#if p#v81/ then V600 UaVv81/fiH/ #if p#v29/ then V600 Ua3a coleccian tiene un total de Vv29V volumenesV/fiH/ #if p#vJ0/ then V600 UaBitulo de la publicacion periodica: VvJ0/fiH/ #if p#v1JI/ then V600 Ua,!istencias completas: Vv1JI/fiH/ #if p#v21F/ then V600 Ua,stado del material: Vv21F/fiH/ #if p#vI00/ then V600 UaMonografico: VvI00/fiH/ #if p#v92/ then V620 UaVv92/fiH/ #if p#v11/ then V621 Ua5ivel: Vv11/fiH/ #if p#v116/ then V626 UaMaterial complementario: Vv116/fiH/ #if p#v8I/ then V6I8 UaIdioma: Vv8I/fiH/ #if p#v181/ then if occ<1 then V606 UaV fiH v181ET %% TfiHif occ<nocc#v181/ then / fiH/ #if p#v10/ then V860 #if p#v98/ then V860 #if p#vFF/ then V86J if if if if if if p#v6/ then VF06 p#v8/ then VF08 p#vF1/ then VF00 p#vF9/ then VF09 p#v82/ then VF82 p#v211/ then VF18 1IUaVv10/fiH/ IUaVv98UW/fiH/ IUaVvFF/fiH/ UaVv6/fiH UaVv8/fiH UaVvF1/fiH UaVvF9/fiH UaVv82/fiH UaVv211/fiH

#if p#v2/ then TF62 Ua0011Ub0011UpTHv2 H if v120 < VdV then VUeOP5V fiH VUoVv121>1? HVU)3I+V/fiH/#

You might also like