您的位置:建站学院首页 >> 文章 >> 网页设计 >> XML
你好,声音世界
作者:Didier Martin
发表时间:2000年9月6日
原文链接:http://www.xml.com/pub/au/16
译者: neworacleuser
翻译时间:2001年6月2日

上一次在Didier的实验室里,我们了解到,通过VoiceXML语言,可以建立XML的听觉世界。这一周,我将对VoiceXML做更多的说明,并且建立一个经典的“Hello World”应用,但这一次你不是看见它的结果而是将可以听见。我的上一篇文章引起了一些人的兴趣,他们问我VoiceXML文档是否可以建立语音应用,如何建立这种应用。回答这个问题,提供了一个展现VoiceXML特征和十分不同于HTML或XHTML的基本概念的机会。


一个VoiceXML应用是一组对话(dialog),一个对话是VoiceXML解释程序和一名谈话者的基本交互单元。一个对话单元既可以是一个表单(form)也可以是一个菜单(menu)。一个表单由谈话者提供的一组字段组成。一个菜单是由谈话者设置的选项。下图是一个VoiceXML应用的例子,这个应用在所显示的不同对话之间有一些联接。


图一: VoiceXML对话集


你好世界

下面是一个经典的用VoiceXML写的“Hello World”应用:

<?xml version="1.0"?>
<!DOCTYPE vxml PUBLIC "-//Tellme Networks//Voice Markup Language 1.0//EN"
"http://resources.tellme.com/toolbox/vxml-tellme.dtd">
<vxml version="1.0" base="" lang="en" application="">
<meta name="Author" content="Didier PH Martin"/>
<meta name="Document" content="The classical Hello World Sample"/>
<form>
<block>
<audio src="http://talva.dyndns.org/vxml/helloWorld.wav">
    Hello world
</audio>
</block>
</form>
</vxml>


因为我们做的是留言机,我们的“Hello World”应用不显示任何东西,仅仅只是放音。



我们很熟悉VoiceXML文件的第一行。它的DOCTYPE声明指明了文件定义文件(DTD)的存放位置。一般情况下,如果不需要确认,或者不要求外部实体,可以忽略DOCTYPE声明。但是,如果你是在Tellme环境中测试这个“Hello World”应用,你需要有这个Tellme DOCTYPE声明,因为在Tellme解释程序中执行与VoiceXML联盟推荐的规范有略微的不同,这个DOCTYPE声明在Tellme环境是必须的,但在其他VoiceXML解释程序上并不是必须的。



根元素(或文档类型元素),<vxml>,包括version, base, language和application属性。其中最重要的是application属性,它是XHTML和VoiceXML应用的主要不同点。在XHTML世界,现有的多数浏览器中,<html>元素包含的内容被显示为一个独立的带滚动条的页。

在VoiceXML世界,<vxml>元素包含的部分被集成为一个更大的整体:一个应用会话(session)。会话期仅仅是用户的连接期;也就是,对话者连到VoiceXML解释程序的期间。当对话者挂起会话或者是一个VoiceXML文档要求解释程序挂起时终止。



一个VoiceXML应用是一组共享的普通应用文档的文档集合。在VoiceXML文档中的Application属性向解释程序说明特别应用的所有者。我们的示例文档是定义诸如当谈话者说“告诉我菜单”则该做什么或者当按两次‘*’键该做什么、或者谈话者说“再见”该做什么等这些标准行为的Tellme应用的一部分,下图显示了应用和对话文档之间的关系。

本内容共2页  首 页  上一页  下一页  尾 页  当前在第1

Google
 
Web www.cqxw.net