Мое приложение имеет набор диалоговых окон, где вызывающую сторону просят привередничать из списка:
"Которые хотели бы Вы? Сведения об учетной записи, Изменения Учетной записи, Документы Запроса, Говорят с представителем".
В псевдокоде вот то, как это появилось бы:
<prompt>
Which would you like? Account Information, Account Changes, Request Documents, Speak to a Representative.
</prompt>
<grammar>
"Account Information": goto Account Info logic
"Account Changes": goto Account Change logic
"Request Documents": goto Documents logic
"Representative": goto Call Transfer logic
</grammar>
Теперь, эта грамматика не составляет ситуации, где вызывающая сторона говорит "Что один!" прямо после слушания одной из опций. Это рассмотрели бы из грамматики и ошибочного случая. Я могу обойти это путем разбивания диалогового окна в четыре подсказки и наличия избыточных грамматик в каждом:
<prompt>
Which would you like?
</prompt>
<prompt>
Account Information
</prompt>
<grammar>
"That one": goto Account Info logic
"Account Information": goto Account Info logic
"Account Changes": goto Account Change logic
"Request Documents": goto Documents logic
"Representative": goto Call Transfer logic
</grammar>
<prompt>
Account Changes
</prompt>
<grammar>
"That one": goto Account Change logic
"Account Information": goto Account Info logic
"Account Changes": goto Account Change logic
"Request Documents": goto Documents logic
"Representative": goto Call Transfer logic
</grammar>
<prompt>
Request Documents
</prompt>
<grammar>
"That one": goto Documents logic
"Account Information": goto Account Info logic
"Account Changes": goto Account Change logic
"Request Documents": goto Documents logic
"Representative": goto Call Transfer logic
</grammar>
<prompt>
"Request Documents": goto Documents logicSpeak to a Representative.
</prompt>
<grammar>
"That one": goto Call Transfer logic
"Account Information": goto Account Info logic
"Account Changes": goto Account Change logic
"Request Documents": goto Documents logic
"Representative": goto Call Transfer logic
</grammar>
Но действительно ли это - "правильный" способ сделать это? Существует ли способ сделать это с единственным диалоговым окном?
Спасибо,
Мститель IVR