This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lenguaje_de_formateo [11/10/2006 19:32] fernando creado |
lenguaje_de_formateo [04/11/2009 00:00] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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 ''<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: | ||
+ | |||
+ | * [[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}} |