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 20:22]
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 65: 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
  
  
Line 71: Line 74:
  
     size(v100.1,​v110.1,​v111.1,​v130.1) > 1     size(v100.1,​v110.1,​v111.1,​v130.1) > 1
-==== Fechas en el campo 100 ==== 
  
-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+==== Fechas en campos x00 ====
  
-FIXME Extender a todos los campos ​x00 (x1,6,7,8)+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).
  
-==== Campos 110 que deben ser 111 ====+<​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>​
  
-Nombres de conferencias cargados por error en un 110:+==== Campos x10 que deben ser x11 ====
  
-  $ mx biblio "​pft=if v110:'​^d'​ then '​mfn:'​mfn,​x3,'​reg:'​v1,/,​v110/#​ fi" now lw=500+Nombres de conferencias (x11) cargados por error en un x10:
  
-FIXME Extender a todos los x10/x11 (x: 1,6,7,8)+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 ==== ==== Entidades HTML ====
Line 92: Line 116:
  
 FIXME: explicar por qué se produce esto, qué efectos tiene, cómo se  corrige, y cómo se puede evitar. 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.1282346535.txt.gz · Last modified: 20/08/2010 00:00 (external edit)