Голосовое блочное выражение XML - PullRequest
0 голосов
/ 09 августа 2011

В этом VXML коде либо expr блока является true или false интерпретатором не читает блок и печатает только block3, который не имеет выражение, так что разница для блока, чтобы иметь выражение значение 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>

1 Ответ

1 голос
/ 09 августа 2011

Согласно спецификации VXML 2.0 , атрибут expr тега имеет следующую функцию:

"Начальное значение переменной элемента формы; по умолчанию ECMAScript не определенЕсли инициализировано значением, элемент формы не будет посещен, пока не будет очищена переменная элемента формы.

Поскольку вы инициализировали значение для первых двух блоков, они не посещаются. (Алгоритм интерпретации формы указывает, что будет посещен первый элемент с ненастроенным значением.) Возможно, вы путаете expr с атрибутом cond, который можно использовать для добавления условия к элементу, чтобы дополнительно контролировать, посещается ли элемент.2.1.3 спецификации для более подробной информации об атрибутах expr и cond.

...