Chapter 9 Guide de référence de la génération (GTL)


Utilisation de macros

Les macros peuvent être utilisées pour exprimer la logique, et pour boucler sur des collections d'objets. Chaque mot clé de macro doit être précédé d'un caractère "." (point) et doit être le premier caractère, autre qu'un espace, sur une ligne. Prenez soin de respecter la syntaxe des macros en termes de passage à la ligne.

Vous pouvez définir une macro dans un template, ou dans une commande.

Vous pouvez définir trois types de macros, comme indiqué dans le tableau suivant :

Macro Syntaxe
Macro de bloc <if> | <vbscript> | <unique> | <lowercase> | <uppercase> | <replace> | <delete> | <block>
Macro de boucle <foreach_item> | <foreach_line> | <foreach_part>
Macro simple <bool> | <set_object> | <set_value> | <execute_vbscript> | <execute_command> | <abort_command> | <change_dir> | <create_path> | <log> | <warning> | <error>

Macro de bloc

Les macros de bloc se composent d'un mot clé de début et d'un mot clé de fin délimitant un bloc auquel la macro est appliquée.

Leur structure se présente comme suit :

'.'<nom-macro> ['(' <paramètres> ')' ]
<bloc-entrée-macro>
'.'end<nom-macro> [ '(' <tail> ')' ]

<fin> est une constante de type chaîne facultative et qui est ajoutée au texte généré, s'il existe.

Macro de boucle

Les macros de boucle sont utilisées pour l'itération. A chaque itération, une nouvelle portée est créée. Le template spécifié dans le bloc est converti simultanément conformément à la portée d'itération.

'.'foreach_<nom-macro> ['(' <paramètres> [',' <head> [',' <fin>]] ')' ]
<template-complexe>
'.'next [ '(' <séparateur> ')' ]

<head> et <fin> sont des constantes de type chaîne facultatives. <head> est générée avant, et <fin> est ajoutée après le texte généré, s'il existe.

Un <séparateur> peut également être spécifié comme argument pour le mot clé .next, il est placé entre des évaluations non vide de <template-complexe>.

Macro simple

Les macros simples sont les macros qui ne sont constituées que d'une seule ligne.

Note   Délimiteurs de paramètres de macro
Les paramètres de macro peuvent être délimités par des guillemets. Les délimiteurs sont requis lorsque la valeur du paramètre inclut des virgules, des accolades et des espaces de début ou de fin. La séquence d'échappement pour les guillemets au sein d'un paramètre est \" .

 


Copyright (C) 2005. Sybase Inc. All rights reserved.