1

voicexmlアプリケーションを作成しています。

ユーザー入力をグローバル変数に格納したい。

入力はfieldvarに保存する必要があるのではないかと思いました。いけませんか?これで試した後、グローバル変数に格納しようとしました。

<assign name="myvar" expr="'myinput'"/>

しかし、どういうわけかそれはうまくいきませんでした。expr="var"exprとして値を使用しました。

<?xml version="1.0" encoding="UTF-8"?> 
<vxml xmlns="http://www.w3.org/2001/vxml" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://www.w3.org/2001/vxml 
   http://www.w3.org/TR/voicexml20/vxml.xsd"
   version="2.0">


<var name="myProdukt" />


<form id="test">

<field name="var">
<prompt bargein="true" bargeintype="hotword" >Sagen Sie ein Produkt</prompt>

<grammar root="main" version="1.0" xml:lang="de-DE">

  <rule id="main" scope="public">
    <one-of>
      <item> p1 </item>
      <item> p2 </item>
      <item> p3 </item>
      <item> p4   </item>
    </one-of>
  </rule>

</grammar>



<filled>
<assign name="myProdukt" expr="<value expr="var"/>"/>
</filled>

</field>


</form>

<<!--[...] Here i want to use the input.-->

</vxml>

前もって感謝します

- - - - - - - -編集:

今私はこれを使用しました:

<filled>
test
<assign name="myProdukt" expr="var" />
</filled>

私はそれを変えただけです。アプリケーションに「テスト」と表示されますが、エラーが発生します。


代わりに「var」を使用することは許可されていません。代わりに別の名前を使用しました:-)

4

1 に答える 1

3

このようvarに、変数にフィールドを簡単に割り当てることを試みましたか?myProdukt

<filled>
    <assign name="myProdukt" expr="var"/>
</filled>

Section 5.1, Variables and ExpressionsVoice XML仕様による場合を除いて、これで問題ありません。

フォームアイテム変数を含むVoiceXML変数には、ECMAScriptの予約語を含めることはできません。

したがって、フィールドの名前をECMAscriptvarで予約語ではない名前に変更する必要があります。たとえば、次のようになります。productSelection

<field name="productSelection"> 
    <!-- .. prompt, grammar as before .. -->
    <filled>
        <assign name="myProdukt" expr="productSelection"/>
    </filled>
</field>
于 2011-01-05T22:50:02.550 に答える