![]() |
|
||||||||||||||||||||||
|
Voice Extensible Markup Language (VoiceXML)Status: W3C Candidate Recommendation vom 20.02.2003Version: 2.0 Homepage: http://www.voicexml.org Verfasser: W3C VoiceXML ist eine XML-Sprache, die vom VoiceXML-Forum entwickelt und gepflegt wird. Das Forum wurde von IBM, Motorola, AT&T und Lucent Technologies mit dem Ziel gegründet , einen Standard für den Zugriff auf Netz-Dienste über das Telefon zu etablieren [Wireless2000a] Die Version 2.0 der VoiceXML-Spezifikation ist seit dem 20. Februar 2003 öffentlich verfügbar VoiceXML wurde entwickelt, um auf einfache Weise sprachbasierte Applikationen entwickeln zu können. Sprachbasierte Applikationen machen hauptsächlich auf Geräten Sinn, die nur ein sehr kleines (oder überhaupt kein) Display haben und die oft nur über eine numerische Tastatur verfügen, wie z.B. Mobiltelefone. Dazu kommt noch begrenzter Speicher und begrenzte Rechenleistung. Mit VoiceXML ist es nun möglich, sprachgesteuerte Applikationen zu entwickeln, die alle VoiceXML-fähigen Geräte ausführen können. VoiceXML-Dokumente bestehen zunächst aus einer Anzahl von Dialogen (<form> oder <menu>). Diese Dialog-Elemente beschreiben den Ablauf von Interaktionen mit dem Benutzer und sind demnach als Applikation anzusehen. Das menu-Element ist eine spezielle Form des <form>- Elementes. Es ist nützlich, um dem Benutzer eine Auswahl von Möglichkeiten zu geben und entsprechend der Auswahl weiter im Programm zu verzweigen (oder ein neues VoiceXML-Dokument zu laden).
Folgendes Beispiel zeigt den Aufbau einer einfachen Applikation:
Ein denkbares Szenario wäre dann:
Richtig interessant sind bei VoiceXML Blöcke mit prozeduraler Logik. Folgendes Beispiel führt eine Validierung von Monatseingaben durch:
Dieser Ausschnitt definiert zunächst die Variablen mm und i. Der Variablen i wird als Wert die Länge des eingegebenen Datums (Form: 1-2-0-1 für Dezember 2001) zugewiesen. Das Jahr muß zweistellig eingegeben werden, der Monat kann ein- oder zweistellig eingegeben werden (0-1 oder 1 für Januar). Abhängig vom Wert der Variablen i wird nun der Monats-Substring extrahiert und in der Variablen mm abgespeichert. Jetzt wird nur noch nachgeprüft, ob sich mm im Bereich [1..12] befindet. Ist das nicht der Fall, wird ein passender Event generiert (der dann eine entsprechende Fehlermeldung anzeigt). Solche Logik-Blöcke werden vom VoiceXML-Interpreter über einen ECMA Script-Interpreter ausgeführt, d.h. es ist kein Compilieren notwendig.
| ||||||||||||||||||||||
|
|||||||||||||||||||||||