VoiceXML <submit>标记在php上抛出编译错误

时间:2016-03-29 01:15:44

标签: php xml voicexml

长时间潜伏,第一次问问。此任务似乎相对简单:创建一个VoiceXML文档,该文档将触发脚本更改文本文档,然后通过口头命令运行游戏。

相关的VoiceXML:

form_for [@list, @item]

在if / else标记中,总共有5个条件低于初始条件。当电话号码被呼叫它要求你给出你的命令时,它正确地进入条件分支,然后说明tank.php文件&#34;无法编译&#34;并断开连接。 技巧是这个语言命令确实改变了文本文件,php编译/运行正常。当我拿出&#39;提交&#39;标签,文件没有错误。无论出于何种原因,这个编译错误&#39;从php似乎导致voiceXML表单过早断开连接。

完整的php文档:

<!--Encoding details-->
<?xml version="1.0" encoding="UTF-8" ?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml"> 

<if cond="command =='t1 go'">
   <submit next="tank.php?command=t1%20go" method="get" namelist="command"/>
</if>

我已经在这个特定问题上工作了5个小时。你的建议可以拯救我的理智。

2 个答案:

答案 0 :(得分:0)

分辨率!

Voxeo(我正在使用的服务)提供比声音命令更彻底的调试器。感谢上帝。

它向我扔了这样的东西(具体内容并不重要)

List

重要的是这个错误没有出现在邮递员或PHP错误中,因为正如我所料,php本身并不是问题,而是问题的方式。 vxml解释它是。投掷&#39; vxml&#39; PHP脚本周围的标签(保持.php结束)和程序是100%快乐,我花了近9个小时努力找到两行更改。

希望这可以帮助别人,欢呼!

新PHP:

Collection

答案 1 :(得分:0)

“submit”是对有效VoiceXML文档的请求;见the official specification。通过在文档周围放置“vxml”标记,您创建了一个足够合法的VoiceXML脚本,解释器可以读取和解释。

就个人而言,在这种情况下,我会使用"data" tag available in VoiceXML 2.1并得到Voxeo的支持。返回一个最小的XML文档;忽略它;继续使用漂亮,干净,定义明确的退出处理您的VoiceXML。