4D v16.3TRAITER BALISES 4D |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
TRAITER BALISES 4D
|
TRAITER BALISES 4D ( templateEntrée ; résultatSortie {; param}{; param2 ; ... ; paramN} ) | ||||||||
Paramètre | Type | Description | ||||||
templateEntrée | Texte, BLOB |
![]() |
Données contenant des balises à traiter | |||||
résultatSortie | Texte, BLOB |
![]() |
Résultat de l'exécution du template | |||||
param | Texte, Numérique, Date, Heure, Pointeur, Booléen |
![]() |
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) :
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"
Produit : 4D
Thème : Outils
Numéro :
816
Nom intl. : PROCESS 4D TAGS
Créé : 4D 2004
Modifié : 4D v11 SQL
Modifié : 4D v12
Renommé : 4D v13
Modifié : 4D v14 R4
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)