Voicexml, как хранить входные данные в глобальной переменной - PullRequest
1 голос
/ 05 января 2011

Я создаю приложение 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>

спасибо заранее

--------------- EDIT:

Теперь я использовал это:

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

Я только изменил это. В приложениях написано «тест», но возникает ошибка.


Нельзя использовать «var», вместо этого я использовал другое имя :-)

1 Ответ

3 голосов
/ 06 января 2011

Вы пробовали простое присвоение поля var переменной myProdukt, как это?

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

Что будет хорошо, за исключением того, что согласно Section 5.1, Variables and Expressions спецификации Voice XML:

Переменные VoiceXML, включая форму переменные элемента, не должны содержать ECMAScript зарезервированные слова.

Итак, вам нужно переименовать поле var во что-то, что не является зарезервированным словом в ECMAscript , скажем productSelection:

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