Choice

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


Элемент <choice> служит для следующих целей:

  1. может указывать на речевую грамматику, определенную либо с помощью элемента <grammar>, либо сформированную автоматически;
  2. может указывать на DTMF-грамматику;
  3. содержимое элемента может быть использовано для формирования <enumerate> prompt-строки;
  4. может указывать на событие или URI, которое будет выдано при переходе к данному элементу.

Синтаксис

<choice accept="(approximate|exact)" 
        dtmf="CDATA" 
        event="NMTOKEN" 
        eventexpr="CDATA" 
        expr="CDATA"
        fetchaudio="CDATA" 
        fetchhint="(prefetch|safe)" 
        fetchtimeout="CDATA" 
        maxage="CDATA" 
        maxstale="CDATA" 
        message="CDATA" 
        messageexpr="CDATA"
        next="CDATA">

Атрибуты

  • dtmf — DTMF-последовательность. Эквивалентно простой DTMF-грамматике и DTMF-свойствам; применяется для распознавания последовательности. В отличие от DTMF-грамматик пробелы не обязательны: dtmf="123#" эквивалентно dtmf="1 2 3 #"
    (Необходимость указания: необязательно)
  • accept — отменяет установку аналогичного атрибута в элементе <menu>. Когда установлено "exact", то распознавание должно проходить по точной форме написанного. Когда установлено "approximate", то используется аппроксимированное распознавание.
    (Необходимость указания: необязательно)
  • next — URI последующего диалога или документа.
    (Необходимость указания: обязательно, если не указан expr/event/eventexpr)
  • expr — указывает выражение для URI, вместо использования атрибута next
    (Необходимость указания: обязательно, если не указан next/event/eventexpr)
  • event — событие, которое будет выдано при использовании элемента.
    (Необходимость указания: обязательно, если не указан next/expr/eventexpr)
  • eventexpr — ECMAScript выражение для события, которое будет выдаваться
    (Необходимость указания: обязательно, если не указан next/event/expr)
  • message — строка-сообщение, обеспечивающая дополнительную информацию о событии. Сообщение доступно также в качестве значения переменной при нахождении в области видимости элемента <catch>
    (Необходимость указания: необязательно)
  • messageexpr — ECMAScript выражение, обеспечивающее дополнительную информацию для выброшенного события
    (Необходимость указания: необязательно)
  • fetchaudio — URI на аудио-файл, который проигрывается, пока получение не будет выполнено. Если адрес не указан и используется данный атрибут или атрибут не указан, никакое аудио проигрываться не будет.
    (Необходимость указания: необязательно)
  • fetchtimeout — время ожидания на возвращение содержимого сценария, до того как будет выдана ошибка error.badfetch.
    (Необходимость указания: необязательно)
    По умолчанию: 5s
  • fetchhint — используется, чтобы определить, когда данные должны быть получены во время выполнения работы приложения. Возможные значения:
  1. prefetch — данные получаются при первом выполнении документа;
  2. safe — данные получаются, только когда они специально запрашиваются в приложении
    (Необходимость указания: необязательно)
    По умолчанию: safe
  • maxage — указывает максимально допустимое время выполнения сценария. Время указывается в секундах.
    (Необходимость указания: необязательно)
  • maxstale — указывает максимально допустимое "время жизни" сценария, то есть время в течение которого можно использовать сценарий. Время указывается в секундах.
    (Необходимость указания: необязательно)

ЗАМЕЧАНИЯ:

  • Если не указан один из таких атрибутов как next, expr, event, eventexpr, то выдается ошибка error.badfetch.
  • Также нельзя одновременно указывать атрибуты message и messageexpr. В противном случае выдается ошибка error.badfetch.
  • Если грамматика указана с помощью элемента <choice>, то внешняя грамматика используется вместо автоматически сгенерированной грамматики.

Родители

<menu>

Потомки

<audio> <break> <enumerate> <grammar> <mark> <paragraph> <phoneme> <prosody> <say-as> <sentence> <value>

Пример

<?xml version="1.0" encoding="utf-8"?>
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="ru-RU">
  <menu>
    <prompt>
      Что Вас интересует? <enumerate/>
    </prompt>
    <choice next="#form_weather">
      <grammar xml:lang="ru-RU" root="weather" mode="voice" version="1.0" tag-format="semantics/1.0">
        <rule id="weather">
          <item>прогноз погоды</item>
        </rule>
      </grammar>
      прогноз погоды,
    </choice>
    <choice next="#form_news">
      <grammar xml:lang="ru-RU" root="news" mode="voice" version="1.0" tag-format="semantics/1.0">
        <rule id="news">
          <item>новости</item>
        </rule>
      </grammar>
      новости,
    </choice>
    <choice next="#form_time">
      <grammar xml:lang="ru-RU" root="time" mode="voice" version="1.0" tag-format="semantics/1.0">
        <rule id="time">
          <item>точное время</item>
        </rule>
      </grammar>
      точное время
    </choice>
    <noinput>Вас не слышно! Выберите тему обращения: <enumerate/> </noinput>
    <nomatch>Распознать не удалось! Выберите тему обращения: <enumerate/> </nomatch>
  </menu>
 
  <form id="form_weather">
    <block>
      <prompt>
        Вы выбрали сервис "Прогноз погоды". Спасибо за тестирование!
      </prompt>
    </block>
  </form>
 
  <form id="form_news">
    <block>
      <prompt>
        Вы выбрали сервис "Новости". Спасибо за тестирование!
      </prompt>
    </block>
  </form>
 
  <form id="form_time">
    <block>
      <prompt>
        Вы выбрали сервис "Точное время". Спасибо за тестирование!
      </prompt>
    </block>
  </form>
</vxml>



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

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

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