Form

Материал из VXML
Перейти к: навигация, поиск


<form> — ключевая компонента VXML-документов. Форма включает в себя:

  1. Набор элементов формы, которые будут посещены в основном цикле FIA. В свою очередь элементы формы разделяются на два типа: те которые могут быть введены пользователем (input items) и те, которые не могут быть (control items).
  2. Объявление переменных, используемых вне формы.
  3. Обработчики событий.
  4. "Заполненные" события, блоки процедурной логики, которые выполняются, когда определенные комбинации входных переменных получили присвоения.

Элемент <form> представляет собой некоторый блок и содержит между тегами <form> и </form> последовательность элементов для взаимодействия с абонентом. Для всех объектов, находящихся внутри созданной формы, элемент <form> является корневым.

Синтаксис

<form id="ID" scope="(dialog|document)">

Атрибуты

  • id — идентификатор, определяющий имя формы.
    Необходимость указания: необязательно.
  • scope — атрибут, определяющий область видимости действия грамматик распознавания речи внутри VXML-документа. Значение "dialog" соответствует ситуации, когда грамматики, содержащиеся в выбранной форме, применяются только внутри данного контейнера. Иное значение — "document" — распространяет применение грамматик на весь VXML-документ. Если документ является корневым для разрабатываемого приложения, то значение "document" распространит применение грамматик во всем приложении.
    Необходимость указания: необязательно.
    По умолчанию: dialog

Родители

<vxml>

Потомки

<block> <catch> <error> <field> <filled> <grammar> <help> <initial> <link> <noinput> <nomatch> <property> <record> <script> <subdialog> <transfer>

Пример

<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="ru-RU"> 
  <form id="from" scope="document">
    <field name="f">          
      <prompt bargein="false" timeout="6s"> 
        Здравствуйте! Назовите, пожалуйста, город, из которого Вы звоните
      </prompt>
      <grammar xml:lang="ru-RU" root="main" mode="voice" version="1.0" tag-format="semantics/1.0-literals">
        <rule id="main" scope="public">
          <one-of>  
            <item> Санкт-Петербург </item>
            <item> Мурманск </item>
            <item> Вологда </item> 
            <item> Петрозаводск </item>
          </one-of>
        </rule>
      </grammar>
      <noinput> <prompt> Говорите громче </prompt> <reprompt/> </noinput> 
      <nomatch> <prompt> Не удалось распознать сказанное слово </prompt> <reprompt/> </nomatch>
      <filled>     
        <prompt>    
          Вы выбрали <value expr="f"/>.
        </prompt>
        <goto next="#to"/>  
      </filled>
    </field>
  </form> 
  <form id="to" scope="dialog">
    <field name="c">          
      <prompt bargein="false" timeout="6s"> 
        Назовите, пожалуйста, город, с которым Вас необходимо соединить
      </prompt>          
      <grammar xml:lang="ru-RU" root="hello" mode="voice" version="1.0" tag-format="semantics/1.0-literals">
        <rule id="hello" scope="public">
          <one-of>  
            <item> Москва </item>
            <item> Владивосток </item>
            <item> Сочи </item>
            <item> Пермь </item>
          </one-of>
        </rule>
      </grammar>
      <noinput> <prompt> Говорите громче </prompt> <reprompt/> </noinput> 
      <nomatch> <prompt> Не удалось распознать сказанное слово </prompt> <reprompt/> </nomatch>
      <filled>     
        <prompt>    
          Вы выбрали <value expr="c"/>. Соединяю!
        </prompt>          
      </filled>
    </field>
  </form>     
</vxml> 



Добавить новый комментарий
Если не хотите писать от анонимного пользователя, зарегистрируйтесь или представьтесь системе.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Статьи
Грамматики
Элементы VXML
Элементы SSML
Инструменты