|
Rimane
da vedere uno degli aspetti più utili di SSI, ma anche uno dei
più complicati: i comandi #if, #elif, #else
ed #endif. Grazie ad essi è possibile visualizzare
solamente una parte di una pagina HTML in dipendenza di condizioni
che possono venire ricavate dalle variabili di ambiente. L'uso di
questi SSI sfiora la programmazione (anzi è una forma,
seppur molto semplificata, di programmazione).
Per chiarire il funzionamento consideriamo il esempio
che ha lo scopo di mostrare in grassetto una voce di un indice solo
quando il documento corrente è uno determinato:
<!--#if expr="$DOCUMENT_URI = /ssi/index.shtml" -->
<b>Indice</b>
<!--#else -->
Indice
<!--#endif -->
Lo scopo della tecnica precedente è quello di
fare in modo che la voce di un indice corrispondente ad documento
corrente venga visualizzata in grassetto. Naturalmente questa tecnica
va utilizzata quando più documenti includono lo stesso indece.
In questo modo, quando viene visualizzato l'indice dal documento
/ssi/index.shtml la voce Indice comparirà in
grassetto, e normale negli altri casi.
Le
espressioni in una #if possono utilizzare tutte le variabili
accessibili alla pagina, e si possono effettuare comparazioni
(minore, minore uguale, maggiore e maggiore uguale), confronti per
uguaglianza e sequenze di condizioni composte con AND. Le variabili
in queste espressioni devono essere precedute con $ mentre le
sequenze di caratteri che non iniziano con il carattere del dollaro
sono considerate stringhe fisse. In pratica si tratta di espressioni
tipiche dei linguaggi di programmazione. Questo tipo di espressioni è
abbastanza facile da capire per coloro che conoscono un po' di
programmazione come quella in JavaScript: la sintassi è molto
simile anche se più semplice. Comunque se si è in grado
scrivere espressioni complesse ci si è avviati lungo la strada
che conduce ad imparare l'uso di linguaggi di programmazione come
PHP, ASP o Java Server Pages.
|