Conception

Condition d'affichage

Une condition d'affichage est une expression logique qui détermine si une question doit être affichée. C'est une façon beaucoup plus robuste que les sauts simples ou les sauts calculés de mettre en oeuvre la logique d'un questionnaire parce que la logique est directement associée à la question de destination.

L'expression logique doit utiliser un format xBase; pour les experts, l'expression peut aussi emprunter une syntaxe Perl et utiliser toute variable disponible dans l'environnement Perl si la condition est entourée d'accolades (« { » et « } »). L'expression logique peut utiliser toute variable définie dans le questionnaire, y inclus les données prépeuplées. Les règles fondamentales de construction des expressions xBase sont les suivantes :

  • les opérateurs de comparaison sont : .EQ., .NE., .GT., .GE., .LT., .LE.
  • Les opérateurs logiques sont : .AND., .OR., .NOT.
  • opérations mathématiques simples comme : +, -, /, *, **
  • les parenthèses affectent l'ordre d'interprétation de l'expression.
  • les langues de questionnaire sont identifiées comme suit : LANGUE(la) ou LANGUAGE(la) où « la » est un code de langue ISO à deux lettres ou une série de ces codes séparés par des espaces ou des virgules.
  • les variables vides sont identifiées comme suit : ISEMPTY(Q1) ou ESTVIDE(Q1) (Q1 est remplacé par le nom de question approprié; ce pourrait être une partie ouverte).
  • les variables non-vides sont identifiées comme suit : NOTEMPTY(Q1) ou NONVIDE(Q1) (Q1 est remplacé par le nom de question approprié; ce pourrait être une partie ouverte).
  • QUESTION(Q1) est vrai si Q1 est la question courante au moment du test. QUESTION(Q1...) est vrai si le nom de la question courante au moment du test débute par Q1.
  • NREPONSES(Q1) retourne le nombre de réponses données à Q1.
  • MOBILE() retourne 1 ou vrai si le questionnaire est affiché sur un appareil mobile (0 autrement).
  • ACCESS() retourne 1 ou vrai si le questionnaire est affiché en mode accessibilité (0 autrement).
  • en utilisant .EQ. et .NE. (sur des réponses simples ou à réponses multiples, ou sur des parties ouvertes numériques entières), le côté droit de la comparaison peut prendre trois formes :
    • Q1.EQ.1 et Q1.NE.1 comparent la réponse de Q1 à un seul entier
    • Q1.EQ.1,3,5 et Q1.NE.1,3,5 comparent la réponse de Q1 à chacun des entiers et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)
    • Q1.EQ.1-5 et Q1.NE.1-5 comparent la réponse de Q1 à chacun des entiers entre deux bornes et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)
    • Q1.EQ.1-5, 7 et Q1.NE.1-5, 7 comparent la réponse de Q1 à chacun des entiers entre deux bornes ainsi qu'à une valeur pontuelle (il peut y avoir plusieurs suites ou valeurs ponctuelles séparées par des virgules) et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)

CallWeb s'occupe d'appliquer la logique xBase aux questions à réponses multiples.

Rappelez-vous que tous les codes de réponses sont numériques. Ceci simplifie la construction des expressions logiques.

Exemple d'un segment de condition d'affichage :

    % Condition d'affichage
    (Q1.GT.2.AND.Q2.EQ.1)

Quand CallWeb rencontre une condition d'affichage d'une valeur « fausse », il efface toutes les données associées à cette question dans le dossier, y compris la partie ouverte s'il y en a une; cependant, il n'efface pas la destination d'une variable CALCUL. Ceci constitue un comportement logique puisque la question n'aurait pas dû être affichée au départ — bien qu'elle a peut-être été affichée légitimement avant que l'usager ne recule et ne modifie certaines de ses réponses. Pour créer une question non affichée où des données puissent être stockées (comme les champs prépeuplés), pensez à utiliser la partie ouverte d'un question de type BLANK question ou les types de question NEVERUPDATE ou STOCK, ou alors, préfixez la condition d'affichage d'un tilde (~) pour indiquer que la condition est non nettoyante (le tilde a la même signification ici que dans les sauts simples)..

Il est possible d'emprunter la condition d'affichage d'une autre question en insérant une ligne dans la section de la condition d'affichage. Cette ligne contient le symbole égale (=) et le nom de la question de laquelle il faut emprunter, comme suit :

    =Q1

Les questions emprunteuses et les questions prêteuses n'ont pas à apparaître dans un ordre particulier dans le questionnaire.

Conception

Condition d'affichage

Une condition d'affichage est une expression logique qui détermine si une question doit être affichée. C'est une façon beaucoup plus robuste que les sauts simples ou les sauts calculés de mettre en oeuvre la logique d'un questionnaire parce que la logique est directement associée à la question de destination.

L'expression logique doit utiliser un format xBase; pour les experts, l'expression peut aussi emprunter une syntaxe Perl et utiliser toute variable disponible dans l'environnement Perl si la condition est entourée d'accolades (« { » et « } »). L'expression logique peut utiliser toute variable définie dans le questionnaire, y inclus les données prépeuplées. Les règles fondamentales de construction des expressions xBase sont les suivantes :

  • les opérateurs de comparaison sont : .EQ., .NE., .GT., .GE., .LT., .LE.
  • Les opérateurs logiques sont : .AND., .OR., .NOT.
  • opérations mathématiques simples comme : +, -, /, *, **
  • les parenthèses affectent l'ordre d'interprétation de l'expression.
  • les langues de questionnaire sont identifiées comme suit : LANGUE(la) ou LANGUAGE(la) où « la » est un code de langue ISO à deux lettres ou une série de ces codes séparés par des espaces ou des virgules.
  • les variables vides sont identifiées comme suit : ISEMPTY(Q1) ou ESTVIDE(Q1) (Q1 est remplacé par le nom de question approprié; ce pourrait être une partie ouverte).
  • les variables non-vides sont identifiées comme suit : NOTEMPTY(Q1) ou NONVIDE(Q1) (Q1 est remplacé par le nom de question approprié; ce pourrait être une partie ouverte).
  • QUESTION(Q1) est vrai si Q1 est la question courante au moment du test. QUESTION(Q1...) est vrai si le nom de la question courante au moment du test débute par Q1.
  • NREPONSES(Q1) retourne le nombre de réponses données à Q1.
  • MOBILE() retourne 1 ou vrai si le questionnaire est affiché sur un appareil mobile (0 autrement).
  • ACCESS() retourne 1 ou vrai si le questionnaire est affiché en mode accessibilité (0 autrement).
  • en utilisant .EQ. et .NE. (sur des réponses simples ou à réponses multiples, ou sur des parties ouvertes numériques entières), le côté droit de la comparaison peut prendre trois formes :
    • Q1.EQ.1 et Q1.NE.1 comparent la réponse de Q1 à un seul entier
    • Q1.EQ.1,3,5 et Q1.NE.1,3,5 comparent la réponse de Q1 à chacun des entiers et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)
    • Q1.EQ.1-5 et Q1.NE.1-5 comparent la réponse de Q1 à chacun des entiers entre deux bornes et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)
    • Q1.EQ.1-5, 7 et Q1.NE.1-5, 7 comparent la réponse de Q1 à chacun des entiers entre deux bornes ainsi qu'à une valeur pontuelle (il peut y avoir plusieurs suites ou valeurs ponctuelles séparées par des virgules) et retourne vrai si l'une des valeurs correspond (pour .EQ.) ou si aucune des valeurs ne correspond (pour .NE.)

CallWeb s'occupe d'appliquer la logique xBase aux questions à réponses multiples.

Rappelez-vous que tous les codes de réponses sont numériques. Ceci simplifie la construction des expressions logiques.

Exemple d'un segment de condition d'affichage :

    % Condition d'affichage
    (Q1.GT.2.AND.Q2.EQ.1)

Quand CallWeb rencontre une condition d'affichage d'une valeur « fausse », il efface toutes les données associées à cette question dans le dossier, y compris la partie ouverte s'il y en a une; cependant, il n'efface pas la destination d'une variable CALCUL. Ceci constitue un comportement logique puisque la question n'aurait pas dû être affichée au départ — bien qu'elle a peut-être été affichée légitimement avant que l'usager ne recule et ne modifie certaines de ses réponses. Pour créer une question non affichée où des données puissent être stockées (comme les champs prépeuplés), pensez à utiliser la partie ouverte d'un question de type BLANK question ou les types de question NEVERUPDATE ou STOCK, ou alors, préfixez la condition d'affichage d'un tilde (~) pour indiquer que la condition est non nettoyante (le tilde a la même signification ici que dans les sauts simples)..

Il est possible d'emprunter la condition d'affichage d'une autre question en insérant une ligne dans la section de la condition d'affichage. Cette ligne contient le symbole égale (=) et le nom de la question de laquelle il faut emprunter, comme suit :

    =Q1

Les questions emprunteuses et les questions prêteuses n'ont pas à apparaître dans un ordre particulier dans le questionnaire.