Condizioni

Quando viene processata un form HTML, così come avviene in molti linguaggi di programmazione, le istruzioni contenute sono esaminate una per una, dalla prima all'ultima. Questo modo di operare è detto "sequenza top-down" e non è possibile interromperla per saltare ad altre istruzioni contenute all'interno della stessa form. La sequenza top-down può essere variata con le condizioni e i cicli. Al primo gruppo appartengono le strutture %IF%...%ENDIF% e %ONATTR%...%ENDATTR%.

L'altro gruppo sarà esaminato nelle pagine successive.

La figura sotto riportata illustra lo schema a blocchi della struttura %IF%...%ENDIF% (il ramo "altrimenti" è rappresentato dall'opzione %ELSE%, mentre il ramo "altrimenti se" è rappresentato da %ELIF%) e della struttura %ONATTR%...%ENDATTR% (il ramo "altrimenti è rappresentato dall'opzione %ATELSE%).

STATEMENT
%IF% (condizione1)
 processato se la condizione1 è vera (risultato diverso da zero)
[
%ELIF% (condizione2)
 processato se la condizione2 è vera (risultato diversoda zero)]
[
%ELIF% (condizioneN)
 processato se la condizioneN è vera (risultato diverso da zero)]
[
%ELSE%
 processato se nessuna condizione è verificata (risultato uguale a zero)]
%ENDIF%

Annotazioni

Gli operatori utilizzati in una espressione condizionale devono rappresentare dei valori interi.
L'uso di variabili o valori decimali, se non convertito in un valore intero, genera un errore di compilazione.

Esempio:
%if%(9.1 > 8.3)<br>
....
genera un errore di compilazione;
mentre

%if%(%ftoi%(9.1 > 8.3))<br>
....
viene correttamente valutato.

STATEMENT
%ONATTR% (nomeattributo, <valore_attributo>)
processato se il contenuto di nomeattributo è <valore_attributo>
[
%ATELSE%
processato se il contenuto di nomeattributo non è <valore_attributo>
%ENDATTR%

DIRECTIVE
%IFSYM% (%STRING% nomesimbolo)
processato se è stata dichiarata una variabile o una funzione con il nome specificato
%ENDSYM%

DIRECTIVE
%IFNSYM% (%STRING% nomesimbolo)
processato se NON è stata dichiarata una variabile o una funzione con il nome specificato
%ENDNSYM%