User Tools

Site Tools


lenguaje_de_formateo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
lenguaje_de_formateo [04/11/2009 00:00]
lenguaje_de_formateo [04/11/2009 16:05]
fernando
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}}
lenguaje_de_formateo.txt · Last modified: 04/11/2009 00:00 (external edit)