TUTORIAL
LEZIONE 3. La prima e "classica" applicazione VoiceXML
In questa terza, ed ahime' tanto attesa, lezione
introdurremo i concetti basilari per creare una applicazione VoiceXML, facendo ricorso al primo e classico esempio "Hello World".
Segue il semplice codice necessario per far dire al ns. PC "Hello World ! This is my first VoiceXML application":
Tags, Elementi ed Attributi
Le prime due righe dell'applicazione
sono obbligatorie per qualsiasi applicazione VoiceXML. La linea 1 e' molto importante in quanto indica, sia a chi visualizza il codice sia a al software che lo deve eseguire che il codice a seguire e' un file XML. La linea 2 e' il tag di apertura che identifica che il resto del file e' scritto in VoiceXML.
In XML ed in VoiceXML tutte le informazioni sono racchiuse tra due tags. I tags sono indentificati dai simboli di maggiore e minore ("<" e ">") ed ogni tag di apertura, come quello della linea 2 e' "accoppiato" con un tag di chiusura. Per il tag della linea 2 il corrispondente di chiusura e' quello alla linea 12:
I tags di chiusura sono identificati dal simbolo di "backslash" (/). I due tags di chiusura ed apertura considerati nel loro insieme formano un elemento.
Il tag di apertura contiene due attributi , version and mode. Gli attributi si possono definire come variabili relative agli elementi. Version e mode sono in questo caso due variabili relative all'elemento "vxml".
L'attributo version indica la versione di VoiceXML utilizzata.
Mode, che e' un estensione alle specifiche VoiceXML 1.0 del Cambridge Voice Studio, indica il modo in cui browser vocale (in pratica l'interprete VoiceXML) deve "proporre" l' applicazione.
Mode = "TTS" (text-to-speech) significa che il browser convertira' i prompt vocali in suoni utilizzando il "Lernout & Hauspie English True Voice 6.00 (Build 10) Text To Speech Engine for Windows" (fornito con il Voice Studio in linguaggio "American English"...altre lingue non sono al momento ancora supportate anche se stiamo insistendo nei confronti di Cambridge Voice Tech per l'italiano !).
Mode = "SPCH" (Speechify) significa che verra' utilizzato lo Speechify TTS Engine (non fornito con il Voice Studio)
Mode = "CONSOLE" significa che verra' utilizzato il video come dispositivo di output e la tastiera come dispositivo di input. Se non specificato nessun mode quello di default e' "CONSOLE".
Commenti
Le linee dalla 3 alle 6
sono dei commenti (un blocco di commenti e' sempre racchiuso tra "< - -" e "- - >") e sono ignorate dal browser. Attenzione a non utilizzare i caratteri maggiore (">") e minore ("<") all' interno dei commenti perche' potrebbero trarre in inganno l'interprete !
Prompts
La vera "azione" dell' applicazione VoiceXML (il "prompt" verso l'utente), per piccola che essa sia (come in questo caso in cui essa e' rappresentata solo dalla frase "Hello World ! This is my first VoiceXML application"), dev' essere sempre contenuta all' interno dell' elemento "block" (linee dalla 8 alla 10). Il testo contenuto all' interno dell' elemento "prompt" (linea 9) rappresenta la frase che verra' proposta all' utente (in questo caso, visto che mode= "TTS", in forma "vocale" per mezzo della conversione eseguita dal TTS Engine).
Gerarchia degli elementi
VoiceXML e' un linguaggio gerarchico. Cio' significa che ogni elemento presenta un certo numero di elementi come figli ed altri come padri. Ad esempio l'elemento "prompt" (linea 9) e' contenuto nell' elemento "block" (righe 8 e 10) che a sua volta e' contenuto nell' elemento "form" (linee 7 e 11).
"Prompt" e' percio' figlio di "block" il quale oltre a essere padre di "prompt" e' a sua volta figlio di "form". Tale gerarchia che va obbligatoriamente rispettata potrebbe sembrare inutile, ma ci renderemo conto ben presto che e' esattamente il contrario.
Torna alla LEZIONE 2 / Vai alla LEZIONE 4