在此VXML
代码中,block的expr为true
或false
解释器
没有读取块,只打印出没有的块3
表达式,因此块具有表达式的区别是什么
价值true
或false
?
<?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>
答案 0 :(得分:1)
根据VXML 2.0 spec,标签上的expr属性具有以下功能:
“表单项变量的初始值;默认为ECMAScript undefined。如果初始化为某个值,则除非清除表单项变量,否则不会访问表单项。
因为您已初始化前两个块的值,所以不会访问它们。 (表单解释算法指定将访问具有未设置值的第一个项目。)您可能会将expr与cond属性混淆,后者可用于向项目添加条件以另外控制是否访问该项目。有关expr和cond属性的更多详细信息,请参阅规范的2.1.3节。