User Tools

Site Tools


controles_de_calidad

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
controles_de_calidad [20/08/2010 14:45]
fernando
controles_de_calidad [01/09/2011 00:00] (current)
Line 4: Line 4:
 Tipos de problemas que podemos detectar: Tipos de problemas que podemos detectar:
  
-  * ausencia ​de elementos obligatorios +  * Ausencia ​de elementos obligatorios 
-  * presencia ​de elementos incorrectos/​inválidos +  * Presencia ​de elementos incorrectos/​inválidos 
-  * puntuación ​incorrecta +  * Puntuación ​incorrecta. Ejemplos: " )" (espacio antes de paréntesis) 
-  * espacios ​en blanco?+  * Espacios ​en blanco?
  
 Relevamiento de los campos y caracteres presentes, usando mxf0. Relevamiento de los campos y caracteres presentes, usando mxf0.
Line 37: Line 37:
   * 859   * 859
  
 +
 +Ver la discusión //unwanted (bogus) characters in marc//, en code4lib:
 +http://​serials.infomotions.com/​code4lib/​archive/​2010/​201010/​index.html
  
 ===== Herramientas basadas en Perl ===== ===== Herramientas basadas en Perl =====
Line 52: Line 55:
  
 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. 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.
- 
- 
 ===== Herramientas basadas en MX ===== ===== Herramientas basadas en MX =====
  
Line 67: Line 68:
 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:​ 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+  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=500 
 + 
 + 
 +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 
 + 
 + 
 +==== Fechas en campos x00 ==== 
 + 
 +En el subcampo x00$d (x=1,6,7,8) a veces se encuentran fechas entre paréntesis,​ o una forma más completa del nombre (que debe ir al x00$q). 
 + 
 +<​code>​ 
 +mx biblio "​pft=if v100^d:'​('​ then '​mfn:'​mfn,​x3,'​reg:'​v1,​x3,​|100:​ |v100/ fi" lw=500 now 
 +mx biblio "pft=( if v600^d:'​('​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],​x3,​|600:​ |v600/ fi )" lw=500 now 
 +mx biblio "pft=( if v700^d:'​('​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],​x3,​|700:​ |v700/ fi )" lw=500 now 
 +mx biblio "pft=( if v800^d:'​('​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],​x3,​|800:​ |v800/ fi )" lw=500 now 
 +</​code>​ 
 + 
 +==== Campos x10 que deben ser x11 ==== 
 + 
 +Nombres de conferencias (x11) cargados por error en un x10: 
 + 
 +FIXME **Atención:​ Es correcto usar un x10 para el nombre de una reunión, cuando el punto de acceso se establece usando el nombre de una entidad corporativa. Así que este método puede estar encontrando solamente falsos positivos. 
 +** 
 +<​code>​ 
 +mx biblio "​pft=if v110:'​^d'​ then '​mfn:'​mfn,​x3,'​reg:'​v1,/,​|110:​ |v110/# fi" now lw=500 
 +mx biblio "pft=( if v610:'​^d'​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|610:​ |v610/# fi )" now lw=500 
 +mx biblio "pft=( if v710:'​^d'​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|710:​ |v710/# fi )" now lw=500 
 +mx biblio "pft=( if v810:'​^d'​ then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|810:​ |v810/# fi )" now lw=500 
 +</​code>​ 
 + 
 +==== Orden de subcampos ==== 
 + 
 +En un campo x00, el subcampo $d no puede estar ubicado antes de un subcampo $q: 
 + 
 +<​code>​ 
 +mx biblio "​pft=if v100:'​^d'​ and v100:'​^q'​ and instr(v100,'​^d'​) < instr(v100,'​^q'​) then '​mfn:'​mfn,​x3,'​reg:'​v1,/,​|100:​ |v100/ fi" now lw=500 
 +mx biblio "pft=( if v600:'​^d'​ and v600:'​^q'​ and instr(v600,'​^d'​) < instr(v600,'​^q'​) then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|600:​ |v600/ fi )" now lw=500 
 +mx biblio "pft=( if v700:'​^d'​ and v700:'​^q'​ and instr(v700,'​^d'​) < instr(v700,'​^q'​) then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|700:​ |v700/ fi )" now lw=500 
 +mx biblio "pft=( if v800:'​^d'​ and v800:'​^q'​ and instr(v800,'​^d'​) < instr(v800,'​^q'​) then '​mfn:'​mfn,​x3,'​reg:'​v1[1],/,​|800:​ |v800/ fi )" now lw=500 
 +</​code>​ 
 + 
 +==== Entidades HTML ==== 
 + 
 +  mx biblio "​text/​show=&#"​ now 
 + 
 +FIXME: explicar por qué se produce esto, qué efectos tiene, cómo se  corrige, y cómo se puede evitar. 
 + 
 + 
 +==== Verificación de URLs ==== 
 + 
 +Si bien puede haber URLs en otros campos, lo más común es que aparezcan en el 856. Aquí generamos un archivo HTML con los siguientes datos para cada registro que contiene un campo 856: 
 + 
 +  * campo 001 
 +  * campo 991 (ID del catalogador) 
 +  * campo 245 
 +  * todas las ocurrencias del campo 856 
 + 
 +<​code>​ 
 +mx biblio "​pft=if p(v856) then \ 
 +   '<​p>',​v1,'​ ['​v991'​]<​br>'/,​ \ 
 +   ​proc('​a1000~',​replace(v245*3,'​^','​~a1000~'​),'​~'​),​ (x1,​v1000*1),'<​br>'/,​ \ 
 +   ( x1,v856^3|: |, |<a href='​|v856^u|'>​|v856^u|</​a><​br>​|/​ )#, \ 
 +   '</​p>'/​ \ 
 +   ​fi"​ \ 
 +   now lw=300 > campo856.html 
 +</​code>​
  
 +El archivo HTML resultante se puede analizar con cualquier herramienta para verificación de links, p.ej. http://​validator.w3.org/​checklink/​
  
 {{tag>​marc}} {{tag>​marc}}
controles_de_calidad.1282326319.txt.gz · Last modified: 20/08/2010 00:00 (external edit)