====== 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 **[[formato]]s**. 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 '''' se utiliza en un IsisScript para delimitar un formato; un ejemplo es el siguiente: if val(v25) > 10 then 'A' else 'B' fi 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: * [[http://www.cindoc.csic.es/isis/c4.htm|Capítulo 4]] * [[http://www.cindoc.csic.es/isis/ap-e.htm|Apéndice E]] La implementación CISIS del lenguaje de formateo ha sido documentada en una referencia disponible en línea, en dos idiomas: * [[http://productos.bvsalud.org/reference/pt/format34_es.htm|Lenguaje de Formato CISIS]] * [[http://productos.bvsalud.org/reference/en/format34.htm|CISIS Formatting Language]] {{tag>isis}}