Archivos ISO 2709 masticados con ISIS <author>Federico Bareilles <!-- #if output=html> , <tt/fede@iar.unlp.edu.ar/ </#if -->. <date>fede@iar.unlp.edu.ar - v0.1, 15/03/2002 <abstract> La biblioteca del Instituto Argentino de Radio Astronomía (<url url="http://www.iar.unlp.edu.ar" name="IAR">), se ha encontrado con algunos problemas al intentar exportar la base de datos de ISIS al formato ISO 2709. En este texto se describen las herramientas utilizadas para su reparación. </abstract> <!-- <toc> --> <#if output=html> <sect>Download <p> Por ahora no se distribuye ningún binario, por lo que deberá compilarlo usted. <p><htmlurl url="http://www.iar.unlp.edu.ar/~fede/pub/biblio/iso_tools-0.1.0.tar.gz" name="iso_tools-0.1.0.tar.gz">: Estos son todos los fuentes. <htmlurl url="http://www.iar.unlp.edu.ar/~fede/pub/biblio/readme.ps" name="readme.ps">: Este texto en formato Post-Script. <htmlurl url="http://www.iar.unlp.edu.ar/~fede/pub/biblio/readme.sgml" name="readme.sgml">: El fuente de este texto, o <htmlurl url="http://www.iar.unlp.edu.ar/~fede/html/iso2709.html" name="este texto"> sin "adornos". </#if> <!-- --> <sect>Sobre el Código <p> El código escrito en el IAR, y este texto, están cubiertos por la Licencia Pública General de GNU (GPL) versión 2. Para poder obtener el archivo maestro final es necesario utilizar herramientas que no tienen licencia GPL, y su código no se encuentra disponible. Este programa es <it/id2i/, y posee Copyright de BIREME/PAHO. Supongo que cualquiera que desee llevar el archivo maestro a otra plataforma como UNIX, debe poseer tal programejo (<it/id2i/). Si el lector posee información sobre la codificación binaria del archivo maestro, y desea compartirla, está invitado a hacerlo. <!-- --> <sect>El Software <p> Este código fue implementado en unas pocas horas de trabajo, y no es ninguna maravilla; lo estamos poniendo a disposición del público, simplemente porque puede serle de utilidad a otro. El siguiente esquema, muestra lo que se pretende resolver: <verb> Portable a todas las plataformas ___/\____ / \ +--------+ +--------+ +--------+ +--------+ +--------+ |Archivo | | ISO | |Formato | |Tipo "i"| |Archivo | |MaeSTro |--->|corrupto|--->|de texto|--->|corregi-|--->|MaeSTro | |DOS+WIN | ^ |de ISIS | ^ |tipo "i"| ^ |do | ^ | Linux | +--------+ | +--------+ | +--------+ | +--------+ | +--------+ | | | | Programa: ISIS iso2txt filtros id2i varios (to8859-1) \_______________________ ___________________________/ \/ Automatizado en el script "iso2mst" </verb> <itemize> <item><bf/ISIS/: de algún modo con <bf/ISIS/ se exporta la base de datos en formato ISO 2709. Se supone que sabe realizar ésto. <item><bf/iso2txt/: Este programa transforma el formato ISO a uno de texto que puede ser editado a mano. El formato es el mismo que generaría el programa <bf/id2i/. <item><bf/to8859-1/: Este nombre es un tanto ostentoso, pero sí intenta llevar los caracteres á,é,í,ó,ú,ñ y Ñ a latin 1; usted puede personalizar este <it>script</it> para realizar todos los intercambios de caracteres o reemplazos de cadenas que desee. <item><bf/id2i/: El utilitario de BIREME que construye el archivo maestro (.mst) en la nueva plataforma (Linux en este caso). <item><bf/iso2mst/: Este es el <it/script/ que automatiza todo el proceso de transformación, tratando de que sea lo más automático posible. </itemize> <!-- --> <sect>Instalación <p> Obtenga el archivo con los fuentes <tt>iso_tools.X.X.X.tar.gz</tt>; Luego descomprímalo y ábralo: <code> $ tar xzf camino/al/archivo/iso_tools-0.1.0.tar.gz $ </code> luego compílelo: <code> $ cd iso_tools/ $ make gcc -c iso2709.c gcc iso2txt.c iso2709.o -o iso2txt $ </code> Si está "logeado" como usuario root, tipee "<tt>make install</tt>" para instalarlo en "<tt>/usr/local/bin/</tt>". Si no es el root del sistema o desea instalarlo en otro lugar, tipee "<tt>make INSTALL_DIR=dir_destino install</tt>"; por ejemplo: <code> $ make INSTALL_DIR=/home/fede/bin install $ </code> Asegúrese de que el programa "<tt>id2i </tt>" esté en su <tt>PATH</tt>. <!-- --> <sect> Uso y mensajes <p> Por los medios que le sean más cómodos lleve el archivo ISO obtenido con ISIS al lugar donde lo trabajará. En nuestro caso el archivo será <tt>test.iso</tt> <sect1>Paso de <tt>.iso</tt> a <tt>.mst</tt> <p> Simplemente ejecutamos "<tt>iso2mst test.iso</tt>", y obtenemos: <code> [fede@libertad tmp]$ iso2mst test.iso iso2txt 0.1.0 ISO 2709 to text convert Copyright 2002 Federico Bareilles <http://www.iar.unlp.edu.ar/~fede/iso2709.html> License: GPL; see http://www.gnu.org/ for details This is free software with ABSOLUTELY NO WARRANTY </code> hasta acá sólo se identifica el programa... <code> *** Warning get_registro(): NULL detect on input line: science instrumentation ISSN = 0377-7936> Ødynamics ISSN = 0010-9509> -- <Space *** Warning get_registro(): NULL detect on input line: #Suplemento: Experimental astronomy#^ Ø6> dynamics ISSN = 0010-9509> -- <Space </code> Ops!!! Por algún oscuro motivo ISIS pone algunos nulos (0) donde debería poner un espacio (???). <tt>iso2txt</tt> hace los reemplazos. <code> *** Corrupted register: 00710000000000265000450000800040000001500180000403500320002203600450005403700220 00990440023001210400003001440400003001470400003001500450003001530480007001560850 09600163082003500259086004700294065001200341065001100353065002500364080004000389 090000400429003001100433#IMP#^tISSN^n0004-640X#Astrophysiscs and space science#< rnational journal of cosmic physics#Astrophys. space sci.#^lDordrecht^eD. Reidel IMENS#<Cosmic electrodynamics ISSN = 0010-9509> -- <Space science instrumentatio ISSN = 0377-7936> dynamics ISSN = 0010-9509> -- <Space #Suplemento: Experimental astronomy#^ 6> dynamics ISSN = 0010-9509> -- <Space thttp://www.wkap.nl/journalhome.htm/0004-6 40X#ASTROFISICA#ASTRONOMIA#PUBLICACION register end. *** *** Error get_registro(): bad register read. status reg [0]: R ES PERIODICAS#^cBRS^e1968/1991^sC^f1968-1999^dREST^tJ#CEB#2001 11 06#| [fede@libertad tmp]$ </code> Algo mucho más extraño aun: Pueden aparecer registros ISO con el área de datos mal construída; ISIS pone 0x0a donde debería poner 0x5e (^). Esto ocurre aparentemente cuando un descriptor de campo (o subcampo) coincide con el fin de línea del ISO (80 caracteres); pero aun no estoy seguro. Por el momento, estos registros son descartados, y deberán repararse a mano. <!-- --> </article>