Instruction

Processing Instructions (PI) dans JForm, permet d’insérer des Processing Instructions directement dans les documents. Dans le Studio, quatre PI (If, IfExist, Loop et Foreach) pilotent l’exécution conditionnelle, les tests d’existence et les itérations.

Ces instructions, intégrées sous la forme de balises XML (ex. : <?if?> … <?end-if?>), permettent d’ajouter de la logique au code du formulaire pour en contrôler l’exécution selon des conditions, des vérifications ou des boucles.


Liste des Processing Instructions disponibles

  • If : Instruction conditionnelle permettant d’exécuter un bloc uniquement si la condition est vraie

  • IfExist : Instruction vérifiant la présence d’un élément avant exécution

  • Loop : Instruction répétant un bloc tant qu’une condition donnée est remplie

  • Foreach : Instruction itérant sur une collection d’éléments pour exécuter un bloc pour chacun


IF

L’instruction If est une Processing Instruction qui permet de poser une condition d’exécution.

<?if (condition)?>

... code à exécuter si la condition est vérifiée ...

<?end-if?>


IFEXIST

L’instruction IfExist est une Processing Instruction qui permet de vérifier l’existence d’un élément avant d’exécuter le code associé.

<?ifexist($(nomElement))?>

... code à exécuter si l’élément existe ...

<?end-ifexist?>


LOOP

L’instruction Loop est une Processing Instruction utilisée pour répéter un bloc de code tant qu’une condition donnée est remplie.

<?loop (condition)?>

... code à répéter tant que la condition est vraie ...

<?end-loop?>


FOREACH

L’instruction Foreach est une Processing Instruction qui permet d’itérer sur une collection d’éléments et d’exécuter un bloc pour chacun d’eux.

<?foreach $(listeElements) as $(element)?>

... code à exécuter pour chaque élément de la liste ...

<?end-foreach?>


Instruction IF exemple de code JXML

<Content NewPage="none" OutputMode="all" OutputTarget="all" StyleName="definition">
  <QuestionSet HorizontalAlignment="left" LabelHorizontalAlignment="left" LabelPosition="auto" OutputMode="all" OutputTarget="all" Spacing="normal">
    <Question>
      <Label IsTooltipOnly="false" TradId="54">Entrer le nombre 100</Label>
      <NumberBox RefreshOnExit="true" NumberOfVisibleCharacters="15" AutoSize="false" Name="Entrernombre" FractionDigits="0">
        <Description TradId="55">Saisir un nombre différent pour vérifier l'expression</Description>
      </NumberBox>
    </Question>
  </QuestionSet>
  <?if ((!existsAndNotEmpty($(Entrernombre))) || ($(Entrernombre)=='100'))?>
  <?else?>
  <?setInterviewErrorOnField Entrernombre : "Entrez le nombre correct"?>
  <?end-if?>
</Content>


Instruction IFEXIST exemple de code JXML

<?ifexist($(adresseEmail))?>
  <TextBox Name="EmailConfirm" />
<?end-ifexist?>


Instruction LOOP exemple de code JXML

<?loop ($(compteur) < 5)?>
  <Paragraph>Itération numéro $(compteur)</Paragraph>
<?end-loop?>


Instruction FOREACH exemple de code JXML

<Content OutputMode="all" OutputTarget="all" StyleName="definition">
  <?foreach $(listeElements) as $(element)?>
    <Paragraph>Élément actuel : $(element)</Paragraph>
  <?end-foreach?>
</Content>


Mode flow




Structure parente

Dernière modification le 18-10-2025

Lorsque vous naviguez sur le campus Jway, des informations sont susceptibles d'être enregistrées (cookies) sur votre terminal pour personnaliser vos contenus et votre navigation.

Nous n'utilisons que des cookies indispensables au bon fonctionnement de ce site et dont le seul objectif est d'améliorer notre service aux usagers.

En savoir plus