4D v16.3

PROCESS 4D TAGS

Inicio

 
4D v16.3
PROCESS 4D TAGS

PROCESS 4D TAGS 


 

PROCESS 4D TAGS ( plantillaEntrada ; datosSalida {; param}{; param2 ; ... ; paramN} ) 
Parámetro Tipo   Descripción
plantillaEntrada  Texto, BLOB in Datos que contiene las etiquetas a tratar
datosSalida  Texto, BLOB in Datos procesados
param  Texto, Número, Fecha, Hora, Puntero, Booleano in Parámetros pasados a la plantilla en ejecución

El comando PROCESS 4D TAGS provoca el procesamiento de las etiquetas de transformación 4D contenidas en el parámetro plantillaEntrada (campo o variable de tipo Texto o BLOB) mientras opcionalmente inserta valores utilizando los valores vía los parámetros param y devuelve los datos resultantes en datosSalida.Para una descripción completa de estas etiquetas, consulte la sección Etiquetas de transformación 4D.

Este comando permite ejecutar un texto de tipo "template" que contiene las etiquetas y las referencias a las expresiones o variables 4D y produce un resultado dependiendo del contexto de ejecución y/o de los valores pasados en parámetro.

Por ejemplo, puede utilizar este comando para generar y guardar las páginas HTML basadas en páginas semi-dinámicas que contienen las etiquetas de transformación 4D (sin que sea necesario que el servidor Web de 4D se inicie). Puede utilizarlas para enviar mensajes de correo electrónico en formato HTML que contengan procesamientos y/o referencias a los datos contenidos en la base a través de 4D Internet Commands. Es posible procesar cualquier tipo de datos basados ​​en texto, tales como XML, SVG o texto multi-estilo.

Pase los datos que contienen las etiquetas a procesar en el parámetro plantillaEntrada. Este parámetro puede ser un campo o una variable de tipo Texto o BLOB. El tipo Texto por lo general es suficiente (los parámetros pueden recibir hasta 2 GB de texto).

Nota de compatibilidad: a partir de la versión 12 de 4D, cuando utiliza parámetros de tipo BLOB, el comando considera automáticamente que el conjunto de caracteres utilizado por los BLOBs es MacRoman. Para mayor eficiencia, se recomienda utilizar los parámetros de tipo Texto para los cuales los procesos se efectúan en modo Unicode.

Todas las etiquetas de transformación de 4D son soportadas (4DTEXT, 4DHTML, 4DSCRIPT, 4DLOOP, 4DEVAL, etc.),

Nota: en caso de utilizar la etiqueta 4DINCLUDE fuera del marco del servidor web (proceso web):

  • Con 4D en modo local o 4D Server, la carpeta por defecto es la carpeta que contiene el archivo de estructura de la base,
  • Con 4D en modo remoto, la carpeta por defecto es la carpeta que contiene la aplicación 4D.

El comando PROCESS 4D TAGS soporta un número indefinido de parámetros param que se pueden insertar en el código que se ejecuta. Al igual que con los métodos proyecto, dichos parámetros pueden contener valores escalares de tipos variados (texto, fecha, hora, entero largo, real, etc). También puede utilizar los arrays, por intermedio de punteros de arrays. Dentro del código procesado por las etiquetas 4D, estos parámetros son accesibles por medio de argumentos estándar ($1, $2, etc.), al igual que en los métodos 4D (ver ejemplo).
Un conjunto dedicado de variables locales se define en el contexto de ejecución del comando
PROCESS 4D TAGS. Estas variables pueden ser escritas o leídas durante el procesamiento.

Nota de compatibilidad: en versiones anteriores de 4D, las variables locales definidas en el contexto de llamada se podían acceder en el contexto de ejecución de PROCESS 4D TAGS en modo interpretado. A partir de 4D v14 R4, este ya no es el caso.

Después de la ejecución del comando, el parámetro datosSalida recibe los datos del parámetro plantillaEntrada, junto con el resultado del proceso de las etiquetas 4D que contiene, cuando aplica. Si datosEntrada no contiene las etiquetas 4D, el contenido de datosSalida es idéntico al de plantillaEntrada.

El parámetro datosSalida puede ser un campo o una variable, pero debe ser del mismo tipo que el parámetro plantillaEntrada.

Nota: este comando ya no llama al Método base On Web Authentication.

Este ejemplo carga un documento de tipo 'template', procesa las etiquetas que contiene y luego lo guarda:

 C_BLOB($Blob_x)
 C_BLOB($blob_out)
 C_TEXT($inputText_t)
 C_TEXT($outputText_t)
 
 DOCUMENT TO BLOB("mytemplate.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 ejemplo genera un texto utilizando los datos de los 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 también 

Etiquetas de transformación 4D

 
PROPIEDADES 

Producto: 4D
Tema: Herramientas
Número 816

This command can be run in preemptive processesComportamiento diferente en modo remoto

 
HISTORIA 

Creado por: 4D 2004
Modificado: 4D v11 SQL
Modificado: 4D v12
Renombrar: 4D v13
Modificado: 4D v14 R4

 
ARTICLE USAGE

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