ACCEPT - Attraverso questa inseriamo del testo, ci muoviamo verso la CARD successiva, iniziamo o finiamo una azione.
PREV - Attraverso questa ritorniamo alla card precedente.
SOFT1-SOFT8 - Applicazioni predefinite.
HELP - visualizza una CARD d'aiut
o.
facciamo attenzione.
Queste azioni sono definite "astratte"; non andiamo a cercare sul nostro cellulare o altro dispositivo a cristalli liquidi i vari tastini corrispondenti.
Ci sarà, ad esempio, il tastino ENTER per farci andare avanti, equivalente all' ACTION TYPE= ACCEPT,
se e quando, i gestori di telefonia mobile del nostro paese offriranno adeguati servizi wap.
Le ACTION sono definite dal marcatore:
<ACTION TYPE=>
Notiamo, en passant, che è stato necessario definire un marcatore come questo
perché i cellulari ed altri dispositivi del genere non hanno certo il mouse e una tastiera qwerty.
Le singole ACTION sono strutturate in ACTIVITIES (sic) equivalenti alle navigazione in un sito che offre scelte multiple
o la compilazione di moduli.
Il termine preciso per la serie logica di activities che possiamo compiere è activity stack (insieme di activity)
Come ho già detto sopra queste ACTIVITIES sono assimilabili alla navigazione in un sito con opzioni di scelta e moduli.
I dati che si introducono attraverso il telefonino o altro dispositivo si chiamano VARIABLES.
Questi dati fanno partire un TASK ( task in inglese vuole dire compito da eseguire )
Tipi di TASK possono essere l'andare avanti ( GO )o indietro in un deck.
Ad esempio questo breve listato definisce l'introduzione del nome giovanni e il conseguente passaggio tra una card e l'altra:
<ACTION TYPE=ACCEPT TASK=GO DEST="#card2" VARS="name=giovanni">
Senza preoccuparci adesso dell'esatta sintassi di questo passaggio e di come e dove andrà scritta
notiamo che è stata definita una ACTION, un TASK e una VARIABLES,
cioé
un pulsante da premere e un compito legato a questo pulsante premuto
( andare avanti se viene inserito il nome giovanni).
Dalle azioni che compiamo nella vita di tutti i giorni ci aspettiamo delle conseguenze
Cosi dobbiamo considerare una eventuale risposta dai pulsanti premuti dal nostro telefonino
ad esempio un numero di telefono inserendo un nome.
L'HDML include in sé la possibilità di definire azioni
e risposte a queste.
Mentre nell'HTML di una pagina web deve essere implementato un linguaggio di sripting
l'HDML è sia un linguaggio a marcatori sia un linguaggio di scripting.
Vi sono marcatori per dare una relativa aspetto grafico al display e altri marcatori che sono destinati
esclusivamente a sistemare le azioni che vogliamo fare.
Vediamo:
<HDML version=2.0>
<DISPLAY>
<ACTION TYPE=ACCEPT TASK=GOSUB DEST="#cardincuisielaboraloscript"
RECEIVE="var1;var2">
var1 = $(var1)
var2 = $(var2)
</DISPLAY>
<NODISPLAY NAME=cardincuisielaboraloscript>
<ACTION TYPE=ACCEPT TASK=RETURN RETVALS="abc;xyz">
Return abc;xyz
</NODISPLAY>
</HDML>
Senza preoccuparci per ora di vedere nel dettaglio l'esatta sintassi di questi marcatori
notiamo che tra i primi marcatori <DISPLAY> </DISPLAY> abbiamo inserito la richiesta
di ricevere 2 variabili
Nei successivi marcatori <DISPLAY> </DISPLAY> il TASK consiste nel restituire
i valori abc ed xyz.