语音XML块表达式

时间:2011-08-09 17:23:26

标签: vxml

在此VXML代码中,block的expr为truefalse解释器 没有读取块,只打印出没有的块3 表达式,因此块具有表达式的区别是什么 价值truefalse

<?xml version="1.0" ?>
 <!DOCTYPE vxml PUBLIC "-//BeVocal Inc//VoiceXML 2.0//EN"
  "http://cafe.bevocal.com/libraries/dtd/vxml2-0-bevocal.dtd">
 <vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
   <form id="foo">
     <block expr="true">
       <prompt>
         block1
       </prompt>
     </block>
     <block expr="false">
       <prompt>
         block2
       </prompt>
     </block>
     <block>
       <prompt>
         block3
       </prompt>
     </block>
   </form>
 </vxml>

1 个答案:

答案 0 :(得分:1)

根据VXML 2.0 spec,标签上的expr属性具有以下功能:

  

“表单项变量的初始值;默认为ECMAScript undefined。如果初始化为某个值,则除非清除表单项变量,否则不会访问表单项。

因为您已初始化前两个块的值,所以不会访问它们。 (表单解释算法指定将访问具有未设置值的第一个项目。)您可能会将expr与cond属性混淆,后者可用于向项目添加条件以另外控制是否访问该项目。有关expr和cond属性的更多详细信息,请参阅规范的2.1.3节。