2011-08-09 47 views
0

在這種VXML代碼要麼塊的expr是truefalse解釋 犯規讀取塊並且只打印出BLOCK3其不必須的 表達式所以是什麼的塊有一個表達式 值的差true或者false語音XML塊表達式

<?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

按照VXML 2.0 spec,在標籤expr屬性具有以下功能:

「的形式項變量的初始值;默認的ECMAScript未定義如果初始化爲一個值,那麼表單項將不會被訪問,除非表單項變量被清除

因爲您已經初始化了前兩個塊的值,所以他們沒有被訪問(表單解釋算法規定了臨時t將會訪問第一個具有未設置值的項目。)您可能會將expr與cond屬性混淆,它可用於向項目添加條件以額外控制項目是否被訪問。有關expr和cond屬性的更多詳細信息,請參閱規範的第2.1.3節。

+0

感謝您的回答我現在明白了 – sinan

+1

不客氣。如果您同意其正確性,請接受答案。 – mmigdol