2011-01-05 22 views
1

私はvoicexmlアプリケーションを作成しています。Voicexml入力をグローバル変数に格納する方法

ユーザー入力をグローバル変数に格納する必要があります。

入力はfieldvarに保存する必要があります。すべきではない?私はこれを試した後、グローバル変数に格納しようとしました:

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

しかし何とか動作しませんでした。 exprとして値expr="var"を使用しました。事前

<?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」を使用することはできません


私は

+0

新しいエラーとは何ですか? –

+0

それは多かれ少なかれ同じであるようです。アプリケーションは塗りつぶされたタグに "test"と表示しますが、エラーが発生してアプリケーションが停止したと表示されます。 – Tyzak

+0

と思われますが、正しいと思います – Tyzak

答えて

3

:-)他の名前を使用しますので、のような変数myProduktにフィールドvarの単純な代入を試してみましたか?音声XML仕様のSection 5.1, Variables and Expressionsに応じたことを除いていいと思い

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

:フォーム 項目の変数を含む

のVoiceXML変数は、 のECMAScriptを含めることはできませんが予約語。

だから、あなたはのECMAScriptの予約語ではない何かにフィールドvarの名前を変更する必要があります、productSelectionを言う:

<field name="productSelection"> 
    <!-- .. prompt, grammar as before .. --> 
    <filled> 
     <assign name="myProdukt" expr="productSelection"/> 
    </filled> 
</field> 
+0

が動作するはずですが(https://studio.tellme.com/vxml2/ovw/variables.htmlにもそう言われていますが)そうではありませんか?私は非常に混乱しています:> – Tyzak

+0

"var1"に編集;-) – Tyzak

関連する問題