Importación de registros en Catalis
Estas son ideas para tener en cuenta en la siguiente implementación de esta función en Catalis.
¿Registro individual, o lote de registros?
INTERFAZ
activación de la función “Importar”: mediante un botón, menú, o combinación de teclas
diálogo: para que el usuario pueda indicar qué registro desea importar
modo de ingreso del registro: pegar texto, ingresar
URL
[config] opciones: p.ej. la codificación del registro (si se conoce)
ENTRADA
tipo de registro: bibliográfico, autoridades. Tenemos que poder procesar al menos esos dos tipos.
estructura: iso 2709, xml, json, … No sé si hay algún estandar para JSON; en los otros casos no debería haber problemas.
formato: marc21, xmlmarc, ibermarc, … En España usan Ibermarc, y aquí hay interés en tomar registros de la BNE.
PROCESO
parseo: dependerá de la estructura (ver arriba)
recodificación: Necesitamos afinar las tablas de mapeo a latin-1, y decidir qué hacer con los caracteres no mapeables.
[config] modificaciones al registro (borrar, cambiar, agregar datos): revisar las ya implementadas, estudiar si se necesitan nuevas.
[config] validaciones: ¿podemos esperar a que el registro sea grabado en la base para someterlo a las mismas validaciones que a cualquier otro registro, o aplicamos validaciones al momento de importar?
SALIDA
registro listo para editar: ¿un objeto MarcRecord?
mensajes al usuario: sobre las modificaciones hechas, sobre lo que queda por hacer…
log: se puede generar (y almacenar) un log de cada importación, con todos los datos que se desee guardar.
IBERMARC
[Lo que sigue es un archivo del 02 de marzo de 2006]
Registros ISO 2709 de la BNE (IBERMARC)
Testeo con registros:
BNE19940336901: Hacienda pública teórica y aplicada (1994)
Puntuación al comienzo de algunos subcampos: 245$b
Añadir punto final: 240$a, 700
Caracteres con diacríticos: “á”
Otros caracteres especiales: “®” por “ª”
ISBN con guiones
300 $a: números romanos pasarlos a minúsculas
Campo 504: “Bibliografía.” ⇒ “Incluye referencias bibliográficas.”
650$j ??
Eliminar: campo 019
Campo 008:
15-17 (país) mapear tabla
18-21: si la pos. 18 contiene “|” ⇒ pongo “####” en 18-21
22: “/” ⇒ “#”
23: “/” ⇒ “#”
24-27: si la pos. 24 contiene “|” ⇒ pongo “####” en 24-27
28: “/” ⇒ “#”
38: “/” ⇒ “#” o “|”