Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

VXML “in einer Nußschale”

Ähnliche Präsentationen


Präsentation zum Thema: "VXML “in einer Nußschale”"—  Präsentation transkript:

1 VXML “in einer Nußschale”
Referat im Rahmen des Seminars Dialogsysteme mit VXML SS2001 Universität Stuttgart, IMS Joachim Vollrath

2 Ziele Einstieg in VXML Überblick über die Technologie
Wichtigste "Tags"

3 VXML "in einer Nußschale”
Kurzübersicht XML Einführung in VXML VXML Grundelemente VXML Formular-Elemente Ausführbare Inhalte Komplexeres Beispiel

4 Kurzübersicht XML Beispiel Bedeutung von XML Sinn und Zweck von XML

5 VXML - ein Beispiel <? xml version="1.0" ?> <mitarbeiter>
<name>Meier</name> <vorname>Heinz</vorname> <gebdatum> <jahr>1938</jahr> <monat>10</monat> <tag>29</tag> </gebdatum> <!-- usw, usf --> </mitarbeiter>

6 Was ist XML? XML = eXtensible Markup Language XML = "SGML fürs Web"
Zitat: "XML wurde entwickelt um ein für alle Mal die von Microsoft und Netscape propagierten Tag-Suppenkriege zu beenden." (comp.infosystems. Entwicklung seit 1996, 1998 W3C-Standard

7 Warum XML? Universelle Metasprache um strukturierte hierarchische Information abzubilden Daten + Meta-Daten  Von Mensch und Maschine zu verarbeiten Kostenlos, plattformunabhängig, breite Unterstützung (zumindest in der Theorie)

8 Einführung in VXML Beispiel Bedeutung von VXML Sinn und Zweck von VXML

9 VXML - ein Beispiel <? xml version=" 1. 0"?>
<vxml version=" 1. 0"> <form> <block><prompt>Hello, World!</prompt></block> <field name="greeting"> <prompt> What say you? </prompt> <grammar> hello | howdy | greetings | hey | password </grammar> <help> Say hello, howdy, greetings, hey, or password </help> <filled> You said <value expr="greeting"/> </filled> </field> </form> </vxml>

10 Was ist VXML? VXML = Voice eXtensible Markup Language
Sprach-basierte Telefonieanwendungen Seit 1999 durch das VXML-Forum entwickelt VXML-Forum = Zusammenschluß von AT&T, IBM, Lucent und Motorola

11 Warum VXML? Modellierung sprachgesteuerter Dialogsysteme
Beschreibung Mensch-Maschine-Schnittstelle Integration in bestehende Internet-Infrastruktur Einfaches Erstellen komplexer Applikationen

12 Grundlegende Konzepte
Design-Prinzipien von VXML VXML-Dokumente und -Applikationen VXML Architekturmodell Technologische Einbettung

13 Design-Prinzipien Abstraktion Applikation  Plattform-Details
Modularität Unterstützung vieler Ein- und Ausgabeformate Vernetzung von Inhalten mittels URIs Auslagerung komplexer Berechnungen, Datenabfragen, etc.

14 Dokumente & Applikationen
root D2 D1

15 Implementation Plattform
Architekturmodell Document Server Implementation Plattform VXML Interpreter Context VXML Interpreter

16 Technologische Einbettung

17 VXML Grundelemente Formulare Menüs Links Variablen und Ausdrücke
Grammatiken Ereignisse Ausgaben

18 Formular Schlüsselelement in VXML-Dokumenten
Beherbergt Formular- und Kontrollelemente (ähnlich zu HTML) Interpretation durch FIA Directed & Mixed Initiative Form <form> <block><prompt>Hi, I am a form.</prompt></block> <!-- I can do more, but that's still to come --> </form>

19 Menü Erfragt Auswahl des Benutzers
Leitet entsprechend der Auswahl weiter <menu> <prompt>coffe, tea or milk?</prompt> <choice dtmf="1" next="coffe.vxml"> coffee </choice> <choice dtmf="2" next="tea.vxml"> tea </choice> <choice dtmf="3" next="milk.vxml"> milk </choice> </menu>

20 Link Enthält eine oder mehrere Grammatiken
Leitet weiter oder löst Ereignis aus, falls Grammatik mit Eingabe übereinstimmt <link next="books/main.vxml"> <grammar type="application/x-sjgf"> books | Voice XML books </grammar> <dtmf> 2 </dtmf> </link>

21 Variablen und Ausdrücke
Deklaration wie in Programmiersprachen <var name="pi" expr=" "/> Referenzierung über ECMAScript-Sprache <if cond="city == 'LA'"> </if> <assign name="mm" expr="expiry_date.substring(0,1)"/>

22 Grammatiken Menge von legalen Äußerungen Inline: Extern:
<grammar> visa {visa} | master [card] {mastercard} | amex {amex} | american [express] {amex} </grammar> Extern: <grammar src="URI" type="mime-type"/>

23 Ereignisse Auslösen: Abfangen: Verschiedene Ereignisse vordefiniert
<throw event="nomatch"/> Abfangen: <catch event="nomatch noinput" count="3"> <prompt>Security violation!</prompt> <throw event="telephone.disconnect.hangup"> </catch> Verschiedene Ereignisse vordefiniert

24 Ausgaben Ausgabe synthetisierter Sprache und Audio
Auszeichnung der Sprache Ausgabe gespeicherter Werte <prompt> <audio src="tada.wav"/> <emp>Hello</emp>, <value expr="caller">.<break> It has been <value expr="lastlogin"/> since your last call. </prompt>

25 VXML Formular-Elemente
Felder Filled Subdialoge

26 Field Speichert Benutzereingabe
Kann Grammatiken und Reaktionen enthalten <field name="lo_fat_meal" type="boolean"> <prompt>Do you want a low fat meal on this flight?</prompt> <help>Low fat is the opposite of high fat.</help> <filled> <prompt> I heard <emp><value expr="lo_fat_meal"/></emp>. </prompt> </filled> </field>

27 Filled Ausführen von Aktionen nach dem "Ausfüllen" von Feldern
<form id="get_city"> <field name="city"> <grammar src="served_cities.gram"/> <prompt>What is the city?</prompt> <filled> <if cond="city == 'Novosibirsk'"> <prompt>A wise choice indeed, Sir.</prompt> </if> </filled> </field> </form>

28 Subdialog Aufruf eines neuen VXML-Dialogs (Dokument)
Vergleichbar mit Funktionsaufruf <form> <subdialog name="result" src="#getdriverslicense"> <param name="birthday" expr="' '"/> </subdialog> </form> <form id="getdriverslicense"> <var name="birthday"/> <field name="drivelicense"> <filled> <grammar src="drivegrammar.gram" type="application/x-jsgf"/> <return namelist="drivelicense status"/> </filled> </field>

29 Ausführbare Inhalte Var, Assign, Clear If, ElseIf, Else Submit, Return
Exit

30 Var, Assign, Clear Deklaration Wertzuweisung Löschen
<var name=pi expr="3.0"/> Wertzuweisung <assign name="pi" expr=" "/> Löschen <clear namelist="pi"/>

31 If, ElseIf, Else Bedingte Ausführung
analog zu bekannten Programmiersprachen <if cond="city == 'LA'"> <assign name="city" expr=" 'Los Angeles'"/> <elseif cond="city == 'Big Apple'"/> <assign name="city" expr=" 'New York'"/> <else/> <assign name="city" expr="'Oberalfingen'"/> </if>

32 Submit, Return Weiterleitung auf andere Dokumente mit Parameterübergabe <submit next=" namelist="WKN Stueckzahl"/> Rückgabe von Werten an aufrufendes Dokument <return namelist="foo bar"/>

33 Komplexeres Beispiel Siehe Handout


Herunterladen ppt "VXML “in einer Nußschale”"

Ähnliche Präsentationen


Google-Anzeigen