Jazyk VoiceXML (Voice eXtensible Markup Language) je XML jazyk navrhnutý pre vytváranie rečových aplikácií. Ide o skriptovací jazyk, ktorý slúži na riadenia rečovej dialógovej interakcie medzi človekom a počítačovým systémom, resp. rečovou platformou (Voice Platform). Takéto skripty obsahujú inštrukcie pre tok dialógu, obsah dialógu a spôsob jeho prezentácie. VoiceXML jazyk sa stal veľmi obľúbeným a rozšíreným vďaka jednoduchému syntaxu, ktorý je založený na XML jazyku, čo vedie k dobrej čitateľnosti a spravovateľnosti vytvorených rečových aplikácií. Široké akceptovanie jazyka VoiceXML ako priemyselného štandardu prinieslo ďalšie výhody v podobe dobrej prenositeľnosti služieb na iné platformy.
Typickými príkladmi VoiceXML aplikácií sú:
Jazyk VocieXML je založený na XML (eXtensible Markup Language) tag-atribút formáte:
<element attr_name=“attr_value”>
..vnorené elementy..
</element>
Každý XML a teda tiež VoiceXML dokument musí začínať identifikáciou XML súboru na prvom riadku, v nasledujúcom tvare:
<?xml version="1.0" encoding="UTF-8"?>
Všetko ostatné vo vnútri VoiceXML dokumentu musí byť uzavreté vo vnútri
<vxml version="2.0">
..VoiceXML aplikácia..
</vxml>
Prázdny VoiceXML dokument teda bude vyzerať nasledovne:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">
obsah dokumentu
</vxml>
Úloha 1: Otvorte si ľubovoľný textový editor a vytvorte nový VoiceXML dokument (s príponou .vxml), do ktorého vložte základnú kostru VoiceXML dokumentu.
Poznámka: Veľmi dobrými editormi pre vytváranie VoiceXML dokumentov sú napr. free editory ConTEXT alebo PSpad. Umožňujú zvýrazniť syntax XML jazyka a tým sprehľadniť a spríjemníť vytváranie a editovanie XML dokumentov.
VoiceXML dokumenty (súbory s príponou .vxml) sú základom VoiceXML aplikácií.
Skupina VoiceXML dokumentov, ktoré sú vzájomne prepojené cez tzv. root dokument, tvoria jednu VoiceXML aplikáciu. Takýto root dokument slúži ako akýsi inicializačný bod aplikácie.
VoiceXML dokument pozostáva zo skupiny dialogóv.
Relácia začína vtedy, keď používateľ začína interagovať s VoiceXML dokumentom.
Dialógy sú základnými stavebnými prvkami VoiceXML dokumentov.
Počas interakcie používateľa s VoiceXML aplikáciou, je používateľ stále "v dialógu".
Dialógy sú definované pomocou dvoch typov tagov (značiek):
Formy:
<form> tag
Menu:
<menu> tag
Dialógy sú najčastejšie realizované cez formy, reprezentované <form>
elementom. VoiceXML dokumenty zväčša pozostávajú z jednej alebo viacerých <form>
elementov. Vykonávanie foriem riadí Formový interpretačný algoritmus (FIA - Form Interpretation Algorithm).
<form>
element môže mať (je dobré ak má) id
atribút. Ten slúži na identifikáciu formy a tiež na navigáciu medzi formami.
<form id="moj_prvy_dialog">
obsah dialógu
</form>
Elementy vo vnútri foriem voláme položky foriem (form items). Tieto položky realizujú úlohy potrebné pre realizáciu dialógu (zber dát, vykonávateľný obsah a pod.).
VoiceXML dokument, ktorý obsahuje jednu formu (ktorá je ale prázdna), bude vyzerať nasledovne:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">
<form id="moj_prvy_dialog">
obsah dialógu
</form>
</vxml>
Žiaľ, ani tento dokument ešte nebude realizovať žiadnú dialógovú interakciu, lebo forma moj_prvy_dialog nemá žiaden interpretovateľný obsah.
Aby sme konečne mohli vyskúšať našu prvú VoiceXML rečovú aplikáciu, preskočíme niekoľko krokov, a jednoducho pridáme do formy nejaký vykonávateľný obsah:
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0">
<form id="moj_prvy_dialog">
<block>
<prompt> Ahoj svet! </prompt>
</block>
</form>
</vxml>
Úloha 2: Otvorte svoj skôr vytvorený prázdny VoiceXML dokument a zapíšte do neho obsah Hello World príkladu. Následne sa pokúste VoiceXML aplikáciu spustiť v prostredí systému OptimTalk. Funguje to?
V priloženom dokumente si prečítajte o základných princípoch tvorby VoiceXML aplikácií. Principles_of_VoiceXML_design.docx