Lenguaje de formateo

El lenguaje de formateo ISIS es un lenguaje de programación que permite manipular los datos almacenados en las bases ISIS. A veces se encuentran también estas variantes del nombre: lenguaje de formato, lenguaje de formatos.

Los programas que se escriben usando este lenguaje se suelen denominar formatos. Debido a la convención de usar .pft como extensión para los archivos de formatos, también es común referirse a los formatos con el nombre PFT (e.g., “escribir un PFT”).

Tradicionalmente, el lenguaje de formateo ha tenido dos aplicaciones principales:

controlar la manera en que se presentan los datos de un registro, ya sea en la pantalla o en una salida por impresora (formatos de visualización), y

extraer datos de un registro mediante una FST, ya sea para generar las claves que se envían al diccionario de la base, o bien para reformatear registros durante una importación o una exportación.

Implementaciones

La evolución de la familia ISIS ha dado lugar a diferentes implementaciones de este lenguaje.

MicroISIS

Winisis

CISIS

La biblioteca CISIS, desarrollada por Bireme, implementó algunas extensiones al lenguaje de formateo, las cuales están disponibles en la familia de productos basados en dicha biblioteca: Utilitarios CISIS, ISIS DLL, WWWISIS, WXIS, etc.

Algunas de las extensiones CISIS aumentan de manera significativa la capacidad del lenguaje; por ejemplo, la función proc() permite crear campos, lo que significa que, dentro de un formato, se pueden definir variables; la función system() permite ejecutar comandos del sistema operativo subyacente; la función cat() permite leer archivos de texto.

De esta manera, ha sido posible utilizar formatos CISIS para llevar a cabo tareas de relativa complejidad, como por ejemplo migraciones de bases de datos a MARC 21.

El lenguaje de formateo CISIS es, por otra parte, un ingrediente fundamental para escribir IsisScripts (los scripts CGI que interpreta el programa WXIS). La marca &lt;pft> se utiliza en un IsisScript para delimitar un formato; un ejemplo es el siguiente:

<field action="replace" tag="350">
<pft>if val(v25) > 10 then 'A' else 'B' fi</pft>
</field>

donde el resultado de evaluar el formato if val(v25) > 10 then 'A' else 'B' fi es asignado al campo 350.

Documentación

El lenguaje de formateo original para MicroISIS se encuentra documentado en forma detallada en el Capítulo 4 del Manual de Referencia de MicroISIS. (Una descripción formal del lenguaje, en notación de Backus-Naur, puede encontrarse en el Apéndice E del mismo manual.) Este manual está disponible en forma impresa, y también puede accederse en línea:

Capítulo 4

Apéndice E

La implementación CISIS del lenguaje de formateo ha sido documentada en una referencia disponible en línea, en dos idiomas:

Lenguaje de Formato CISIS

CISIS Formatting Language