'/ fi,
'| 0 then 'class="AC"' fi,
'>',v10,';',
if ref(['UC']mfn,v1) <> v10 then
' ',ref(['UC']mfn,v1),';',
fi,
' | '/
Esta es la tabla resultante:
{{tables.png?250}}
==== Utilitarios CISIS ====
* General: MX
* Para archivo maestro: MXF0, MXTB, MXCP, MXGW, MSRT, RETAG, CTLMFN, MKXRF, ID2I, I2ID
* Para archivo invertido: IFKEYS, MZ, IFLOAD, IFUPD, MYZ
* Características de los utilitarios versión 5.
=== Lenguaje de formateo ===
Repaso general. Ejemplos "interesantes": ref(), l(), grupos repetibles, cat(), llamadas a formatos externos (@), getenv() y putenv(), proc(), system()
* [[http://www.cindoc.csic.es/isis/c4.htm|Capítulo 4: Lenguaje de formateo]]
* [[http://productos.bvsalud.org/reference/pt/format34_es.htm|Lenguaje de Formato CISIS]]
* Formatos de visualización
* FST. Técnicas de indización. Testeo de una FST.
* [[http://www.cindoc.csic.es/isis/c5.htm|Capítulo 5: Tabla de Selección de Campos (FST)]]
=== Aplicaciones usuales ===
* Análisis básico con mxf0. Tabla HTML con la información obtenida. Caracteres usualmente mal empleados (grado, acento agudo). Detección de caracteres (text/show, grep) en Windows/Linux. En Ubuntu con UTF-8, hago esto:
i2id biblio > bibima.latin1.id
iconv -f latin1 -t utf-8 bibima.latin1.id > bibima.utf8.id
grep 'ß' bibima.utf8.id
Alternativamente, en Gnome terminal puedo seleccionar un character encoding adecuado (e.g. Windows 1252), y así ver los datos de la base en forma correcta, e incluso usar text/show sin problemas. Queda pendiente: cómo detectar caracteres de control.
Idea para mostrar los nombres de los campos MARC en la tabla de mxf0:
wget http://www.loc.gov/marc/bibliographic/ecbdlist.html
grep '^ \{0,4\}[0-9][0-9][0-9] -' ecbdlist.html | grep -v OBSOLETE | grep -v 'LOCAL]' | sed 's/ (R)/|R/' | sed 's/ (NR)/|NR/' | sed 's/ - /|/' > marc-fields.seq
mx seq=marc-fields.seq create=marc-fields now -all
mxcp marc-fields clean
mx marc-fields "fst=1 0 v1" fullinv=marc-fields
Una vez creada la base marc-fields, se puede usar ref+l para tomar los nombres de los campos e incluirlos en la tabla.
* Generación de listados (mx, mxtb)
* Detección de duplicados en un listado (mx)
* Conteo de registros (?)
* Compresión de archivo maestro (mx)
* Cambios globales (mx)
* Bases estropeadas, registros corruptos. Detección y soluciones.
* Importación de datos desde archivos de texto
* Limpieza (mxcp)
* Métodos para ordenar datos:
* con el diccionario
* msrt
* sort (ms-dos, linux)
=== Errores/problemas usuales/tips ===
* no especificar un valor grande para lw
* elección de delimitador en los proc
* no desactivar el modo mpu
* no usar f(.,.,.) para datos numéricos
* tratamiento inapropiado de campos repetibles, al testear una condición o al visualizar
* usar versiones viejas de los utilitarios
* creer que el MFN es inmutable
* perder o alterar datos al exportar en formato ISO
* transferir datos entre plataformas sin previa conversión
* text/show: distingue mayúsculas, sólo informa 1ra ocurrencia. Cómo trata a los caracteres con código > 127.
* las tablas ACTAB y UCTAB (y, por lo tanto, la correcta generación del diccionario) dependen de la codificación empleada
* ¿Qué pasa con los registros borrados al compactar una base?
* orden de aplicación de gizmos
* atajos en formatos: se me ocurren dos ejemplos, el de Claudio para detectar registros sin fecha, y el de Spinak para comprimir varios OR ('A|B|C|D':v1)
==== MARC 21 ====
* qué es exactamente el formato MARC 21, y qué es un registro MARC 21; documentos básicos
* relación entre AACR2 y MARC 21
* representación de registros MARC en bases CDS/ISIS; convenciones de Catalis, comparación con otras aplicaciones
* iso2709 de isis no es iso 2709 de marc; cómo ir y volver
* el orden de los campos importa
* la maldición de la puntuación
* la codificación MARC-8
* indización de registros MARC: ''biblio.fst''
* visualización de registros MARC
* subcampos repetibles: problemas y soluciones
* controles de calidad sobre bases MARC
* otras herramientas para manipular registros MARC: MarcEdit
* Estudio de scripts de cierta complejidad, con sus pft asociados: ''[[:update-opac.sh]]'', ''auto.sh''
* Ejemplos de migración a MARC 21: ABCI y SeCS. CEPAL?
* Ejercitación sobre bases de datos propias y bases de Catalis.
* ¿Ejercicio con los logs de Catalis o el OPAC?
* Malete/GNI?
==== Catalis ====
* Diagrama para visualizar el funcionamiento.
* Remote scripting con iframe oculto.
* ¿Algo sobre manipulación del DOM?
* Problemas por resolver: registros largos, corrupción de registros, codificación de caracteres
==== OPACMARC ====
* Bases auxiliares: name, subj, title. Cómo se generan. El script ''update-opac.sh''.
* Diagrama para visualizar el funcionamiento
===== Equipamiento y software necesarios =====
PC para el docente y una PC por alumno. Proyector.
Navegador web, utilitarios CISIS, Catalis, OPACMARC.
===== Notas durante el curso =====
=== Grupos repetibles ===
mx biblio "proc='a999|2|'" "pft=(if iocc=val(v999) then v650/ fi)"
mx biblio "proc='a999|2|'" "pft=(if iocc=val(v999[1]) then v650/ fi)"
mx tmp "pft=s('uno','dos','tres').5"
mx biblio "proc=if v245^a.4='The ' and v245*1.1 <> '4' then 'd245a245|',v245.1,'4',v245*2,'|' fi "
Reemplazo del subcampo v82^2:
mx biblio "proc=@campo82.prc" pft=v82
if p(v82^2) then
'd82a82|',
replace(
v82,
s('^2'v82^2),
'^221'),
'|'
fi
{{tag>isis marc}}