Link

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


<link> — элемент <link> может иметь одну или несколько грамматик, которые находятся в области видимости, ограниченной тегами <link> и </link>. Атрибут "scope" элемента, содержащего <link>, не влияет на область видимости грамматик элемента <link> (например, если <link> содержится в <form> с scope="document", грамматики <link> находятся в области видимости формы, а не документа). Для грамматик, содержащихся в <link>, недопустимо использовать атрибут "scope". Когда одна из этих грамматик находит соответствие с введенными данными, ссылка активируется, и далее происходит либо переход к новому документу или диалогу, либо выдается событие (подобно <throw>). Если <link> ссылается на грамматику и является потомком <vxml>, то грамматика активна во всем документе. Когда ссылка получила соответствие, переменная application.lastresult$ присваивается. Это позволяет проводить семантическую интерпретацию сказанного пользователем текста. Элемент <link> может восприниматься как элемент, решающий две задачи: условие и действие. Условие — содержимое элемента, например, грамматики, которые будут находить соответствие для того, чтобы активироваться. Действие определяется атрибутами (например, куда осуществляется переход или какое выдается событие).

Синтаксис

<link dtmf="CDATA" 
      event="NMTOKEN" 
      eventexpr="CDATA" 
      expr="CDATA" 
      fetchaudio="CDATA" 
      fetchhint="(prefetch|safe)" 
      fetchtimeout="CDATA" 
      maxage="CDATA" 
      maxstale="CDATA" 
      message="CDATA" 
      next="CDATA">

Атрибуты

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

ЗАМЕЧАНИЯ:

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

Родители

<field> <form> <initial> <vxml>

Потомки

<grammar>

Пример

<?xml version="1.0" encoding="UTF-8"?> 
<vxml version="2.1" xmlns="http://www.w3.org/2001/vxml" xml:lang="ru-RU">
  <form id="form"> 
    <field name="begin">	 
      <prompt>Назовите число от одного до трех.</prompt> 
      <noinput>Говорите громче. <reprompt/> </noinput>
      <nomatch>Не удалось распознать сказанное слово. <reprompt/> </nomatch>
      <grammar xml:lang="ru-RU" root="number" mode="voice" version="1.0" tag-format="semantics/1.0">
        <rule id="number">
          <one-of>
            <item>1</item>
            <item>3</item>
          </one-of>
        </rule>	   
      </grammar>
      <filled> 
        <prompt>Вы сказали <value expr="application.lastresult$.utterance"/></prompt> 
      </filled>
    </field>
  </form> 
     
  <form id="test">
    <block>
      <prompt>
        Вы сказали <value expr="application.lastresult$.utterance"/>.
        Тестирование элемента "link" успешно завершено.
      </prompt>
    </block>
  </form>
  
  <link next="#test"> 
    <grammar xml:lang="ru-RU" root="main" mode="voice" version="1.0" tag-format="semantics/1.0">
      <rule id="main"> 
        <item>2</item> 
      </rule> 
    </grammar> 
  </link>
</vxml>



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

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

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