首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

voicexml中关于取舍的实现

2012-07-23 
voicexml中关于选择的实现在voicexml中选择的实现可以用menu,也可以用form。用menu方式实现参考上一篇文章,

voicexml中关于选择的实现
在voicexml中选择的实现可以用menu,也可以用form。用menu方式实现参考上一篇文章,这里主要介绍一些form实现

可以使用from的option,也可以通过grammar来实现

1、option的实现(例子:http://www.optimsys.cz/support/examples/example07.php)

<?xml version="1.0" encoding="UTF-8"?><vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"><meta name="description" content="options and link example"/><meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/><meta name="copyright" content="free for any purpose"/><noinput> Hey, don't sleep! </noinput><catch event="exit">  <prompt> Exit! </prompt>  <exit/></catch><form id="start">  <field name="lunch">    <nomatch>      <prompt> I didn't understand you. Please choose from <enumerate/> </prompt>    </nomatch>    <help> Just say what you want for lunch. </help>    <prompt> What do you want for lunch? You can choose from <enumerate/> </prompt>    <option dtmf="1" value="ch"> chicken </option>    <option dtmf="2" value="p"> pizza </option>    <option dtmf="3" value="c"> cake </option>    <option dtmf="4" value="n"> nothing </option>    <filled>      <if cond="lunch=='ch'">        <prompt> You will have chicken for lunch. </prompt>        <prompt> I like chicken too. </prompt>      <elseif cond="lunch=='p'"/>        <prompt> You will have pizza for lunch. </prompt>        <prompt> Fan of Italian kitchen?  </prompt>      <elseif cond="lunch=='c'"/>        <prompt> You will have cake for lunch. </prompt>        <prompt> You will be fat! </prompt>      <else/> <!-- lunch=='n' -->        <prompt> You will have nothing for lunch. </prompt>        <prompt> Diet? </prompt>      </if>    </filled>  </field></form>


2、grammar的实现(http://www.w3.org/TR/voicexml20/)
<?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://www.w3.org/2001/vxml    http://www.w3.org/TR/voicexml20/vxml.xsd"><form id="tapered">  <block>    <prompt bargein="false">      Welcome to the ice cream survey.    </prompt>  </block>  <field name="flavor">  <grammar mode="voice" version="1.0" root="root">    <rule id="root" scope="public">      <one-of>        <item>vanilla </item>        <item>chocolate</item>        <item>strawberry</item>     </one-of>    </rule>   </grammar>   <prompt count="1">What is your favorite flavor?</prompt>   <prompt count="3">Say chocolate, vanilla, or strawberry.</prompt>   <help>Sorry, no help is available.</help>  </field></form></vxml>

<?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xsi:schemaLocation="http://www.w3.org/2001/vxml     http://www.w3.org/TR/voicexml20/vxml.xsd">   <meta name="en_inlinegrammar.vxml" content=""/>   <meta name="Author" content="HP"/>   <meta name="Date" content="September, 2005"/>   <meta name="Description"         content="This VoiceXML example is provided               as part of an HP OpenCall Media Platform               VoiceXML installation"/>   <meta name="Support" content="none"/>   <!-- Deactivate the barge in feature -->   <property name="bargein" value="false"/>   <form id="WhichDigit" scope="dialog">     <field name="digit">       <prompt>         Please say a digit.       </prompt>       <grammar mode="voice" version="1.0" root="root">         <rule id="root" scope="public">           <one-of>             <item> zero </item>             <item> one </item>             <item> two </item>             <item> three </item>             <item> four </item>             <item> five </item>             <item> six </item>             <item> seven </item>             <item> eight </item>             <item> nine </item>           </one-of>         </rule>       </grammar>       <filled>         <prompt>           Thanks, I think you said           <value expr="digit"/>.         </prompt>       </filled>       <!-- Message played if any error occured -->       <error count="1">         An error has occured.       </error>       <!-- Message played if the caller does not say anything -->       <noinput count="1">         Sorry, I did not hear anything. Try again.         <reprompt/>       </noinput>       <!-- Message played if the caller says something             that does not match -->       <nomatch count="1">         Sorry, I did not understand that. Try again.         <reprompt/>       </nomatch>     </field>   </form> </vxml> 




热点排行