4D v16.3

TRAITER BALISES 4D

Accueil

 
4D v16.3
TRAITER BALISES 4D

TRAITER BALISES 4D 


 

TRAITER BALISES 4D ( templateEntrée ; résultatSortie {; param}{; param2 ; ... ; paramN} ) 
Paramètre Type   Description
templateEntrée  Texte, BLOB in Données contenant des balises à traiter
résultatSortie  Texte, BLOB in Résultat de l'exécution du template
param  Texte, Numérique, Date, Heure, Pointeur, Booléen in Paramètre(s) à passer au template en exécution

La commande TRAITER BALISES 4D provoque le traitement des balises de transformation 4D contenues dans le paramètre templateEntrée (champ ou variable de type Texte ou BLOB) en leur injectant optionnellement des valeurs via le(s) paramètre(s) param et retourne le résultat dans résultatSortie. Pour une description complètes de ces balises, veuillez vous reporter à la section Balises HTML 4D.

Cette commande permet d'exécuter un texte de type "template" contenant des balises et des références à des expressions ou des variables 4D et de produire un résultat dépendant du contexte d'exécution et/ou des valeurs passées en paramètre.
Par exemple, vous pouvez utiliser cette commande pour générer et stocker des pages HTML à partir de pages semi-dynamiques contenant des balises de transformation 4D (sans qu’il soit nécessaire que le serveur Web de 4D soit démarré). Vous pouvez l’employer pour envoyer via 4D Internet Commands des courriels au format HTML contenant des traitements et/ou des références à des données contenues dans la base. Il est possible de traiter tout type de données basées sur du texte, comme le XML, le SVG ou encore le texte multistyle.

Passez les données contenant les balises à traiter dans le paramètre templateEntrée. Ce paramètre peut être un champ ou une variable de type Texte ou BLOB. Le type Texte sera généralement suffisant (les paramètres peuvent recevoir jusqu'à 2 Go de texte).

Note de compatibilité : A compter de la version 12 de 4D, lorsque vous utilisez des paramètres de type BLOB, la commande considère automatiquement que le jeu de caractères utilisé pour les BLOBs est MacRoman. Pour plus d’efficacité, il est fortement conseillé d’utiliser des paramètres de type Texte avec lesquels les traitements sont effectués en mode Unicode.

Toutes les balises de transformation de 4D sont prises en charge (4DTEXT, 4DHTML, 4DSCRIPT, 4DLOOP, 4DEVAL, etc.).

Note : En cas d’utilisation de la balise 4DINCLUDE hors du cadre du serveur Web (process Web) :

  • avec 4D en mode local et 4D Server, le dossier par défaut est le dossier contenant le fichier de structure de la base,
  • avec 4D en mode distant, le dossier par défaut est le dossier contenant l’application 4D.

La commande TRAITER BALISES 4D prend en charge un nombre indéfini de paramètres param à injecter dans le code exécuté. Tout comme pour les méthodes projet, ces paramètres peuvent contenir des valeurs scalaires de type varié (texte, date, heure, entier long, réel...). Vous pouvez également utiliser des tableaux, par l'intermédiaire de pointeurs de tableaux. A l'intérieur du code traité par les balises 4D, ces paramètres sont accessibles via les arguments standard $1, $2..., comme dans les méthodes 4D (voir exemple).
Un ensemble dédié de variables locales est défini dans le contexte d'exécution de la commande TRAITER BALISES 4D. Ces variables peuvent être lues ou écrites pendant le traitement.

Note de compatibilité : Dans les versions précédentes de 4D, les variables locales définies dans le contexte d'appel étaient accessibles dans le contexte d'éxecution de TRAITER BALISES 4D en mode interprété. Ce n'est plus le cas à compter de 4D v14 R4.

Après l’exécution de la commande, le paramètre résultatSortie reçoit le résultat de l'exécution de templateEntrée incluant le traitement des balises 4D qu’il contenait, le cas échéant. Si templateEntrée ne contenait pas de balises 4D, le contenu de résultatSortie est identique à celui de templateEntrée.
Le paramètre résultatSortie peut être un champ ou une variable, il doit simplement être du même type que le paramètre templateEntrée.

Note : Cette commande ne provoque jamais l'appel de la Méthode base Sur authentification Web.

Cet exemple permet de charger un document de type 'template', de traiter les balises qu'il contient puis de le stocker :

 C_BLOB($Blob_x)
 C_BLOB($blob_out)
 C_TEXTE($inputText_t)
 C_TEXTE($outputText_t)
 
 DOCUMENT VERS BLOB("montemplate.txt";$Blob_x)
 $inputText_t:=BLOB vers texte($Blob_x;UTF8 texte sans longueur)
 TRAITER BALISES 4D($inputText_t;$outputText_t)
 TEXTE VERS BLOB($outputText_t;$blob_out;UTF8 texte sans longueur)
 BLOB VERS DOCUMENT($document;$blob_out)

Cet exemple permet de générer un texte à l'aide de données dans des tableaux :

 TABLEAU TEXTE($array;2)
 $array{1}:="hello"
 $array{2}:="world"
 $input:="<!--#4DEVAL $1-->"
 $input:=$input+"<!--#4DLOOP $2-->"
 $input:=$input+"<!--#4DEVAL $2->{$2->}--> "
 $input:=$input+"<!--#4DENDLOOP-->"
 TRAITER BALISES 4D($input;$output;"éléments = ";->$array)
  // $output = "éléments = hello world"



Voir aussi  

Balises de transformation 4D

 
PROPRIÉTÉS 

Produit : 4D
Thème : Outils
Numéro : 816
Nom intl. : PROCESS 4D TAGS

Commande(s) éligible(s) à l'exécution dans un process préemptifComportement différent en mode distant

 
HISTORIQUE 

Créé : 4D 2004
Modifié : 4D v11 SQL
Modifié : 4D v12
Renommé : 4D v13
Modifié : 4D v14 R4

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)