VXML开发接口说明V10rmd.docx
- 文档编号:12542505
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:140
- 大小:224.68KB
VXML开发接口说明V10rmd.docx
《VXML开发接口说明V10rmd.docx》由会员分享,可在线阅读,更多相关《VXML开发接口说明V10rmd.docx(140页珍藏版)》请在冰点文库上搜索。
VXML开发接口说明V10rmd
第1章VoiceXML标准概述
本章目标
●介绍VoiceXML及相关的一些概念。
●介绍VoiceXML的一些基本元素。
●描述VoiceXMLDocument的执行规则。
1.1
简介
VoiceXML(VoiceeXtensibleMarkupLanguage,语音扩展标识语言)为合成语音,数字音频,语音识别和DTMF(DualToneMulti-frequency,双音多频收号器)键输入,语音纪录、电话、多方会议等提供音频交互手段。
它的主要目标是将基于WEB的开发内容移植到IVR(InteractiveVoiceResponse,交互式声音应答)应用中。
1.2概念说明
1.2.1VoiceXML与XML的关系
XML(eXtensibleMarkupLanguage,可扩展标记语言)和HTML(HypertextMarkupLanguage,超文本链接标识语言)都是由SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)派生而来的。
HTML是SGML的一个实例,而XML则是SGML的一个子集;VoiceXML是XML的一个实例。
●XML是一个可无限扩展的标记语言,是用来设计各种各样的标记语言的准则,即通常所说的“元语言”—Meta-Language(即可产生其它语言的语言)。
●VoiceXML是XML在语音方面的一个实例。
●VoiceXML标准必须先遵循XML规范(有关XML规范请参看相关资料,本手册不予说明)。
1.2.2执行的原则
一个VoiceXMLdocument(文档)或同一个application(应用)中的一系列document形成一个交互式的有限状态自动机。
用户任何时刻只能处于一个会话状态,即处于某一个dialog。
每个dialog决定下一个跃迁到的dialog,跃迁时指定将使用到的URI(UniformResourceIndicator,统一资源指示),即指出了下面使用那个document和dialog;如果该URI没有指定下一个document,则假定为当前document;如果没有指定下一个dialog,则假定为document中的第一个dialog。
如果当前运行完的dialog没有指定下一个跳转的目标,或者其中出现明确要求退出的元素,则终止当前的交互。
1.2.3DialogandSubdialog
1.dialog
dialog(对话)有以下两类:
●form
表示信息的收集输入。
定义了一个交互接口,通过收集输入信息为一系列fielditem域项变量赋值。
其中每个field可以指定一个语法,用以定义该field允许的输入信息。
如果存在form级别的语法,则它可以对会话内的field起作用。
●menu
提出下一步作什么样的选择。
向用户提交一系列可选项,并且下一步的跃迁将基于用户的选择。
2.Subdialog
subdialog(子对话),类似函数调用,它提供了调用一个新的交互的机制,并返回到原来的form。
返回时保存内部数据、所用语法以及状态信息,以供在调用该subdialog的document中使用。
例如可在下列场合使用subdialog:
●创建一个要求访问数据库的验证片断。
●创建一个在一个应用中被多个文档共用的元件。
●创建一个在多个应用中可重用的对话库(libraryofdialogs)。
1.2.4Session
一个session的活动周期为:
●开始于:
当用户开始和一个VoiceXML解释器上下文(interpretercontext)交互时。
●继续于:
当获取和处理document时。
●结束于:
当用户、document、或者解释器上下文要求结束时。
1.2.5Application
一个application由一系列共享同一个rootdocument(根文档)的document构成。
在一个application内,不管用户是通过某一个document进行交互,还是从一个document转换到另一个document,rootdocument总是处于加载状态,此时rootdocument的变量作为application的变量,可以被同一application内的document所使用,并且它的语法在整个application内都是保持激活状态。
只有在用户切换到本application之外的document时,rootdocument才会被卸载。
1.2.6语法
每一个dialog联系着一个或多个语音语法、DTMF语法,在机器引导(machinedirected)的application中,每个dialog的语法只有在用户使用该dialog时,才处于激活状态;在混合引导(mixedinitiative)的application中,用户和机器交互控制下一步做什么;某些dialog会保持其语法为激活状态(例如监听),即使用户转换到同一document中的另一个dialog或同一application的另一个已加载的document,在这种情况下,如果输入的用户语言匹配了另一个dialog的激活语法,执行将转移到该dialog,用户的语言将被当作对此dialog的操作。
混合引导的application增加了语音应用的灵活性与处理能力。
1.2.7事件
对于各种的情况,由平台抛出事件(event),如:
用户没用响应,请求帮助。
当VoiceXML文档有语义错误时,解释器也会抛出事件。
事件由catch元素或由它的快捷形式捕捉;一个事件能产生的每个元素都可指定catch元素。
此外catch元素还可以附加元素“asifbycopy”来继承。
这样,在任何层次都可以指定共有事件的处理方式,并且这适用于所有较低层。
1.2.8Link
link支持混合引导。
如果用户进入link的范围,link指定的语法就处于激活状态,一旦用户输入匹配了link的语法,控制就转移到link的目标URI。
link可以被用来抛出事件以跳转到指定的URI目的地。
1.3
VoiceXML基本元素列表
元素
功能
给一个变量赋值
在一个提示中放音频片段
可执行代码的容器(container),这些代码不是交互代码
在输出中增加暂停的JSML元素
捕捉一个事件
清除一个或多个form变量
定义一个菜单项目
退出一个session
把一些text定义为特殊类的JSML元素
定义一个按键文法
在一个菜单中枚举选择的缩写
抓获一个错误事件
退出一个document或者application
改变语音输出重音的JSML元素