User Tools

Site Tools


migracion_de_secs_a_marc21

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
migracion_de_secs_a_marc21 [04/07/2007 00:40]
fernando resaltado de sintaxis (c)
migracion_de_secs_a_marc21 [05/05/2009 00:00]
Line 1: Line 1:
-====== Migración de SeCS a MARC21 ====== 
  
- 
-El siguiente script (un pft para mx) permite convertir la base TITLE del SeCS a formato MARC 21. Aún quedan detalles por arreglar. 
- 
-<code c> 
-  /* Migración de SeCS a MARC 21 */ 
-  ​ 
-  /* FG, mayo 2006 */ 
-  ​ 
-    /* Eliminamos todos los campos */ 
-    '​d*',​ 
-  ​ 
-    /* Leader */ 
-    '​a905|n|',​ 
-    '​a906|a|',​ 
-    '​a907|s|',​ 
-    '​a908|#​|',​ 
-    '​a909|#​|',​ 
-    '​a917|#​|',​ 
-    '​a918|#​|',​ 
-    '​a919|#​|',​ 
-    ​ 
-    /* Nro. de control */ 
-    '​a001|',​v30,'​|',​ 
-    ​ 
-    /* Fecha última modificación */ 
-    '​a005|',​s(date).8,​ s(date)*9.6,​ '​.0','​|',​ 
-    ​ 
-    '​a008{',​ 
-      /* 00-05 */          '​000000',​ 
-      /* 06-14 */          if v304 > // then 
-                             '​d',​v301.4,​v304.4,​ 
-                           else 
-                             '​c',​v301.4,'####',​ 
-                           fi, 
-      /* 15-17 pais */     '​|||'​ /* ref(['​pais'​]l(['​pais'​]v310),​v2) */   /* tabla para mapear códigos de país */ 
-      /* 18 freq */        select v380 /* TO-DO: añadir los códigos que faltan */ 
-                             case '​A'​ : '​a',​ /* annual */ 
-                             case '​B'​ : '​b',​ /* bimonthly (según MARC: Includes 6, 7, or 8 numbers a year.) */ 
-                             case '​E'​ : '​e',​ /* biweekly */ 
-                             case '​F'​ : '​f',​ /* semiannual */ 
-                             case '​G'​ : '​g',​ /* biennial */ 
-                             case '​K'​ : '#',​ /* No determinable frequency (Frequency is intentionally irregular.) */ 
-                             case '​M'​ : '​m',​ /* monthly (según MARC: Includes 9, 10, 11, or 12 numbers a year.) */ 
-                             case '​Q'​ : '​q',​ /* quarterly */ 
-                             case '​S'​ : '​s',​ /* semimonthly */ 
-                             case '​T'​ : '​t',​ /* three times a year */ 
-                             case '​Z'​ : '​z',​ /* other */ 
-                           ​endsel,​ 
-      /* 19 regularidad */           '​|',​ 
-      /* 20 indef. */                '#',​ 
-      /* 21 tipo de R.C. */          '​p', ​ /* p: periodical */ 
-      /* 22 forma del original */    '#',​ 
-      /* 23 forma del ítem */        '#',​ 
-      /* 24 Nature of entire work */ '#',​ 
-      /* 25-27 Nature of contents */ '####',​ 
-      /* 28 Publ. gubernamental */   '#',​ 
-      /* 29 Publ. de conferencia */  '​0',​ 
-      /* 30-32 indef. */             '###',​ 
-      /* 33 Alfabeto original */     ​v340, ​ /* pasar a minúscula */ 
-      /* 34 Entry convention */      '​0',​ 
-      /* 35-37 idioma */             '​|||',​ /​*ref(['​idioma'​]l(['​idioma'​]v350[1]),​v2)*/ ​ /* tabla para mapear idiomas */ 
-      /* 38-39 */                    '​||',​ 
-    '​{',​ 
-    ​ 
-    /* 022 - ISSN */ 
-    if p(v400) then 
-      ( 
-        '​a022|##​^a',​v400,'​|',​ 
-      ) 
-    fi, 
-    ​ 
-    /* 210 - título abreviado */ 
-    if p(v150) then 
-      '​a210|0#​^a',​v150,'​|',​ 
-    fi, 
-    ​ 
-    /*041 - otros idiomas */ 
-    ​ 
-    /* 110/710 - puntos de acceso */ 
-    ​ 
-    /* 245 - título */ 
-    '​a245|0',​ 
-      if '~The ~Les ~Las ~Los ~' : v100.4 then '​4'​ else '​0',​ fi,  /* TO-DO: L'​Analyse */ 
-      '​^a',​v100,​ 
-      " :​^b"​v110,​ 
-      " =^b"​v230,​ 
-      "​.^n"​v120, ​  /* nro. de sección/​parte */ 
-      "​.^p"​v130, ​  /* título de sección/​parte */ 
-      " /​^c"​v140+|,​ |,  /* el v140 es correcto como mención de responsabilidad?​ */ 
-    '​.|',​ 
-    ​ 
-    /*246 - variantes de título */ 
-    if p(v240) then 
-      ( 
-        '​a246|3#​^a',​v240,'​|', ​  /* TO-DO: títulos paralelos (230) */ 
-      ) 
-    fi, 
-    ​ 
-    /* publicación */ 
-    '​a260|##',​ 
-      '​^a',​v490,​ 
-      ' :^b', v480, if a(v480) then v140+|, |, fi,  /* TO-DO: hay casos donde el editor está implícito, e.g. Rendiconti del Circolo Matematico di Palermo */ 
-      ',​^c',​ v301, '​-',​v304,​ " "n304, '​.', ​ /* TO-DO: usar sólo años (a veces hay meses, e.g. Bulletin of mathematical biophysics) */ 
-    '​|',​ 
-  ​ 
-    ​ 
-    /* 310 - frecuencia actual */ 
-    /* ¿cuándo usamos "​frecuencia varía"?​ */ 
-    /* TO-DO: ¿si no es ninguno de esos casos? */ 
-    '​a310|##​^a',​ 
-        select v380 
-          case '​A'​ : '​Anual',​ 
-          case '​B'​ : '​Bimestral',​ 
-          case '​E'​ : '​Quincenal', ​ /* ¿diferencia con S-bimensual?​ */ 
-          case '​F'​ : '​Semestral',​ 
-          case '​G'​ : '​Bienal',​ 
-          case '​K'​ : '​Irregular',​ 
-          case '​M'​ : '​Mensual',​ 
-          case '​Q'​ : '​Trimestral',​ 
-          case '​S'​ : '​Bimensual',​ 
-          case '​T'​ : '​Cuatrimestral',​ 
-          case '​Z'​ : //, /* otras frecuencias */ 
-        endsel, 
-        '​.',​ 
-    '​|',​ 
-    ​ 
-    /*362 - fechas/​designación secuencial */ 
-    '​a362|0#​^a',​ 
-      "Vol. "v302, 
-      if p(v302) and p(v303) then ', ' fi, 
-      "no. "v303, 
-      " ("​v301"​)",​ 
-      if p(v304) or p(v305) or p(v306) then 
-        ' - ', 
-        "Vol. "v305, 
-        if p(v305) and p(v306) then ', ' fi, 
-        "no. "v306, 
-        " ("​v304"​).",​ 
-      else 
-        '- .', 
-      fi, 
-    '​|',​ 
-    ​ 
-     /* 
-          610   ​168 ​     174 
-          620    31       31 
-          650     ​1 ​       2 
-          670     ​1 ​       1 
-          680     ​4 ​       7 
-          710   ​134 ​     135 
-          720    16       20 
-          770     ​5 ​       8 
-          780     ​4 ​       4 
-          790     ​4 ​       4 
-    */ 
-  ​ 
-    /* 780 - título anterior */ 
-    if p(v610) then 
-      '​a780|00^t',​replace(v610,'​^i','​^w'​),'​|',​ /* continuación */ 
-    fi 
-    if p(v620) then 
-      '​a780|01^t',​replace(v620,'​^i','​^w'​),'​|',​ /* continuación parcial */ 
-    fi 
-    if p(v650) then 
-      '​a780|05^t',​replace(v650,'​^i','​^w'​),'​|',​ /* absorbió */ 
-    fi 
-    if p(v660) then 
-      '​a780|06^t',​replace(v660,'​^i','​^w'​),'​|',​ /* absorbió en parte */ 
-    fi 
-    if p(v670) then 
-      '​a780|07^t',​replace(v670,'​^i','​^w'​),'​|',​ /* subdivisión de */ 
-    fi 
-    if p(v680) then 
-      '​a780|04^t',​replace(v680,'​^i','​^w'​),'​|',​ /* fusión de ... con ... */   /* TO-DO: generar un 580 */ 
-    fi 
-    ​ 
-    /* 785 - título siguiente */ 
-    if p(v710) then 
-      '​a785|00^t',​replace(v710,'​^i','​^w'​),'​|',​ /* continuado por */ 
-    fi 
-    if p(v720) then 
-      '​a785|01^t',​replace(v720,'​^i','​^w'​),'​|',​ /* continuado en parte */ 
-    fi 
-    if p(v750) then 
-      '​a785|04^t',​replace(v750,'​^i','​^w'​),'​|',​ /* absorbido por */ 
-    fi 
-    if p(v760) then 
-      '​a785|05^t',​replace(v760,'​^i','​^w'​),'​|',​ /* absorbido en parte por */ 
-    fi 
-    if p(v770) then 
-      '​a785|06^t',​replace(v770,'​^i','​^w'​),'​|',​ /* subdividido */    /* TO-DO: generar un 580 */ 
-    fi 
-    if p(v780) then 
-      '​a785|17^t',​replace(v780,'​^i','​^w'​),'​|',​ /* fusionado con */  /* TO-DO: generar un 580 */ 
-    fi 
-    if p(v790) then 
-      '​a785|17^t',​replace(v790,'​^i','​^w'​),'​|',​ /* para formar */    /* TO-DO: generar un 580 */ 
-    fi 
-    if p(v780) and p(v790) then 
-      '​a580|##​^aFusionado con ',​v780,'​ para formar ',​v790,'​.|',​ 
-    fi, 
-    ​ 
-    /* 856 - URL */ 
-    if v900^w : '​http'​ then 
-      '​a856|4#​^yAcceso online^u',​v900^w,'​|', ​ /* TO-DO: revisar texto del link. ¿Puede haber más de una URL por registro de SeCS? */ 
-    fi, 
-    ​ 
-    /* 866 - existencias */ 
-    if p(v98) then 
-      '​a866|#​0^a',​v98,'​|',​ 
-    fi, 
-</​code>​ 
migracion_de_secs_a_marc21.txt · Last modified: 05/05/2009 00:00 (external edit)