vxml: нужна помощь с встроенными грамматиками - PullRequest
0 голосов
/ 23 июня 2010

Я смотрю на некоторые примеры скриптов vxml с vxml.org. Когда я вызываю скрипт, подсказки воспроизводятся, но он вообще не принимает никаких входных данных. когда я говорю, он отвечает "нет ввода". Могу ли я пропустить какой-либо тег, который указывает на ввод от пользователя. это пример скрипта с сайта:

<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1">
   <link next="#MainMenu">
      <grammar type="text/gsl">[main back begin]</grammar>
   </link>

   <form id="MainMenu">
      <block>
         <prompt bargein="false">
            This is the Hello World Main Menu.
         </prompt>
      </block>

      <field name="MeatOrPlant">
         <prompt>
            Are you a "Carnivore" or "Vegetarian".
         </prompt>

         <grammar type="text/gsl">
            <![CDATA[[
              [vegetarian plant veggie] {<MeatOrPlant "plant">}
              [meat carnivore flesh animal] {<MeatOrPlant "meat">}
            ]]]>
         </grammar>

         <noinput>
            <prompt>
               I did not hear anything. Please try again.
            </prompt>
            <reprompt/>
         </noinput>

         <nomatch>
            <prompt>
               I did not recognize that lifestyle choice.  Please try again.
            </prompt>
            <reprompt/>
         </nomatch>

      </field>
      <filled>
         <if cond="MeatOrPlant == 'meat'">
            <goto next="#Meat"/>
            <elseif cond="MeatOrPlant == 'plant'"/>
            <goto next="#Plant"/>
         </if>
      </filled>
   </form>

   <form id="Meat">
      <field name="BackToMain">
         <prompt>
            PETA is coming for you, be afraid.
            If you wish to try again, please say Main.
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>

   <form id="Plant">
      <field name="BackToMain">
         <prompt>
            Protein is the spawn of the devil.
            If you wish to try again, please say "Main".
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>
</vxml>

У кого-нибудь есть подсказка? ТИА

1 Ответ

1 голос
/ 25 июня 2010

Вы не упомянули используемую платформу.Поскольку вы используете встроенный GSL, моей первой догадкой для платформы будет TellMe или NVP, но я думаю, что были другие, которые поддерживали встроенный GSL.

В любом случае, убедитесь, что вы не получаете ошибку компиляции,Я видел несколько платформ, которые просто игнорировали грамматику, которая не компилировалась.Фрагменты выглядят корректно, но, учитывая, что вы не используете стандартный синтаксис (SRGS), я предполагаю, что это более старая реализация, и чем старше реализация, тем больше уловок и предостережений вы обычно видите.

Как правило,Я не вижу ничего плохого в части вашего синтаксиса VoiceXML, чтобы объяснить поведение.Хотя это не связано с вашими симптомами, формы назначения могут вызывать проблемы на некоторых платформах из-за отсутствия грамматики и определенных выходов (вы полагаетесь на обработчики перехвата по умолчанию).Чтобы просто воспроизвести информацию, разделы поля должны быть блоками.И обратите внимание, если блок только что воспроизвел аудио и вышел из грамматики связи, он может или не может быть активным (спецификация подразумевает, что они есть, но платформы должны переключаться между обработкой и организацией очереди аудио и выполнением распознавания. Распознавание и непрерывное включение и выключениеактивные грамматики встречаются редко ...

...