Classe che astrae il concetto di espansione, separando il formato dagli
indici di associazione coi valori esterni.
Navigami interpreterà l'oggetto come "da espandere" col valore attuale del
campo. <BR>
questa interpretazione viene fatta da @html/protoh, da @html/elemento e da
@html/aspetto/lista
Attualmente sono implementate le seguenti trasformazioni: <BR>
- %[a-Z-_]* verrà generato un nuovo id usando come prefisso la stringa che
segue il %.
- i parametri numerici saranno trattati in modo che in fase di generazione
dell'html vengano sostituiti dal valore del campo di tabella corrispondente.

classe Espansione
{
costruttore(&$argg); locale
Espansioni(); &
EspansioniFormato(); &
Formato(); &
v($vista); &
}

ce($numCampo, ...); &


locale costruttore(&$argg)
Costruttore locale per oggetto Espansione, si dovrebbe usare la funzione ce che prende gli stessi argomenti, ma in numero variabile.

Formato() &
Torna il formato dell'espansione

Espansioni() &
Torna il vettore delle espansioni associate al formato

EspansioniFormato($dati) &
Torna il vettore delle espansioni associate al formato, dove tutte le espansioni intere sono trasformate per diventare un formato per la vsprintf

FormatoVettCampi($dati, &$vett) &
Trasforma il vettore passato come EspansioniFormato

v($vista) &
modifica l'espansione in modo che eventuale riferimenti espressi mediante la notazione coppia (tabella,campo) vengano calcolati come indice progressivo univoco nella vista passata.
Se viene passata un'unione o un affianca, la notazione può assumere il formato (t1,t2,...,tn,campo) dove t1 è l'indice di una vista/unione/affianca all'interno dell'oggetto passato e su di lui viene invocata la procedura di calcolo in maniera ricorsiva passando solo (t2,...,tn,campo) fino a ricondursi al caso (tabella,campo) per una vista prevista al primo paragrafo.

ce($numCampo) &
Funzione scorciatoia per creare un oggetto espansione.
Legge i parametri specificati in numero variabile e li mette in un vettore prima di invocare il costruttore. Attualmente sono implementate le seguenti trasformazioni:
- %[a-Z-_]* verrà generato un nuovo id usando come prefisso la stringa che segue il %. - i parametri numerici saranno trattati in modo che in fase di generazione dell'html vengano sostituiti dal valore del campo di tabella corrispondente.