Notes importantes
- Votre document doit être encodé en UTF-8
- Si une expression JavaScript? contient l'un des évènements "<", ">", ou "&", ce caractère doit être remplacé par la séquence correspondante "<", ">", ou "&". Pour plus d'informations, consultez Référence JavaScript?.
| Elements |
Description |
| <assign> |
Assigner une valeur à une variable |
| <audio> |
Jouer un son audio à l'intérieur d'une balise <prompt> |
| <block> |
Un conteneur (non-intéractif) de code exécutable |
| <catch> |
Capturer un évènement |
| <choice> |
Définir un élément d'un menu |
| <clear> |
Nettoyer une ou plusieurs variable(s) d'un formulaire |
| <else> |
Utilisé au sein des éléments <if> |
| <elseif> |
Utilisé au sein des éléments <if> |
| <enumerate> |
Raccourci dans l'énumération des choix d'un menu |
| <error> |
Capturer un évènement d'erreur |
| <exit> |
Quitter une session |
| <field> |
Déclarer un champ de saisie au sein d'un formulaire <form> |
| <filled> |
Une action exécutée lorsque que les champs de l'élément <field> sont remplis |
| <form> |
Un dialogue dans le but de présenter et de récupérer des informations |
| <goto> |
Se rendre à un autre dialogue dans le même document ou non |
| <grammar> |
Spécifier une grammaire DTMF |
| <if> |
Simple condition logique |
| <link> |
Spécifier un lien de transition commun à tous les dialogues |
| <menu> |
Un dialogue permettant de choisir différents chemins |
| <noinput> |
Capturer un évènement de non saisie (noinput) |
| <nomatch> |
Capturer un évènement de non similitude (nomatch) |
| <option> |
Spécifier une option au sein d'une balise <field> |
| <param> |
Spécifier un paramètre dans un sous-dialogue |
| <prompt> |
Mettre en file d'attente les synthèses vocales et les fichiers audio à jouer |
| <property> |
Contrôler la configuration de la plateforme |
| <record> |
Permet d'enregistrer un message vocal |
| <reprompt> |
Jouer un <prompt> lorsque qu'un champ de saisie <field> est revisité après un évènement |
| <return> |
Revenir d'un sous-dialogue |
| <script> |
Spécifier un bloc d'ECMAScript logique du côté client |
| <subdialog> |
Invoquer un autre dialogue comme sous-dialogue du dialogue courant |
| <submit> |
Envoyer des valeurs à un document hébergé sur un serveur |
| <throw> |
Retourner un évènement |
| <transfer> |
Transférer l'appelant sur une autre destination |
| <value> |
Insérer la valeur d'une expression dans un prompt |
| <var> |
Déclarer une variable |
| <vxml> |
Elément racine de chaque document VoiceXML |
Assigner une valeur à une variable.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<var name="a"/>
<var name="b"/>
<var name="result"/>
<form id="foo">
<block>
<assign name="a" expr="'Bon'"/>
<assign name="b" expr="'jour'"/>
<assign name="result" expr="a + b"/>
</block>
<block>
<prompt>
Ceci est un test de la balise assign.
Si vous associez la valeur <value expr="a"/> et <value expr="b"/> ensembles,
le resultat sera <value expr="result"/>
</prompt>
</block>
</form>
</vxml>
Parent : block, catch, error, filled, help, if, noinput, nomatch
Enfant : Aucun
Revenir en haut
Jouer un son à l'utilisateur.
Attention à l'encodage de vos fichiers :
- 16 bit, mono 8000 Hz
Pour cela vous pouvez vous aider de l'outil
Sox
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<form id="foo">
<block>
<prompt>
Exemple de fichier audio
</prompt>
<audio src="./sample/test.wav"/>
</block>
</form>
</vxml>
Parent : audio, block, catch, choice, enumerate, error, field, filled, if, menu, noinput, nomatch, prompt, record, subdialog, transfer
Enfant : audio, break, enumerate, value
Revenir en haut
Un conteneur (non-intéractif) de code exécutable.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<form id="foo">
<block name="bonjour">
<prompt>
Bienvenue,
<audio src="welcome.wav" />
</prompt>
</block>
</form>
</vxml>
Parent : form
Enfant : audio, assign, data, clear, enumerate, goto, if, prompt, reprompt, return, script, subdialog, submit, throw, var, value
Revenir en haut
Capturer un évènement.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form>
<catch event="nomatch">
<prompt>
Desole, je n'ai pas entendu un nombre plus grand que 5.
</prompt>
<reprompt/>
</catch>
<block name="numbergame">
Vous pouvez creer des jeux avec des nombres en utilisant JavaScript
?
</block>
<field name="mynumber" type="number">
<prompt>
Entrez un nombre que je le repete pour vous.
</prompt>
<filled>
<if cond="mynumber > 5">
<prompt>
Le nombre entre est le <value expr="mynumber"/>
</prompt>
<else/>
<clear namelist="mynumber"/>
<throw event="nomatch"/>
</if>
</filled>
</field>
</form>
</vxml>
Parent : field, form, menu, record, subdialog, transfer, vxml
Enfant : audio, assign, clear, data, enumerate, exit, goto, if, prompt, reprompt, return, script, subdialog, submit, throw, var, value
Revenir en haut
Définir un élément d'un menu.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<menu>
<prompt>
Bienvenue.
<enumerate>
Pour <value expr="_prompt"/>, appuyez sur <value expr="_dtmf"/>
</enumerate>
</prompt>
<choice dtmf="1" next="#foo">L'horloge parlante</choice>
<choice dtmf="2" next="meteo.vxml">La meteo</choice>
<choice dtmf="3" next="news.vxml">Les informations</choice>
</menu>
<form id="foo">
<block name="horloge">
<prompt>
horloge parlante indisponible
</prompt>
</block>
</form>
</vxml>
Parent : menu
Enfant : grammar
Revenir en haut
Nettoyer une ou plusieurs variables d'un formulaire.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form>
<field name="pin" type="digits?length=4">
<prompt>
Veuillez entrez votre code PIN
</prompt>
</field>
<field name="choice">
<prompt>
Votre code PIN est <value expr="pin"/>
</prompt>
<option dtmf="*" value="again" />
<option dtmf="0" value="confirm" />
<option dtmf="1" value="again" />
<option dtmf="2" value="again" />
<option dtmf="3" value="again" />
<option dtmf="4" value="again" />
<option dtmf="5" value="again" />
<option dtmf="6" value="again" />
<option dtmf="7" value="again" />
<option dtmf="8" value="again" />
<option dtmf="9" value="again" />
<filled>
<if cond="choice == 'confirm'">
<prompt>Tres bien.</prompt>
<else/>
<clear namelist="choice pin" />
<prompt>Recommencons</prompt>
</if>
</filled>
</field>
</form>
</vxml>
Parent : block, catch, error, filled, help, if, noinput, nomatch
Enfant : aucun
Revenir en haut
Utilisé au sein des éléments
pour avoir une autre action sans condition.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form id="form">
<field name="hello">
<prompt>Appuyez sur 1 pour continuer ou sur 2 pour quitter.</prompt>
<option dtmf="1" value="one" />
<option dtmf="2" value="two" />
<nomatch>Desole, je ne comprends pas.<reprompt/></nomatch>
<filled>
<if cond="hello=='one'">
<prompt> Bienvenue ici. </prompt>
<else/>
<prompt> Desole. Au revoir </prompt>
</if>
</filled>
</field>
</form>
</vxml>
Parent : if
Enfant : aucun
Revenir en haut
Utilisé au sein des éléments pour avoir une autre action avec condition.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form>
<field name="color">
<prompt>
Pour le noir appuyez sur 0,
Pour le blanc appuyez sur 1,
Pour le vert appuyez sur 2,
Pour le bleu appuyez sur 3,
Pour le rose appuyez sur 4,
Pour le jaune appuyez sur 5,
Pour le rouge appuyez sur 6.
Pour quitter appuyez sur etoile.
</prompt>
<option dtmf="0" value="black" />
<option dtmf="1" value="white" />
<option dtmf="2" value="green" />
<option dtmf="3" value="blue" />
<option dtmf="4" value="purple" />
<option dtmf="5" value="yellow" />
<option dtmf="6" value="red" />
<option dtmf="*" value="exit" />
<prompt>
Choisissez votre couleur preferee, je vous dirais son code
hexa decimal.
</prompt>
<filled>
<var name="color_code"/>
<if cond="color == 'black'">
<assign name="color_code" expr="'000000'"/>
<elseif cond="color == 'white'"/>
<assign name="color_code" expr="'FFFFFF'"/>
<elseif cond="color == 'green'"/>
<assign name="color_code" expr="'00FF00'"/>
<elseif cond="color == 'blue'"/>
<assign name="color_code" expr="'0000FF'"/>
<elseif cond="color == 'purple'"/>
<assign name="color_code" expr="'7D26CD'"/>
<elseif cond="color == 'yellow'"/>
<assign name="color_code" expr="'8B8B00'"/>
<elseif cond="color == 'red'"/>
<assign name="color_code" expr="'CD0000'"/>
<elseif cond="color == 'exit'"/>
<exit />
<else/>
<assign name="color_code" expr="'?'"/>
</if>
<prompt>
Le code est <value expr="color_code"/>
</prompt>
<clear namelist="color color_code"/>
</filled>
</field>
</form>
</vxml>
Parent : if
Enfant : aucun
Revenir en haut
Raccourci dans l'énumération des choix d'un menu.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<menu>
<prompt>
Bienvenue.
<enumerate>
Pour <value expr="_prompt"/>, appuyez sur <value expr="_dtmf"/>
</enumerate>
</prompt>
<choice dtmf="1" next="#foo">L'horloge parlante</choice>
<choice dtmf="2" next="meteo.vxml">La meteo</choice>
<choice dtmf="3" next="news.vxml">Les informations</choice>
</menu>
<form id="foo">
<block name="horloge">
<prompt>
horloge parlante indisponible
</prompt>
</block>
</form>
</vxml>
Parent : audio, block, catch, choice, enumerate, error, field, filled, if, menu, noinput, nomatch, prompt, record, subdialog, transfer
Enfant : audio, break, enumerate, value
Revenir en haut
Raccourci pour . Attrape les évènements d'erreurs de tous types.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form>
<error>
<prompt>Ce code est mauvais! <value expr="code"/></prompt>
</error>
<field name="code" type="digits?length=3">
<prompt> Entrez votre code PIN. </prompt>
<filled>
<if cond="code != '100'">
<throw event="error"/>
<else/>
<prompt>Mot de passe correct!</prompt>
</if>
</filled>
</field>
<block>
<prompt>Ceci est le dernier element du formulaire.</prompt>
</block>
</form>
</vxml>
Parent : field, form, menu, record, subdialog, transfer, vxml
Enfant : audio, assign, clear, data, enumerate, exit, goto, if, prompt, reprompt, return, script, subdialog, submit, throw, var, value
Revenir en haut
Décharger tous les documents et retourner depuis l'environnement d'exécution de l'interpréteur.
<?xml version="1.0" ?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml" xml:lang="fr-FR">
<property name="inputmodes" value="dtmf" />
<form>
<field name="color">
<prompt>
Pour le noir appuyez sur 0,
Pour le blanc appuyez sur 1,
Pour le vert appuyez sur 2,
Pour le bleu appuyez sur 3,
Pour le rose appuyez sur 4,
Pour le jaune appuyez sur 5,
Pour le rouge appuyez sur 6.
Pour quitter appuyez sur etoile.
</prompt>
<option dtmf="0" value="black" />
<option dtmf="1" value="white" />
<option dtmf="2" value="green" />
<option dtmf="3" value="blue" />
<option dtmf="4" value="purple" />
<option dtmf="5" value="yellow" />
<option dtmf="6" value="red" />
<option dtmf="*" value="exit" />
<prompt>
Choisissez votre couleur preferee, je vous dirais son code
hexa decimal.
</prompt>
<filled>
<var name="color_code"/>
<if cond="color == 'black'">
<assign name="color_code" expr="'000000'"/>
<elseif cond="color == 'white'"/>
<assign name="color_code" expr="'FFFFFF'"/>
<elseif cond="color == 'green'"/>
<assign name="color_code" expr="'00FF00'"/>
<elseif cond="color == 'blue'"/>
<assign name="color_code" expr="'0000FF'"/>
<elseif cond="color == 'purple'"/>
<assign name="color_code" expr="'7D26CD'"/>
<elseif cond="color == 'yellow'"/>
<assign name="color_code" expr="'8B8B00'"/>
<elseif cond="color == 'red'"/>
<assign name="color_code" expr="'CD0000'"/>
<elseif cond="color == 'exit'"/>
<exit />
<else/>
<assign name="color_code" expr="'?'"/>
</if>
<prompt>
Le code est <value expr="color_code"/>
</prompt>
<clear namelist="color color_code"/>
</filled>
</field>
</form>
</vxml>
Parent : block, catch, error, filled, if, noinput
Enfant : aucun
Revenir en haut
Déclarer un champ de saisie au sein d'un formulaire