Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20 R7
TRAITER BALISES 4D

TRAITER BALISES 4D 


 

TRAITER BALISES 4D ( templateEntrée ; résultatSortie {; param}{; param2 ; ... ; paramN} ) 
Paramètre Type   Description
templateEntrée  Texte in Données contenant des balises à traiter
résultatSortie  Texte in Résultat de l'exécution du template
param  Expression 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 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ète de ces balises, veuillez vous reporter à la section Balises de transformation 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. 

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, booléen) ainsi que des pointeurs, des objets et des collections. 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.

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 contient pas de balises 4D ou s'il génère une chaîne vide, le contenu de résultatSortie est identique à celui de templateEntrée.

Le paramètre résultatSortie peut être un champ ou une variable de type Texte.

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

Cet exemple charge un document de type 'template', traite les balises qu'il contient puis le stocke :

 C_TEXTE($inputText_t)
 C_TEXTE($outputText_t)
 
 $inputText_t:=Document vers texte(Fichier("/PACKAGE/mytemplate.txt").platformPath)
 TRAITER BALISES 4D($inputText_t;$outputText_t)
 TEXTE VERS DOCUMENT(Fichier("/PACKAGE/myfile.txt").platformPath;$outputText_t)

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

 
PAGE CONTENTS 
 
HISTORIQUE 

Créé : 4D 2004
Modifié : 4D v11 SQL
Modifié : 4D v12
Renommé : 4D v13 (TRAITER BALISES HTML)
Modifié : 4D v14 R4
Modifié : 4D v16 R4

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v20 R7)