A Linguagem de Formatação para apresentação de valores

ABC do ABCD

Esta é de longe a mais importante função da Linguagem de Formatação: especificando exatamente quais dados precisam ser tomados e como serão “exibidos” ou “impressos” (para a tela, para uma impressora, para um arquivo, para uma página da web).

Existem documentos separados para lidar com esta linguagem extensa, por exemplo, o capítulo dedicado no Manual de Referência ISIS, publicado pela UNESCO (junho de 2004, capítulo 8, p. 94-122).

Basicamente, existem três tipos de declarações na LF ISIS:

  1. valores de campos, dados como: Vx, onde “V” representa o valor (ou “conteúdo”) de um campo com a tag “x”, Vx^a é o valor de um subcampo (^a), do campo x e (Vx/) é o conjunto de todas as ocorrências do campo x separados por uma “nova linha” (/), desde que o parêntese abrace um “grupo repetitivo” de instruções para serem aplicadas a todas as ocorrências (campos repetitivos são uma característica forte e especial do ISIS).
  2. literais ou strings, que podem ser ‘incondicionais’ (aspas simples), |condicionais| (barras verticais – pipes – indicam que a string só será produzida se o campo relacionado está presente) e “repetitivo” (aspas duplas só irá produzir a string na primeira ocorrência de um campo repetitivo).

Aplicativos ISIS na web, como o ABCD, criam páginas web com tags HTML, utilizando este método de acrescentar literais aos valores dos campos, por exemplo:

'<table><tr><td>' Vx '</td><td>' Vy '</td></tr></Table>'

Irá exibir respectivamente os campos X e Y em duas colunas de uma tabela em HTML. Note que todos os códigos HTML são cotados (como incondicionais) e os valores extraídos dos campos da base de dados são inseridos referindo-se a eles com a instrução V.

  1. comandos, que podem ser de diferentes tipos, por exemplo:
  2. comandos de Modo: mhl/u (modo cabeçalho em minúsculas/maiúsculas), mdl (modo de dados maiúsculas/minúsculas) ou mpl/u (modo de revisão maiúsculas/minúsculas);
  3. (em ambientes Windows): comandos de definição de atributos de tela (cores, fontes, caixas) ou links (solicitando ao sistema operacional para abrir outros dados, por exemplo, dados multimídia referenciados em um registro), por exemplo LINK (‘clique aqui para o texto integral’, OPENFILE Vx) irá pedir – quando o usuário clica no texto de hiperlink, ‘clique aqui para o texto integral’ – ao Windows para abrir o arquivo cujo nome está em Vx, com o aplicativo Windows associado à extensão do arquivo;
  4. o comando REF, que pode recuperar dados de outros registros (no mesmo ou em outra base de dados quando expressamente referenciada), permitindo implementar semi-relações em aplicações ISIS (mas com a vantagem de que a relação é estabelecida apenas em tempo de execução, quando requerida), por exemplo, Ref ([ ‘users’]) L ([ ‘users’]) V2, V1) irá recuperar o valor do campo 1 na base de dados ”users” se a função L(ookup) tenha encontrado o valor do campo 2 (na base de dados ativa) no índice da base de dados “users”, de modo que o MFN do registro possa ser identificado;
  5. declarações de roteamento condicional: por exemplo, construção ‘IF … THEN … (ELSE. …) FI’ ou mesmo o ‘SELECT [case1 case2 …];
  6. ElSECASE … ENDSEL pode ser usado para aplicar a formatação apenas às declarações de valores da base de dados que cumpram determinadas condições;
  7. no ambiente CISIS declarações extras da LF estão disponíveis, o mais importante é um comando que realmente irá processar um registro para alterar o conteúdo dos campos. A sintaxe geral é: proc(x|y. ..) onde x ou y pode ser qualquer um dos seguintes: ‘Dxxx’ (para apagar o campo com tag xxx) – | Axx#|valor|#| (para agregar o valor  xx ao campo);
  8. As funções, principalmente para operações de “strings” (por exemplo, substr, tamanho, valor) ou numéricas (por exemplo, rmin rmax, rsum …);
  9. A documentação completa sobre a Linguagem de Formatação está disponível, por exemplo, em “CISIS-Linguagem Formato” publicado pela BIREME.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *