This is an old revision of the document!
Tipos de problemas que podemos detectar:
Relevamiento de los campos y caracteres presentes, usando mxf0.
Subcampos?
Campos de control:
Campos de datos:
Existencias:
Código fuente, versión 1.42: http://search.cpan.org/src/EIJABB/MARC-Lint-1.42/lib/MARC/Lint.pm
Necesita: MARC::Record, MARC::Field, MARC::Lint::CodeData
Module for storing MARC error checking subroutines, based on MARC 21, AACR2, and LCRIs. These are used to find errors not easily checked by the MARC::Lint and MARC::Lintadditions modules, such as those that cross field boundaries.
Podemos construir algo similar (pero con menos capacidades) basado en MX.
Para detección de posibles duplicados, ver Detección de registros bibliográficos duplicados.
De acuerdo con las reglas AACR2, en un registro bibliográfico no podemos tener más de un campo 1xx (que corresponde al punto de acceso principal). Mediante el siguiente comando podemos detectar en cuáles registros se ha violado dicha restricción:
mx biblio "pft=if size(v100.1,v110.1,v111.1,v130.1) > 1 then 'MFN: ',mfn,x5,'Registro: ',v1/|100: |v100/ |110: |v110/ |111: |v111/ |130: |v130/# fi" now lw=1000
También podemos hacer esa búsqueda desde Catalis, escribiendo esto en el formulario de búsqueda por condición booleana:
size(v100.1,v110.1,v111.1,v130.1) > 1
En el subcampo 100$d a veces se encuentran fechas entre paréntesis, o una forma más completa del nombre (que debe ir al 100$q).
$ mx biblio "pft=if v100^d:'(' then 'mfn:'mfn,x3,'reg:'v1,x3,v100/ fi" lw=1000 now