Archivos ISO 2709 masticados con ISIS

Federico Bareilles .

fede@iar.unlp.edu.ar - v0.1, 15/03/2002


La biblioteca del Instituto Argentino de Radio Astronomía ( 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.

1. Download

Por ahora no se distribuye ningún binario, por lo que deberá compilarlo usted.

iso_tools-0.1.0.tar.gz: Estos son todos los fuentes.

readme.ps: Este texto en formato Post-Script.

readme.sgml: El fuente de este texto, o este texto sin "adornos".

2. Sobre el Código

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 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 (id2i).

Si el lector posee información sobre la codificación binaria del archivo maestro, y desea compartirla, está invitado a hacerlo.

3. El Software

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:

                                                               
                                                                     
               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"       

4. Instalación

Obtenga el archivo con los fuentes iso_tools.X.X.X.tar.gz; Luego descomprímalo y ábralo:


$ tar xzf camino/al/archivo/iso_tools-0.1.0.tar.gz
$

luego compílelo:
$ cd iso_tools/
$ make
gcc -c iso2709.c
gcc iso2txt.c iso2709.o -o iso2txt
$ 

Si está "logeado" como usuario root, tipee "make install" para instalarlo en "/usr/local/bin/". Si no es el root del sistema o desea instalarlo en otro lugar, tipee "make INSTALL_DIR=dir_destino install"; por ejemplo:
$ make INSTALL_DIR=/home/fede/bin install 
$ 

Asegúrese de que el programa "id2i " esté en su PATH.

5. Uso y mensajes

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á test.iso

5.1 Paso de .iso a .mst

Simplemente ejecutamos "iso2mst test.iso", y obtenemos:


[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

hasta acá sólo se identifica el programa...
*** 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 

Ops!!! Por algún oscuro motivo ISIS pone algunos nulos (0) donde debería poner un espacio (???). iso2txt hace los reemplazos.
*** 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]$

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.