Conception

Note

Les notes sont affichées après le texte de la question et utilisent une mise en page différente. Elles servent aussi à identifier le texte affiché à gauche de la ligne dans une présentation en tableau (référez-vous à la section portant sur les tableaux).

Exemple d'un segment note :

    % Note
       [EN]Please be as specific as possible.
       [FR]Veuillez être aussi précis que possible.

Le texte des notes peut contenir du code HTML. Ce code est interprété directement par le navigateur.

Le texte d'une note peut contenir des rappels de réponses précédentes.

Si le questionnaire comporte plus d'une langue, les segments de chaque langue doivent être précédés d'un code ISO à deux caractères, entre crochets (p.ex., [FR]). Un signe égal (=) seul dans un champ de note permet de copier le texte de la langue par défaut dans l'un ou l'autre des autres langues.

Le texte d'une note peut être emprunté d'une autre question en insérant le signe égal (=) à gauche du nom de la question dont il faut copier le texte.

Clonage de questions

Quand plusieurs questions qui sont exactement les mêmes sauf pour ce qui est du texte de la note (et possiblement de la condition d'affichage)) sont nécessaires (p.ex., pour créer une batterie de questions à présenter dans un tableau), on peut utiliser une syntaxe succincte de clonage. Voici une explication par un exemple :

    Q1
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
    % partie ouverte
    !

Ce code crée trois questions (Q1_A, Q1_B et Q1_C) qui ont les mêmes caractéristiques sauf le contenu de la note. Ces questions peuvent être placées sur une même page ou dans un tableau, ou non. Si le questionnaire contient plus d'une langue, chaque segment de langue doit être préfixé d'un code de langue entre crochets.

La question réceptrice (Q1 dans l'exemple) n'existe pas du point de vue de CallWeb; seules les questions crées par les suffixes existent réellement. Donc, bien qu'il soit possible de copier depuis et vers les questions suffixes (Q1_A et les autres dans l'exemple), il n'est pas possible de copier depuis et vers la question réceptrice (Q1). En conséquence, l'exemple suivant est légitime :

    Q1
    ...
       [SUFFIXE:_A]=Q0_A
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2A
    ...
    % note
       =Q1_A
    ...

L'exemple suivant est aussi légitime :

    Q1
    ...
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2
    ...
    % note
       [SUFFIXE:_A]=Q1_A
       [SUFFIXE:_B]=Q1_B
       [SUFFIXE:_C]=Q1_C
    ...

Cependant, l'exemple suivant n'est pas valide :

    Q1
    ...
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2
    % question
       =Q1
       ## Indice : cet exemple n'est pas valide parce que Q1 est une question réceptrice et qu'en conséquence elle n'existe pas
    ...
    % note
       =Q1
    ...

Nous recommandons fortement de ne pas construire un script qui contient une question ordinaire (p.ex., Q1) et une question réceptrice (p.ex., Q1 + suffixes), ou deux questions réceptrices, portant le même nom. Le compilateur est capable de gérer de telles situations, mais le module cwedit ne le peut pas.

Des conditions d'affichage peuvent être affectées à des suffixes particuliers. Une telle condition d'affichage est insérée entre crochets immédiatement après le segment SUFFIXE qui est entre crochets et immédiatement avant le texte de la note. La condition d'affichage d'un SUFFIXE a préséance sur la condition d'affichage qui est rattachée à la question réceptrice. Donc, dans l'exemple suivant :

    Q2
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A][Q1.EQ.1]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
       Q1.EQ.2-4
    % partie ouverte
    !

la condition d'affichage du premier énoncé est [Q1.EQ.1] alors que celle des autres énoncés est [Q1.EQ.2-4].

La même logique joue pour le paramètre COIN=(texte) que l'on peut ajouter à la ligne SUFFIXE comme suit :

    Q2
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A][CORNER=([EN]Placer ce texte dans le coin du tableau)]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
       Q1.EQ.2-4
    % partie ouverte
    !

Le paramètre COIN=(texte) modifie le texte affiché dans le coin supérieur gauche d'un tableau, pour la question courante seulement. Il peut contenir un segment par langue du questionnaire, chaque segment est préfixé d'un code ISO à deux lettres entre crochets.

Les questions SUFFIXE ne sont pas limitées à la construction de tableaux mais elles sont une manière très rapide de créer une série de questions qui partagent un jeu de réponses et qui peuvent être affichées en tableau. Il est parfois utile d'insérer une ligne titre dans un tel tableau; dans l'image ci-contre, les lignes intitulées PRODUCT et FINANCIAL jouent le rôle de titres (aucune donnée n'est recueillie à leur propos). Une façon simple de créer de tels titres est d'ajouter la lettre « T » au mot-clef « SUFFIXE » (donc, « SUFFIXET »). Une question SUFFIXE-titre se voit imposer un nombre minimum de réponses de zéro (pour qu'elle puisse être laissée sans réponse) et toutes ses catégories de réponses reçoivent un code de comportement « N » (en plus de tout autre code de comportement que les catégories de réponse ont déjà) de sorte qu'aucun objet de réponse (une puce ou une boîte à cocher) n'apparaisse dans les cellules de la ligne titre.

Conception

Note

Les notes sont affichées après le texte de la question et utilisent une mise en page différente. Elles servent aussi à identifier le texte affiché à gauche de la ligne dans une présentation en tableau (référez-vous à la section portant sur les tableaux).

Exemple d'un segment note :

    % Note
       [EN]Please be as specific as possible.
       [FR]Veuillez être aussi précis que possible.

Le texte des notes peut contenir du code HTML. Ce code est interprété directement par le navigateur.

Le texte d'une note peut contenir des rappels de réponses précédentes.

Si le questionnaire comporte plus d'une langue, les segments de chaque langue doivent être précédés d'un code ISO à deux caractères, entre crochets (p.ex., [FR]). Un signe égal (=) seul dans un champ de note permet de copier le texte de la langue par défaut dans l'un ou l'autre des autres langues.

Le texte d'une note peut être emprunté d'une autre question en insérant le signe égal (=) à gauche du nom de la question dont il faut copier le texte.

Clonage de questions

Quand plusieurs questions qui sont exactement les mêmes sauf pour ce qui est du texte de la note (et possiblement de la condition d'affichage)) sont nécessaires (p.ex., pour créer une batterie de questions à présenter dans un tableau), on peut utiliser une syntaxe succincte de clonage. Voici une explication par un exemple :

    Q1
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
    % partie ouverte
    !

Ce code crée trois questions (Q1_A, Q1_B et Q1_C) qui ont les mêmes caractéristiques sauf le contenu de la note. Ces questions peuvent être placées sur une même page ou dans un tableau, ou non. Si le questionnaire contient plus d'une langue, chaque segment de langue doit être préfixé d'un code de langue entre crochets.

La question réceptrice (Q1 dans l'exemple) n'existe pas du point de vue de CallWeb; seules les questions crées par les suffixes existent réellement. Donc, bien qu'il soit possible de copier depuis et vers les questions suffixes (Q1_A et les autres dans l'exemple), il n'est pas possible de copier depuis et vers la question réceptrice (Q1). En conséquence, l'exemple suivant est légitime :

    Q1
    ...
       [SUFFIXE:_A]=Q0_A
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2A
    ...
    % note
       =Q1_A
    ...

L'exemple suivant est aussi légitime :

    Q1
    ...
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2
    ...
    % note
       [SUFFIXE:_A]=Q1_A
       [SUFFIXE:_B]=Q1_B
       [SUFFIXE:_C]=Q1_C
    ...

Cependant, l'exemple suivant n'est pas valide :

    Q1
    ...
       [SUFFIXE:_A]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    ...
    Q2
    % question
       =Q1
       ## Indice : cet exemple n'est pas valide parce que Q1 est une question réceptrice et qu'en conséquence elle n'existe pas
    ...
    % note
       =Q1
    ...

Nous recommandons fortement de ne pas construire un script qui contient une question ordinaire (p.ex., Q1) et une question réceptrice (p.ex., Q1 + suffixes), ou deux questions réceptrices, portant le même nom. Le compilateur est capable de gérer de telles situations, mais le module cwedit ne le peut pas.

Des conditions d'affichage peuvent être affectées à des suffixes particuliers. Une telle condition d'affichage est insérée entre crochets immédiatement après le segment SUFFIXE qui est entre crochets et immédiatement avant le texte de la note. La condition d'affichage d'un SUFFIXE a préséance sur la condition d'affichage qui est rattachée à la question réceptrice. Donc, dans l'exemple suivant :

    Q2
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A][Q1.EQ.1]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
       Q1.EQ.2-4
    % partie ouverte
    !

la condition d'affichage du premier énoncé est [Q1.EQ.1] alors que celle des autres énoncés est [Q1.EQ.2-4].

La même logique joue pour le paramètre COIN=(texte) que l'on peut ajouter à la ligne SUFFIXE comme suit :

    Q2
    % question
       Avez-vous déjà :
    % note
       [SUFFIXE:_A][CORNER=([EN]Placer ce texte dans le coin du tableau)]fait du vélo
       [SUFFIXE:_B]conduit une voiture
       [SUFFIXE:_C]piloté un avion
    % catégories
       Oui
       Non
    % sauts
    % condition
       Q1.EQ.2-4
    % partie ouverte
    !

Le paramètre COIN=(texte) modifie le texte affiché dans le coin supérieur gauche d'un tableau, pour la question courante seulement. Il peut contenir un segment par langue du questionnaire, chaque segment est préfixé d'un code ISO à deux lettres entre crochets.

Les questions SUFFIXE ne sont pas limitées à la construction de tableaux mais elles sont une manière très rapide de créer une série de questions qui partagent un jeu de réponses et qui peuvent être affichées en tableau. Il est parfois utile d'insérer une ligne titre dans un tel tableau; dans l'image ci-contre, les lignes intitulées PRODUCT et FINANCIAL jouent le rôle de titres (aucune donnée n'est recueillie à leur propos). Une façon simple de créer de tels titres est d'ajouter la lettre « T » au mot-clef « SUFFIXE » (donc, « SUFFIXET »). Une question SUFFIXE-titre se voit imposer un nombre minimum de réponses de zéro (pour qu'elle puisse être laissée sans réponse) et toutes ses catégories de réponses reçoivent un code de comportement « N » (en plus de tout autre code de comportement que les catégories de réponse ont déjà) de sorte qu'aucun objet de réponse (une puce ou une boîte à cocher) n'apparaisse dans les cellules de la ligne titre.