Chapter 5 Personnalisation de la génération à l'aide du langage de génération par template
Cette macro est utilisée pour l'itération dans les collections d'objet :
.foreach_item (collection [,en-tête [,fin [,condition [,comparaison]]]]) template-complexe .next [(séparateur)]
Le template spécifié au sein du bloc est converti sur tous les objets contenus dans la collection spécifiée.
Si une comparaison est spécifiée, les éléments de la collection sont pré-triés en fonction de la règle correspondante avant leur itération.
Les paramètres suivants sont disponibles :
Paramètre | Description |
---|---|
collection | Collection sur laquelle l'itération est effectuée
Type : Template simple |
en-tête | [facultatif] Généré avant le résultat, s'il y en a un
Type : Texte |
fin | [facultatif] Ajouté au résultat, s'il y en a un
Type : Texte |
condition | [facultatif] Si spécifié, seuls les objets qui satisfont la condition sont considérés lors de l'itération
Type : Condition simple |
comparaison | [facultatif] est évalué au sein d'une portée dans laquelle deux objets locaux respectivement nommés 'Item1' et 'Item2' sont définis. Ils correspondent aux éléments dans la collection. <comparaison> doit être évalué comme true si Item1 doit être placé après Item2 dans l'itération
Type : Condition simple |
template-complexe | Template à appliquer à chaque élément.
Type : Template complexe |
séparateur | [facultatif] Générer entre deux évaluations de template-complexe non vides
Type : Texte |
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 \"
.
Exemple :
Attribut | Type de données | Valeur initiale |
---|---|---|
cust_name | String | __ |
cust_foreign | Boolean | false |
.foreach_item(Attributes,,,,%Item1.Code% >= %Item2.Code%)) Attribute %Code%[ = %InitialValue%]; .next(\n)
Le résultat est le suivant :
Attribute cust_foreign = false
Attribute cust_name;
Les quatre virgules après (Attributes,,,, signifient que tous les paramètres (en-tête, fin, condition et comparison) sont sautés.
Copyright (C) 2008. Sybase Inc. All rights reserved. |
![]() |