4D v16.3

PROCESS 4D TAGS

Página Inicial

 
4D v16.3
PROCESS 4D TAGS

PROCESS 4D TAGS 


 

PROCESS 4D TAGS ( dadosEntrada ; dadosSaida {; param}{; param2 ; ... ; paramN} ) 
Parâmetro Tipo   Descrição
dadosEntrada  Texto, BLOB in Dados que contém as etiquetas HTML a processar
dadosSaida  Texto, BLOB in Dados processados
param  Texto, Número, Data, Hora, Ponteiro, Booleano in Parâmetros passados ao template sendo executado

O comando PROCESS 4D TAGS provoca o processamento das etiquetas de transformação 4D contidas em dadosEntrada (campo ou variável de tipo Texto ou BLOB) enquanto opcionalmente insere valores utilizando os valores via os parâmetros param e retorna os dados resultantes em dadosSaida. Para uma descrição completa das etiquetas, veja Etiquetas HTML 4D

Este comando permite executar um texto de tipo "template" que contém as etiquetas e as referências as expressões ou variáveis 4D e produz um resultado dependendo do contexto de execução e/ou dos valores passados em parâmetro.

Por exemplo, pode utilizar este comando para gerar e guardar as páginas HTML baseadas em páginas semi-dinâmicas que contém as etiquetas de transformação 4D (sem que seja necessário que o servidor Web de 4D se inicie). Pode utilizar para enviar mensagens de e-mail em formato HTML que contenham processamentos e/ou referências aos dados contidos na base através de 4D Internet Commands. É possível processar qualquer tipo de dados baseados ​​em texto, tais como XML, SVG ou texto multi-estilo.

Passe os dados que contém as etiquetas a processar no parâmetro dadosEntrada. Este parâmetro pode ser um campo ou uma variável de tipo Texto ou BLOB. O tipo Texto é geralmente suficiente (os parâmetros podem receber até 2 GB de texto).

Nota de compatibilidade: A partir da versão 12 de 4D, quando utilizar parâmetros de tipo BLOB, o comando considera automaticamente que o conjunto de caracteres utilizado por os BLOBs é MacRomam. Para maior eficiência, se recomenda utilizar os parâmetros de tipo Texto para os quais os processos se realizam em modo Unicode.

Todas as etiquetas de transformação de 4D são compatíveis (4DTEXT, 4DHTML, 4DSCRIPT, 4DLOOP, 4DEVAL, etc.),,

Nota: Quando utilizar a etiqueta 4DINCLUDE fora do marco do servidor web (processo web):
  • Com 4D em modo local ou 4D Server, a pasta por padrão é a pasta que contém o arquivo de estrutura do banco,
  • Com 4D em modo remoto, a pasta por padrão é a pasta que contém a aplicação 4D.

O comando PROCESS 4D TAGS suporta um número indefinido de parâmetros param que podem ser inseridos no código que se executa. Igualmente com os métodos projeto, tais parâmetros podem conter valores escalares de tipos variados (texto, data, hora, inteiro longo, real, etc). Também pode utilizar os arrays, por meio de ponteiros de arrays. Dentro do código processado pelas etiquetas 4D, estes parâmetros são acessíveis por meio de argumentos padrão ($1, $2, etc.), igual que nos métodos 4D (ver exemplo).

Um conjunto dedicado de variáveis locais se define no contexto de execução do comando PROCESS 4D TAGS. Estas variáveis podem ser escritas ou lidas durante o processamento.

Nota de Compatibidade: Em versões anteriores de  4D, variáveis locais definidas no contexto de chamada podem ser acessadas em  PROCESS 4D TAGS no contexto de execução no modo interpretado . A partir de 4D v14 R4, este não é mais o caso.

Depois da execução do comando, o parâmetro dadosSaida recebe os dados do parâmetro dadosEntrada, junto com o resultado do processo das etiquetas HTML 4D que contém, quando aplicável. Se dadosEntrada não contiver etiquetas HTML 4D, o conteúdo de dadosSaida é idêntico ao de dadosEntrada.

O parâmetro dadosSaida pode ser um campo ou uma variável, mas deve ser do mesmo tipo que o parâmetro dadosEntrada.

Nota: este comando já não chama ao On Web Authentication database method.

Este exemplo carrega um documento de tipo 'template', processa as etiquetas que contiver e depois o guarda:

 C_BLOB($Blob_x)
 C_BLOB($blob_out)
 C_TEXT($inputText_t)
 C_TEXT($outputText_t)
 
 DOCUMENT TO BLOB("meutemplate.txt";$Blob_x)
 $inputText_t:=BLOB to text($Blob_x;UTF8 text without length)
 PROCESS 4D TAGS($inputText_t;$outputText_t)
 TEXT TO BLOB($outputText_t;$blob_out;UTF8 text without length)
 BLOB TO DOCUMENT($document;$blob_out)

Este exemplo gera um texto utilizando os dados dos arrays:

 ARRAY TEXT($array;2)
 $array{1}:="hello"
 $array{2}:="world"
 $input:="<!--#4DEVAL $1-->"
 $input:=$input+"<!--#4DLOOP $2-->"
 $input:=$input+"<!--#4DEVAL $2->{$2->}--> "
 $input:=$input+"<!--#4DENDLOOP-->"
 PROCESS 4D TAGS($input;$output;"elements = ";->$array)
  // $output = "elements = hello world"



Ver também 

Etiquetas HTML 4D

 
PROPRIEDADES 

Produto: 4D
Tema: Ferramentas
Número 816

This command can be run in preemptive processesComportamento diferente em modo remoto

 
HISTÓRIA 

Criado por: 4D 2004
Modificado: 4D v11 SQL
Modificado: 4D v12
Renomear: 4D v13
Modificado: 4D v14 R4

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)