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%