⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 01_8_28_3.asp.html

📁 手把手教你安装PHP
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'>
<TITLE>计算机世界网-使用Perl创建VoiceXML应用程序</TITLE><style>.a1{font-size:1}</style>
</HEAD>
<style>
.a14{font-size:14px;text-indent:25px;line-height:20px}
.f{font-size:18px;color=#0f3ccd}
img{border:0px;}
td,p,input{font-fammily:verdana,宋体;font-size:12px;}
A:link {text-decoration:none;color:black}
A:visited {text-decoration:none;color:#80006f}
A:hover {text-decoration:underline;color:black}
</style>
<center>
<BODY topmargin=2 leftmargin=0>
<style>
.v12{font-size:10pt;color:"#ffffff";FONT-WEIGHT: bold}
.v14{font-size:14px;text-indent:25px;line-height:20px}
img{border:0px;}
td,p,input,select{font-fammily:verdana,宋体;font-size:12px;}
A:link {text-decoration:none;color:black}
A:visited {text-decoration:none;color:#80006f}
A:hover {text-decoration:underline;color:black}
</style>

<style>
.v13{font-size:10pt;color:"#ffffff";FONT-WEIGHT: bold}
.v12{font-size:13px;color:"#4C029C";FONT-WEIGHT: bold}
.v14{font-size:14px;text-indent:25px;line-height:20px}
img{border:0px;}
td,p,input,select{font-fammily:verdana,宋体;font-size:12px;}
A:link {text-decoration:none;color:black}
A:visited {text-decoration:none;color:#80006f}
A:hover {text-decoration:underline;color:black}
</style>

<!--头-->

<table align=center cellpadding="0" cellspacing="0" border="0" width="767">
  <tr><td valign=bottom>
      <table cellpadding="0" cellspacing="0" border=0>
        <tr><td valign=top><img src="/center/image/ccwlogo.gif"></td></tr>
        <tr><td height="27" valign=top><img src="/center/image/knowledge.gif" width="207" height="27"></td></tr>
      </table></td>
	<td valign=bottom width=556 bgcolor="#4c029c" height=96>
		  <table cellpadding="0" cellspacing="0" border=0 width=556 bgcolor="#4c029c" height=96>
        <tr><td height=25 valign=bottom bgcolor="#ffffff"  colspan=2 ><img src="/image2002/top.gif" usemap="#F"></td></tr>
	<tr  valign=middle >
		<td align=center valign=middle height="60" align=center>
		<!-- <a href="/search/" target=_blank><img src="/img2/esearch.GIF" border=0 width=468 height=60></a> --><a href="/html/search/thememail/" target=_blank><img src="/img2/topbanner_thememail.GIF" border=0 width=468 height=60></a>	
		</td>		
		<td  align=center width=15%>
			<table width=95%>
				<tr><td><a href="mailto:center@ccw.com.cn?subject=我要投稿:" target=_blank><font class=v13>我要投稿</a><br><a href="mailto:center@ccw.com.cn?subject=编读往来"><font class=v13>编读往来</a><br><a href="javascript:AddBookMark('计算机世界网首页')"><font class=v13>加入收藏</a></font></td></tr>
			</table>
		</td>
	</tr>
		<tr><td bgcolor="#ffffff" height=1 colspan=2 ></td></tr>
		<tr><td bgcolor="#b4aafc" height=2 colspan=2 ></td></tr></table>
		<map name="F">
<area href="/" shape="rect" coords="29, 3, 61, 18" target=_blank>
<area href="/news1/" shape="rect" coords="72, 3, 143, 18" target=_blank>
<area href="/center/" shape="rect" coords="155, 2, 216, 18" target=_blank>
<area href="/work/" shape="rect" coords="225, 2, 299, 18" target=_blank>
<area href="/search/" shape="rect" coords="310, 3, 364, 19" target=_blank>
<area href="http://www3.ccw.com.cn/" shape="rect" coords="372, 2, 412, 19" target=_blank>
<area href="http://www2.ccw.com.cn/" shape="rect" coords="424, 2, 550, 18" target=_blank></map>
	</td></tr>
	<tr><td colspan=2 bgcolor="#b4aafc">
	<table border=0 cellpadding=0 cellspacing=0 width=100%>
		<tr>
            <td width=26% align=center><font  class=v12>【2003年2月7日】&nbsp;&nbsp;&nbsp;</font></td>
            <td CLASS=V12> <a href="/center/topic.asp">专 题</a> /</td>
            <td CLASS=V12><a href="/center/tech.asp">技 术</a>  /</td>
            <td CLASS=V12><a href="/center/prod.asp">产 品</a> /</td>
            <td CLASS=V12><a href="/center/app.asp">应 用</a> /</td>
            <td CLASS=V12><a href="/center/net.asp">网 络</a> /</td>
            <td CLASS=V12><a href="/center/prog.asp">编 程</a> /</td>
            <td CLASS=V12><a href="/center/skill.asp">技 巧</a> </td>
         </tr>
	</table>
	</td></tr>
</table>
<table align=center width=728>
<tr><td align=center><br><h2><font color='#0f3ccd'>使用Perl创建VoiceXML应用程序</font></h2>
<br><b>刘彦青</b>
</td></tr><tr><td align=right>01-8-28 下午 12:21:10<br><hr size=1 width=718 color=#f46240></td></tr></table><br> 
<table align=center width=728><tr><td valign=top width=600> 
<table width=100% ><tr><td class=a14><b>简介</b></td></tr></table><table width=100% ><tr><td class=a14> 
    VoiceXML是一种用来创建可以通过电话访问的内容的基于XML的编程语言,这样的内容不仅仅是具有互联网访问功能的移动电话可以访问,普通的电话也照样可以访问这些内容。HTML使用图形用户界面访问网站的内容,而VoiceXML则通过语音界面访问内容,其中的语音和拨号盘代替了传统的显示器、键盘和鼠标。对VoiceXML及其工作原理进行详细的介绍不在本文的范围之内,有关这方面的知识请参与相关资料。</td></tr></table><table width=100% ><tr><td class=a14> 
</td></tr></table><table width=100% ><tr><td class=a14> 
<b> 
一个简单的例子</b></td></tr></table><table width=100% ><tr><td class=a14> 
</td></tr></table><table width=100% ><tr><td class=a14> 
    为了说明通过电话访问现有的互联网内容是如何简单,我们将使用Perl建立一个简单的CGI脚本文件,获取一个包含CPAN最近上传内容的文件,然后将文件转换为VoiceXML,以便用户能够通过VoiceXML网关在电话上访问这些内容。</td></tr></table><table width=100% ><tr><td class=a14> 
use strict;</td></tr></table><table width=100% ><tr><td class=a14> 
use XML::XPath;</td></tr></table><table width=100% ><tr><td class=a14> 
use LWP::UserAgent;</td></tr></table><table width=100% ><tr><td class=a14> 
</td></tr></table><table width=100% ><tr><td class=a14> 
    加载必要的模块后,在脚本程序的开始,我们创建新的HTTP::Request和 LWP::UserAgent对象,然后调用LWP::UserAgent的simple_request方法为RSS文件请求远程服务器。</td></tr></table><table width=100% ><tr><td class=a14> 
my $news_url = 'http://search.cpan.org/recent.rdf';</td></tr></table><table width=100% ><tr><td class=a14> 
my $request = HTTP::Request->new('GET', $news_url);</td></tr></table><table width=100% ><tr><td class=a14> 
my $ua = LWP::UserAgent->new();</td></tr></table><table width=100% ><tr><td class=a14> 
my $response = $ua->simple_request($request);</td></tr></table><table width=518 ><tr><td class=a14 width="510"> 
    发出请求后,我们将开始输出VoiceXML。首先创建vxml root元素和包含一个block元素的表格。在block元素中放入一个audio元素,告诉用户在RSS文件处理过程期间需要耐心地等待,然后用一个goto元素告诉VoiceXML浏览器跳到当前文档中标有headlines的小节。</td></tr></table><table width=100% ><tr><td class=a14> 
print qq*</td></tr></table><table width=100% ><tr><td class=a14> 
<?xml version="1.0"?></td></tr></table><table width=100% ><tr><td class=a14> 
<vxml><span lang="EN-US">&lt;vxml&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
    <block><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span>&lt;form 
    id=&quot;greeting&quot;&gt;</span></td></tr><tr><td class=a14>
    <span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>&lt;block&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
      <audio><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </span>&lt;audio&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
        Please wait while I process the c pan news feed.</td></tr></table><table width=100% ><tr><td class=a14>
      </audio><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </span>&lt;/audio&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
      <goto next="#headlines"/><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
      </span>&lt;goto next=&quot;#headlines&quot;/&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
    </block><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; 
    </span>&lt;/block&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
  </form><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span>&lt;/form&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
*;</td></tr></table><table width=100% ><tr><td class=a14>
    然后我们将对response对象进行测试,确保我们已经收到了远程的RSS文件。如果已经收到了远程文件,则创建一个新的XML::XPath实例,并将response对象的内容小节传送给它进行解析。如果在请求文件或在解析返回的内容时出现错误,则将出错的信息存储在$error中以供以后分析用。尽管封装对XML::XPath最初调用的eval块增加了一些系统开销,但在解析过程出现错误时,它能够使我们很“体面地”退出程序,如果没有它,解析出现错误将使脚本意外地结束。</td></tr></table><table width=100% ><tr><td class=a14>
my ($error, $xp);</td></tr></table><table width=100% ><tr><td class=a14> 
</td></tr></table><table width=100% ><tr><td class=a14> 
if ($response->is_success) {</td></tr></table><table width=100% ><tr><td class=a14> 
    eval {</td></tr></table><table width=100% ><tr><td class=a14> 
        $xp = XML::XPath->new(xml => $response->content);</td></tr></table><table width=100% ><tr><td class=a14> 
        $xp->find('/');</td></tr></table><table width=100% ><tr><td class=a14> 
    };</td></tr></table><table width=100% ><tr><td class=a14> 
    $error = 'Error parsing RSS file ' . $@ if $@;</td></tr></table><table width=100% ><tr><td class=a14> 
}</td></tr></table><table width=100% ><tr><td class=a14> 
else {</td></tr></table><table width=100% ><tr><td class=a14> 
   $error = 'Remote server returned ' . $response->message();</td></tr></table><table width=100% ><tr><td class=a14> 
}</td></tr></table><table width=100% ><tr><td class=a14> 
    如果出现错误,脚本则会向用户返回一个描述错误的audio消息,挂断当前用户的连接,并关闭脚本。</td></tr></table><table width=100% ><tr><td class=a14> 
if ( defined($error) ) {</td></tr></table><table width=100% ><tr><td class=a14> 
    print qq*</td></tr></table><table width=100% ><tr><td class=a14> 
     <block><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp; </span>&lt;form 
     id=&quot;headlines&quot;&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
       <audio><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
       </span>&lt;block&gt;</span></td></tr><tr><td class=a14>
       <span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       </span>&lt;audio&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
         I'm sorry. The following error occurred while fetching</td></tr></table><table width=100% ><tr><td class=a14>
         the headlines file. $error Please try again later.</td></tr></table><table width=100% ><tr><td class=a14>
       </audio><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       </span>&lt;/audio&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
       <disconnect/><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       </span>&lt;disconnect/&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
     </block><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; 
     </span>&lt;/block&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
  </form><span lang="EN-US"><span style="mso-spacerun: yes">&nbsp; </span>&lt;/form&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
</vxml><span lang="EN-US">&lt;/vxml&gt;</span></td></tr></table><table width=100% ><tr><td class=a14>
    *;</td></tr></table><table width=100% ><tr><td class=a14>
}</td></tr></table><table width=100% ><tr><td class=a14>
</td></tr></table><table width=100% ><tr><td class=a14>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -