• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:16来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

元素的内容进行说明,在本例中是C a t e g o r y:
程序清单1 3 - 4 1
对代码完成了同样的操作后(只是这次将其放入括号),我们采取和前一个同样的方式添加
一个< D I V >元素。这个< D I V >元素中含有元素< R E L E A S E _ D AT E >和< P R I C E >的内容,并通过
<xsl: value-of >命令分别同元素< R E L E A S E _ D AT E >和< P R I C E >相匹配。
不像C S S脚本,我们对源文档中X M L文档元素的显示进行了重新排序,而不必先重新组织
X M L文档本身。因此,X S L允许更多的解释自由度并且内容和显示也具有更高的独立性。
下面,我们来看看如何生成这个文档的语音解释版本。
2. 一个带V O X M L语音解释对象的X S LT样式表示例
由M o t o r a l a牵头的V O X M L协会提供了一个语音浏览器原型及一个开发者可以进行实验的
VOXML SDK。S D K和V O X M L项目的相关信息可以在h t t p : / / w w w. v o x m l . c o m上找到。V O X M L
项目的建立是想为语音应用提供一个通用的和广泛支持的平台,就像H T M L为基于We b的应用提
供了平台一样。V O X M L应用采用了对话的形式。浏览和输入都通过终端用户的声音识别来进行,
输出通过文字-语音转换技术或录下来的语音来完成。
V O X M L语言基于X M L格式,因此一个X S LT文档可以用来将一个X M L源文档转换成一个
V O X M L应用程序。开发一个V O X M L应用程序同开发一个基于We b的应用程序一样简单。H T T P
服务器可以将V O X M L文档传给语音用户。V O X M L应用程序在本地进行解译,用户通过一个麦
克风和耳机或P C相连的话筒与应用程序进行交互。因此,一个V O X M L应用服务器可以就是一
个处理X M L文档的H T T P服务器。语音浏览器进行语音识别与文字-语音的转换过程。
V O X M L应用程序不仅仅局限于语音用户上,它还可以应用到与旧的普通电话系统相连接的
V O X M L浏览器上。在这种情况下,输入和输出设备是电话(参见图1 3 - 1 9)。
图13-19
在h t t p : / / w w w. v o x m l . c o m / d o w n l o a d s / V O X M L w p . p d f上有描写这个结构的白皮书和一个简单
的例子。
第13章样式XML使用599 下载
语音浏览器
电话语音浏览器
HTTP
服务器
现在,应该在我们的潜在用户和语音浏览器之间建立一个对话了。我们建立的语音应用程
序可以用VOXML SDK来测试和改进, VOXML SDK 在V O X M L协会组建的网站
h t t p : / / w w w. v o x m l . c o m / l o g i n . a s p上免费提供下载。
源文档可以用X T转换成V O X M L,X T是由James Clark建立的一个X S LT处理器,可以从
h t t p : / / w w w. j c l a r k . c o m / x m l / x t . h t m l上下载(我们在第9章中也使用了X T,附录G讲述了如何安装
X T)。生成的V O X M L文档可以用V O X M L模拟器来解译。
下图是V O X M L模拟计算机显示的对话。当将X M L文档转换为V O X M L后,你要键入转换文
档的U R L。这个文档应该有. xml扩展名。你点击进入按钮,然后突然看到M e r l i n在与你对话并
等待你的回答。你可以通过麦克风或对话框来回答M e r l i n。屏幕上提供了一个文字区域,如果你
没有麦克风,则可以用文字来回答(参见图1 3 - 2 0)。
图13-20
下面是用X T处理器将X M L转换成V O X M L生成的V O X M L文档。稍后再讨论样式表。
程序清单1 3 - 4 2
600使用XML 高级编程
下载
第13章样式XML使用601 下载
这个文档给用户关于图书的三种选择;如果用户选择了一个,它就会告诉用户他们所选择
的题目名。
我们不准备讨论V O X M L语言的细节。这些细节在VOXML SDK上都有。但是我们将集中讨
论叫b o o k l i s t _ a u r a l . x s l的X S LT样式表:
程序清单1 3 - 4 3
602使用XML 高级编程
下载
首先我们用xsl: output命令告诉X S LT引擎想要的输出类型是X M L。当用X T引擎时,可以选
择X M L或H T M L引擎。
下面我们用根结点─文档结点对第一个模板进行匹配。由于不能引入另一个X M L处理指
令,我们用元素xsl: processing-instruction来包括<?xml version = "1.0"?>处理指令。
注意:根据X S LT的建议, X M L声明不能用p r o c e s s i n g - i n s t r u c t i o n命令来完成。用一个x s l :
o u t p u t命令并将其m e t h o d属性设为“x m l”,就完全可以生成相应的X M L声明。由于当前X T的局
限性,我们在样本模板中包括了p r o c e s s i n g - i n s t r u c t i o n命令。
我们在V O X M L引擎调用的< D I A L O G >元素中包括了xsl: apply-templates命令(在上一个例
子中我们用< h t m l >元素包含了这个命令)。这就要求X S LT引擎处理根结点的所有子结点。
程序清单1 3 - 4 4
第二个模板同< B O O K L I S T >元素相匹配。模板中包含一个为V O X M L引擎生成对话步骤的
< S T E P >元素。< P R O M P T >元素的内容被作为演讲来解析。它对图书目录中提供的标题进行计数。
计数是用一个与< I T E M >元素相匹配的xsl: for- e a c h循环来完成的。每出现一个< I T E M >元素,都
用x s l : v a l u e - o f命令把< T I T L E >元素的内容插入< P R O M P T >元素,并在< / P R O M P T >结尾标识前添
加一个< B R E A K >元素:
程序清单1 3 - 4 5
< I N P U T >元素也使用了同样的技术。一些< O P T I O N >元素包含在一个与任意< I T E M >元素相
匹配的xsl: for- e a c h循环中。由于要用从X M L文档中提取出来的数据生成< O P T I O N >元素,我们
一起使用了xsl: element命令和xsl: attribute命令:
第13章样式XML使用603 下载
程序清单1 3 - 4 6
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程下(32)