Annexe H

Instruction dièse TEST

L'instruction dièse TEST définit un test logique qui produit un message d'erreur. Cette instruction générale s'ajoute aux tests automatiques de CallWeb comme le test sur les nombres minimum et maximum de réponses, les tests de cohérence de la sélection des réponses, les tests MUST, les conditions de tableaux, etc.

Syntaxe :

    # Test ID = [SUR]sur [CONDITION]condition [MESSAGE]message [TYPE]type
    ou
    # Test ID = [TRIGGER]trigger [CONDITION]condition [MESSAGE]message [TYPE]type

ComposanteDescription
IDest toute chaîne alphanumérique identifiant le test. Cet identifiant est utilisé entre des bornes <TEST> si le test est de type « tag » (voir ci-bas).
surest le nom de la question qui déclenche le test. Le test est déclenché quand une réponse à cette question se trouve dans la page envoyée à CallWeb. La question choisie devrait toujours apparaître sur la page et exiger une réponse pour s'assurer que le test ait lieu.
conditionest une condition logique décrivant une erreur. Cette condition peut être exprimée en format xbase (auquel cas l'expression est validée lors de la compilation) ou en syntaxe Perl si elle est entre accolades.
messageest le message à insérer si la condition est vraie (c'est-à-dire, s'il y a une erreur). Des versions linguistiques différentes peuvent être insérées en utilisant des codes ISO de langues entre crochets : [xx]. Le message peut utiliser une valeur rappelée.
typeprécise le type de message d'erreur et sa localisation sur la page CallWeb :
  • [TYPE]QUESTION place le message là où un message système serait placé si la question « sur » était fautive (au-dessus, hors d'un tableau; à droite, dans un tableau)
  • [TYPE]TABLEAU or [TYPE]TABLE place le message avant le tableau auquel appartient la question « sur »
  • [TYPE]TAG place le message là où se trouve le marqueur <TEST>ID</TEST> dans la page (il doit n'y avoir aucun espace entre le début et la fin de cette chaîne TEST); ce marqueur peut se trouver n'importe où, comme dans une étiquette de catégorie de réponse (qui s'afficherait au haut d'une colonne dans un tableau) ou dans le champ de NOTE (qui apparaîtrait à gauche dans un tableau)

Une question donnée peut déclencher plusieurs tests.

Exemples :

    # Test ABC =
    #> [SUR]AQ1
    #> [CONDITION](AQ1+AQ2+AQ3).NE.100
    #> [MESSAGE][EN]Please make these total 100[FR]Veuillez vous assurer que ces valeurs totalisent 100
    #> [TYPE]table

Cette instruction affiche un message d'erreur au-dessus du tableau auquel appartient AQ1 si les trois réponses ne totalisent pas 100..

    # Test DEF =
    #> [SUR]Q10
    #> [CONDITION]Q5.AND.Q6.AND.Q7.AND.(.NOT.Q8.AND.NOT.Q9)
    #> [MESSAGE][EN]Please answer Q8 or Q9 since you have answered Q5, Q6 and Q7[FR]Veuillez répondre à Q8 ou Q9 puisque vous avez répondu à Q5, Q6 et Q7
    #> [TYPE]question

Cette instruction affiche un message d'erreur au-dessus de Q10 si Q5, Q6 et Q7 ont reçu une réponse alors que Q8 et Q9 n'en ont pas reçu. Notez que les questions Q5 à Q9 n'ont pas à apparaître sur la même page CallWeb que Q10..

Annexe H

Instruction dièse TEST

L'instruction dièse TEST définit un test logique qui produit un message d'erreur. Cette instruction générale s'ajoute aux tests automatiques de CallWeb comme le test sur les nombres minimum et maximum de réponses, les tests de cohérence de la sélection des réponses, les tests MUST, les conditions de tableaux, etc.

Syntaxe :

    # Test ID = [SUR]sur [CONDITION]condition [MESSAGE]message [TYPE]type
    ou
    # Test ID = [TRIGGER]trigger [CONDITION]condition [MESSAGE]message [TYPE]type

ComposanteDescription
IDest toute chaîne alphanumérique identifiant le test. Cet identifiant est utilisé entre des bornes <TEST> si le test est de type « tag » (voir ci-bas).
surest le nom de la question qui déclenche le test. Le test est déclenché quand une réponse à cette question se trouve dans la page envoyée à CallWeb. La question choisie devrait toujours apparaître sur la page et exiger une réponse pour s'assurer que le test ait lieu.
conditionest une condition logique décrivant une erreur. Cette condition peut être exprimée en format xbase (auquel cas l'expression est validée lors de la compilation) ou en syntaxe Perl si elle est entre accolades.
messageest le message à insérer si la condition est vraie (c'est-à-dire, s'il y a une erreur). Des versions linguistiques différentes peuvent être insérées en utilisant des codes ISO de langues entre crochets : [xx]. Le message peut utiliser une valeur rappelée.
typeprécise le type de message d'erreur et sa localisation sur la page CallWeb :
  • [TYPE]QUESTION place le message là où un message système serait placé si la question « sur » était fautive (au-dessus, hors d'un tableau; à droite, dans un tableau)
  • [TYPE]TABLEAU or [TYPE]TABLE place le message avant le tableau auquel appartient la question « sur »
  • [TYPE]TAG place le message là où se trouve le marqueur <TEST>ID</TEST> dans la page (il doit n'y avoir aucun espace entre le début et la fin de cette chaîne TEST); ce marqueur peut se trouver n'importe où, comme dans une étiquette de catégorie de réponse (qui s'afficherait au haut d'une colonne dans un tableau) ou dans le champ de NOTE (qui apparaîtrait à gauche dans un tableau)

Une question donnée peut déclencher plusieurs tests.

Exemples :

    # Test ABC =
    #> [SUR]AQ1
    #> [CONDITION](AQ1+AQ2+AQ3).NE.100
    #> [MESSAGE][EN]Please make these total 100[FR]Veuillez vous assurer que ces valeurs totalisent 100
    #> [TYPE]table

Cette instruction affiche un message d'erreur au-dessus du tableau auquel appartient AQ1 si les trois réponses ne totalisent pas 100..

    # Test DEF =
    #> [SUR]Q10
    #> [CONDITION]Q5.AND.Q6.AND.Q7.AND.(.NOT.Q8.AND.NOT.Q9)
    #> [MESSAGE][EN]Please answer Q8 or Q9 since you have answered Q5, Q6 and Q7[FR]Veuillez répondre à Q8 ou Q9 puisque vous avez répondu à Q5, Q6 et Q7
    #> [TYPE]question

Cette instruction affiche un message d'erreur au-dessus de Q10 si Q5, Q6 et Q7 ont reçu une réponse alors que Q8 et Q9 n'en ont pas reçu. Notez que les questions Q5 à Q9 n'ont pas à apparaître sur la même page CallWeb que Q10..