Form
Items
Let's
create a simple VoiceXML application whose
only purpose is to play a single prompt
to a caller. To do this, we must first
gain a basic understanding of the use
of form items. These are a group of the
elements that may be enclosed directly
under the <
form> tag to perform various
tasks required by the application.
These
items are divided into two main categories:
field items and control
items. Field items gather information
from the caller to fill variables (field
item variables). They may contain prompts
directing the caller what to say, grammars
that define the interpretation of what
is said, and any event handlers. Control
items, on the other hand, enclose non-recognition
based tasks.
Below
is a list of form items available in the
2.0 specification:
field
items:
<field> - gathers input
from the user via speech or DTMF recognition
as defined by a grammar
<record>
- records an audio clip from the user
<transfer>
- transfers the user to another phone
number
<object>
- invokes a platform-specific object
that may gather user input, returning
the result as an ECMAScript object
<subdialog>
- performs a call to another dialog
or document(similar to a function call),
returning the result as an ECMAScript
object
control
items:
<block>
- encloses a sequence of statements
for prompting and computation
<initial>
- controls mixed-initiative interactions
withing a form
Field
item utilization will be discussed in
more detail in Tutorial 2.
Guard
Conditions:
Each
form item has associated with it a form
item variable that is initially set to
undefined if not previously declared and
assigned a value (for field items, this
is the same as the field item variable).
The variable name can be defined via the
"name" attribute or left nameless.
A guard condition exists for each item
that tests wether or not that item's variable
currently has a value. If it does, the
execution of that particular form item
is skipped. Otherwise, execution proceeds
normally.