| ID |
Spec. Reference |
Abstract |
| 1 |
[1.2.5] |
For each HTTP
request, the interpreter identifies itself using the User-Agent header
in the format "name/version". |
| 2 |
[1.2.5] |
The interpreter
must be able to freely sequence TTS and audio output. |
| 7 |
[1.2.5] |
The interpreter
must be able to receive speech recognition grammar data dynamically. |
| 8 |
[1.2.5] |
The interpreter
must be able to record audio received from the user. |
| 11 |
[1.3] |
If a URI does not
refer to a document, the current document is assumed. |
| 12 |
[1.3] |
If a URI does not
refer to a dialog, the first dialog is assumed. |
| 18 |
[1.3.1] |
A menu contains
choices that can define transitions when matched. |
| 19 |
[1.3.1] |
A subdialog
invokes a new dialog that once done, returns to the original context. |
| 20 |
[1.3.1] |
Upon return to the
calling context all variable instances, grammars, and state information
are restored. |
| 24 |
[1.3.3] |
An application
root document's variables are defined and reachable via the application
scope upon the loading of a document that specifies it as the
application root. |
| 25 |
[1.3.3] |
An application
root document's variables are not reinitialized as the user transitions
between documents that both specify it as the application root. |
| 26 |
[1.3.3] |
An application
root document's variables are no longer reachable from the application
scope when the user transitions to a document not in that application. |
| 27 |
[1.3.3] |
An application
root document's grammars are active during each time the interpreter
listens, until it is unloaded. |
| 28 |
[1.3.4] |
A dialog can
receive input matching a single grammar such that no other grammars are
active. |
| 29 |
[1.3.4] |
A dialog can
receive input matching one of several active grammars. |
| 30 |
[1.3.4] |
A user can direct
interpretation in scenarios where grammars outside the current dialog
are active, by matching one of these grammars, at which point execution
transitions to the dialog containing the matched grammar. |
| 32 |
[1.3.5] |
The platform can
throw a semantic error upon encountering an error in VoiceXML
semantics. |
| 36 |
[1.3.5] |
Catch elements are
inherited by enclosing elements by copy. |
| 37 |
[1.3.6] |
A link specifies a
grammar that is active whenever a user is in the scope of the link. |
| 41 |
[1.5] |
A document may
have meta elements. |
| 42 |
[1.5] |
A document may
have var elements. |
| 43 |
[1.5] |
A document may
have script elements. |
| 44 |
[1.5] |
A document may
have property elements. |
| 45 |
[1.5] |
A document may
have catch elements. |
| 46 |
[1.5] |
A document may
have link elements. |
| 48 |
[1.5.1] |
The next dialog is
determined by the previous dialog. |
| 50 |
[1.5.1] |
The version
attribute is required on the vxml tag. |
| 52 |
[1.5.1] |
The xml:base
attribute must be allowed on the vxml tag. |
| 53 |
[1.5.1] |
The xml:lang
attribute must be allowed on the vxml tag. |
| 54 |
[1.5.1] |
The application
attribute must be allowed on the vxml tag. |
| 55 |
[1.5.1] |
The value of
xml:lang must be inherited down the document hierarchy by elements
which also define the xml:lang attribute and do not have an alternative
value. |
| 56 |
[1.5.2] |
The interpreter
supports having an application root document and an application leaf
document. |
| 58 |
[1.5.2] |
When a leaf
document causes a root document to be loaded, none of the dialogs in
the root document are executed. |
| 59 |
[1.5.2] |
Application root
document variables are available for use by the leaf document. |
| 61 |
[1.5.2] |
Common ECMAScript
code can be defined in the application root and used in leaf documents.
|
| 62 |
[1.5.2] |
Application root
catch handlers are default handlers for leaf documents. |
| 72 |
[1.5.2] |
When transitioning
between two leaf documents that both specify the same application fully
resolved URI then the transition must preserve the application root
document's variables for use by the second leaf document. |
| 73 |
[1.5.2] |
A transition from
an application leaf document to its own application root document
caused by a 'goto' must preserve the application root document's
variables for use by the root document. |
| 74 |
[1.5.2] |
If a transition
occurs as the result of a submit between an application leaf document
and its own application root document the application root document's
variables must be re-initialized. |
| 75 |
[1.5.2] |
If a transition
occurs from an application root document to itself then it must
reinitialize the application root document's variables. |
| 76 |
[1.5.2] |
If a transition
occurs from an application root document to a different application
root document it must initialize the new application root document and
use the new application root document's variables. |
| 77 |
[1.5.2] |
When a subdialog
is invoked the original document and root document must be preserved
for the completion of the subdialog. |
| 80 |
[1.5.2] |
If a document
refers to a non-existent application root document, an error.badfetch
event is thrown. |
| 82 |
[1.5.3] |
A document may
contain a subdialog element. |
| 83 |
[1.5.3] |
A document may
contain a return element. |
| 84 |
[1.5.3] |
Subdialogs add a
new executable context when they are invoked. |
| 85 |
[1.5.3] |
A subdialog can be
a new dialog within the existing document. |
| 86 |
[1.5.3] |
A subdialog can be
a new dialog within a new document. |
| 87 |
[1.5.3] |
A subdialog can be
composed of several documents. |
| 88 |
[1.5.3] |
A subdialog's new
context may itself invoke a subdialog. |
| 89 |
[1.5.4] |
A VoiceXML
interpreter may continue executing even after it no longer has a
connection to the user. |
| 93 |
[2.1] |
A form may contain
form items, which are subdivided into input items (
<field>, <record>,
<transfer>, <object>,
<subdialog>) and control items (<block> and
<initial>). |
| 96 |
[2.1] |
A form may contain
<var> elements. |
| 97 |
[2.1] |
A form may contain
event handlers: <catch>, <error>,
<help>, <noinput>, and
<nomatch>. |
| 98 |
[2.1] |
A form may contain
<filled> elements. |
| 99 |
[2.1] |
A form may specify
an id attribute. |
| 100 |
[2.1] |
A form may specify
a scope attribute which specifies the default scope of the form's
grammars. |
| 111 |
[2.1.6.2.3] |
FIA ends when it
encounters a <goto>. |
| 112 |
[2.1.6.2.3] |
FIA ends when it
encounters a <submit>. |
| 113 |
[2.1.6.2.3] |
FIA ends when it
encounters an <exit>. |
| 114 |
[2.1.6.2.3] |
FIA ends when it
encounters a <return>. |
| 138 |
[2.1.6.1] |
The value of the
name attribute of a form item defines a dialog-scoped variable that
holds the value of the form item, i.e., dialog.name is a reference to
the form item variable. |
| 143 |
[2.1.6.1] |
A form item
variable does not need to have a name attribute. |
| 145 |
[2.1.5] |
A form may have
one or more initial form items. |
| 147 |
[2.1.5] |
If a form has a
form level grammar, its input items can be filled in any order. |
| 148 |
[2.1.5] |
If a form has a
form level grammar, more than one input item can be filled as a result
of any one user utterance. |
| 149 |
[2.1.5] |
A form-level
grammar can fill the following form items: <field>,
<record>, <transfer>,
<object> and <subdialog>. |
| 152 |
[2.1.6.2.1] |
For all types of
form item, if the form item is assigned a value, that form item is not
eligible to be visited by the FIA (unless/until it is subsequently set
to undefined). |
| 153 |
[2.1.6.2.1] |
Using the clear
tag on a form item variable will make it eligible to be visited by the
FIA (provided that it does not have a cond attribute evaluating to
false). |
| 154 |
[2.1.6.2.1] |
Using the goto
nextitem will force the FIA to immediately transition to the chosen
form item. |
| 163 |
[2.1.6.2.1] |
If the last main
FIA loop resulted in a goto nextitem or goto expritem then the
specified form item is selected. |
| 165 |
[2.1.6.2.1] |
If the last main
FIA loop did not result in a goto nextitem and there is no form item
which is eligible to be visited then an implicit exit is generated. |
| 183 |
[2.1.6.2.3] |
If in the collect
phase an event occurs the appropriate catch element is identified and
executed in the process phase. |
| 185 |
[2.1.6.2.3] |
If an event
handler, executed after an event is thrown while processing a form
item, transfers control with a <goto> or
<submit>, the FIA resumes in the new form at the
initialisation phase. |
| 186 |
[2.1.6.2.3] |
If an event
handler, executed after an event is thrown while processing a form
item, does not transfer control with a <goto> or
<submit> the FIA resumes in the current form at the
selection phase. |
| 187 |
[2.1.6.2.3] |
If an input from
the collect phase matches a link than the associated link's transition
is executed if present. |
| 188 |
[2.1.6.2.3] |
If an input from
the collect phase matches a link than the associated link's event is
thrown if present. |
| 189 |
[2.1.6.2.3] |
If a link throws
an event the event is processed in the context of the current form
item. |
| 190 |
[2.1.6.2.3] |
If an input
matches a grammar in a form other than the current form, then the FIA
terminates and the other form is initialized. |
| 192 |
[2.1.6.2.3] |
If an input
matches a grammar in a form other than the current form then that
form's FIA starts with this input in its process phase. |
| 195 |
[2.1.6.2.3] |
If an input
matches a grammar in the form then each identified filled action is
executed in document order. |
| 197 |
[2.1.6.2.3] |
While executing a
filled, processing of filled actions continues after a
<reprompt>. |
| 198 |
[2.1.6.2.3] |
If an event is
thrown during the execution of a <filled>, event handler
selection starts in the scope of the <filled>, which
could be a form item or the form itself, and then proceeds outward by
enclosing dialog scopes. |
| 200 |
[2.2] |
If a menu is given
an id attribute, the menu can be referenced using goto. |
| 201 |
[2.2] |
If a menu's scope
attribute is set to "dialog", the menu's grammars are active only when
the user transitions into the menu. |
| 202 |
[2.2] |
If a menu's scope
attribute is set to "document", the menu's grammars are active over the
whole document (or if the menu is in the application root document, any
loaded document in the application). |
| 203 |
[2.2] |
If a menu's dtmf
attribute is set to "true", the first nine choices that have not
explicitly specified a value for the dtmf attribute are given the
implicit ones "1", "2", etc. Remaining choices that have not explicitly
specified a value for the dtmf attribute will not be assigned DTMF
values (and thus cannot be matched via a DTMF keypress). |
| 204 |
[2.2] |
The dtmf attribute
of choice can specify a sequence of DTMF digits. Whitespace is ignored.
|
| 205 |
[2.2] |
When the DTMF
associated with the choice is matched, the appropriate action is taken
based on the next, expr, event or eventexpr attribute. |
| 206 |
[2.2] |
When the accept
attribute of choice is set to "exact", or is not set and the accept
attribute of its enclosing menu is set to "exact", or neither choice's
accept attribute nor menu's is set, then the text of the choice element
defines the exact phrase to be recognized. The user must say the entire
phrase in the same order in which it occurs in the choice element
phrase for matching this element. |
| 208 |
[2.2] |
Exactly one of the
next, expr, event, and eventexpr attributes must be specified.
Otherwise an error.badfetch event is thrown. |
| 209 |
[2.2] |
When the grammar
associated with a choice element is matched, the URI associated with
the "next" or "expr" element is fetched and transitioned to. |
| 210 |
[2.2] |
When the grammar
associated with a choice element is matched, the event associated with
the event or eventexpr attribute is thrown. |
| 211 |
[2.2] |
When "next" or the
result of "expr" is not a correct URI, error.badfetch is thrown. |
| 212 |
[2.2] |
The message
attribute defines a string that is available as the variable _message
inside a catch element that catches the event being thrown. |
| 213 |
[2.2] |
The messageexpr
attribute is an ECMAScript expression evaluating to the variable
_message inside the catch element which catches the event being thrown.
|
| 215 |
[2.2] |
If a grammar
element is specified in choice, then the external grammar is used
instead of an automatically generated grammar. |
| 216 |
[2.2] |
The enumerate
element without content inside a prompt lists all the choices,
following the order in which they appear in the menu. |
| 217 |
[2.2] |
The enumerate
element with content defines a template specifier that will list all
the choices. Two special variables are defined |
| 218 |
[2.2] |
An enumerate
element can be used inside prompts associated with a menu element. |
| 219 |
[2.2] |
An enumerate
element can be used inside catch element elements associated with a
menu element. |
| 220 |
[2.2] |
An enumerate
element can be used inside prompts associated with a field element that
contain option elements. |
| 221 |
[2.2] |
An enumerate
element can be used inside catch element elements associated with a
field element that contain option elements. |
| 222 |
[2.2] |
If an enumerate
element is used elsewhere, an error.semantic event is thrown. |
| 223 |
[2.2] |
Grammar matches
within menu will update the application.lastresult$ array. |
| 224 |
[2.2] |
If the event
handler called after matching a choice with an event or eventexpr
attribute does not cause the interpreter to exit or transition control,
then the FIA will clear the form item variable of the menu's anonymous
field, causing the menu to be executed again. |
| 232 |
[2.3.1] |
The variable
associated with the name attribute of the field holds the recognition
result. |
| 233 |
[2.3.1] |
The named variable
associated with the field must be unique among form items in the form;
otherwise, error.badfetch is thrown. |
| 234 |
[2.3.1] |
If specified, the
value of the expr attribute is evaluated and serves as the form item
variable's initial value. |
| 235 |
[2.3.1] |
The default value
of the expr attribute is ECMAScript undefined. |
| 236 |
[2.3.1] |
If the form item
is initialized to a value via evaluation of the expr attribute, the
form item will not be visited unless the form item variable is cleared.
|
| 237 |
[2.3.1] |
If the cond
attribute is present and its value evaluates to boolean false, the
field is not visited. |
| 238 |
[2.3.1] |
The form item can
also be visited if the cond attribute is not specified. |
| 240 |
[2.3.1] |
The value of the
slot attribute defines the name of the grammar slot used to populate
the form item variable of the field. |
| 241 |
[2.3.1] |
If the slot
attribute is absent, the interpreter uses the value associated with the
name attribute of the field to map the grammar slot to the form item
variable. |
| 242 |
[2.3.1] |
If the value of
the modal attribute is false, all active grammars are turned on while
collecting this field. |
| 243 |
[2.3.1] |
If the value of
the modal attribute is true, then only the field's grammars are
enabled, and all other grammars are temporarily disabled. |
| 244 |
[2.3.1] |
The field element
exposes a shadow variables named confidence, utterance, inputmode, and
interpretation. The values of the utterance and inputmode shadow
variables correspond to the values of the corresponding properties of
the first object in the application-scoped lastresult$ array. |
| 245 |
[2.3.1] |
The confidence
shadow variable is the confidence level for the name field of this
interpretation and may range from 0.0-1.0. A value of 0.0 indicates
minimum confidence, and a value of 1.0 indicates maximum confidence. |
| 246 |
[2.3.1.1] |
A field may
contain a grammar element whose src attribute can specify an absolute
or relative URI. |
| 247 |
[2.3.1.1] |
A grammar can be
specified inline. |
| 248 |
[2.3.1.1] |
error.badfetch is
thrown if a grammar specifies a src attribute and an inline grammar. |
| 254 |
[2.3.1.3] |
The PCDATA
contained by an option element within a field generates a speech
grammar. |
| 255 |
[2.3.1.3] |
When an option is
chosen, the value attribute determines the interpretation value for the
field's shadow variable and for application.lastresult$. |
| 256 |
[2.3.1.3] |
The dtmf attribute
of an option element defines the DTMF sequence required for the option
to be selected. |
| 257 |
[2.3.1.3] |
When the accept
attribute of an option element is set to "exact", the PCDATA of the
option defines the exact phrase to be recognized for the option to be
selected. |
| 258 |
[2.3.1.3] |
Both option and
grammar elements may be specified within a field. |
| 259 |
[2.3.2] |
The interpreter
executes content contained in the block. |
| 260 |
[2.3.2] |
The interpreter
visits the block when the cond attribute evaluates to true and the form
item variable associated with the block is undefined. |
| 261 |
[2.3.2] |
The interpreter
ignores the block when the form item variable associated with the block
is defined via expr. |
| 262 |
[2.3.2] |
The interpreter
ignores the block when the form item variable associated with the block
is set via an assign. |
| 263 |
[2.3.4] |
The interpreter
executes the subdialog associated with the src or srcexpr attribute. |
| 267 |
[2.3.4] |
If the called
subdialog is in a separate document then variables from the calling
document, and dialog scope are inaccessible to the subdialog. |
| 268 |
[2.3.4] |
The variables
passed to the subdialog via the <param> element are
accessible as variables within the dialog scope of the invoked
subdialog. A <param> overrides the corresponding
<var> expr attribute which is ignored. |
| 269 |
[2.3.4] |
The interpreter
throws error.badfetch after the specified fetchtimeout when the URL
associated with the src or srcexpr attribute points to a non-existent
resource. |
| 270 |
[2.3.4] |
Exactly one of
"src" or "srcexpr" must be specified; otherwise, an error.badfetch
event is thrown. |
| 271 |
[2.3.4] |
If the subdialog
returns a namelist, the filled element contained by the subdialog is
executed upon return from the subdialog. |
| 272 |
[2.3.5] |
If an object
element refers to an unknown object, the error.unsupported.objectname
event is thrown. |
| 273 |
[2.3.6] |
Any DTMF keypress
matching an active grammar terminates recording. |
| 274 |
[2.3.6] |
DTMF keypresses
not matching an active grammar are ignored (and therefore do not
terminate or otherwise affect recording). |
| 275 |
[2.3.6] |
If the termination
grammar matched is a local DTMF grammar, the recording is placed in the
record variable. |
| 277 |
[2.3.6] |
The variable
associated with the name attribute references the recorded audio, and
the audio can be played back using audio expr. |
| 278 |
[2.3.6] |
The variable
associated with the name attribute of the record element can be
submitted via the namelist of the submit element. The submitted audio
is valid. |
| 279 |
[2.3.6] |
If a recording is
created, the name$.duration shadow variable holds the duration
(positive integer) of the recording in milliseconds. |
| 281 |
[2.3.6] |
The name$.size
variable holds the size (positive integer) of the recording in bytes. |
| 282 |
[2.3.6] |
If the dtmfterm
attribute is true, and the user terminates the recording by pressing a
DTMF key which doesn't match any active DTMF grammar, then the
name$.termchar shadow variable is set to the key pressed. |
| 283 |
[2.3.6] |
If the dtmfterm
attribute is false, and user presses a key which does not match any
active DTMF grammar, then recording is not terminated and the
name$.termchar shadow variable is undefined when the recording
terminates |
| 284 |
[2.3.6] |
name$.maxtime
shadow variable is true if the recording was terminated because the
duration specified by the maxtime attribute was reached. |
| 312 |
[2.4] |
When
<filled> is a child of a <form>, and the
mode attribute is set to "any", the filled is executed when any of the
form items specified in the namelist has been filled. |
| 313 |
[2.4] |
When
<filled> is a child of a <form>, and the
mode attribute is set to "all", the filled is executed when all of the
form items specified in the namelist have been filled. |
| 314 |
[2.4] |
A
<filled> element within an input item cannot specify a
mode. |
| 315 |
[2.4] |
A
<filled> element within an input item cannot specify a
namelist. |
| 316 |
[2.4] |
Control items may
not be specified in the namelist of the <filled> element.
|
| 317 |
[2.5] |
A link element may
have one or more grammars that are scoped to the element containing the
link. |
| 319 |
[2.5] |
When a link
specifying next or expr is matched, the interpreter transitions to the
document or dialog specified by next or expr. |
| 320 |
[2.5] |
A link can be a
child of vxml, form, or of the form items field and initial. |
| 321 |
[2.5] |
A link at the form
level has grammars active while the user is in that form. |
| 322 |
[2.5] |
If an application
root document has a document-level link, its grammars are active no
matter what document of the application is being executed. |
| 323 |
[2.5] |
A link at the vxml
level has grammars that are active throughout the document. |
| 324 |
[2.5] |
If execution is in
a modal form item, then link grammars at the form or document level are
not active. [Not application?] |
| 325 |
[2.5] |
When a link that
specifies event or eventexpr is matched, the specified event is thrown.
|
| 326 |
[2.5] |
Events thrown as a
result of matching a link are thrown at the current location in the
execution, not at the location where the link is specified. |
| 327 |
[2.5] |
When a link is
matched, application.lastresult$ is assigned. |
| 328 |
[2.5] |
A link may specify
a message or messageexpr attribute providing additional context about
the event being thrown. The message is available as the value of the
_message variable within the scope of the catch element the interpreter
selects to handle the event. |
| 329 |
[2.5] |
A link may specify
a dtmf attribute that identifies the sequence of DTMF digits that cause
the interpreter to activate the link. |
| 330 |
[2.5] |
Exactly one of
next, expr, event or eventexpr must be specified; otherwise, an
error.badfetch event is thrown. |
| 331 |
[2.5] |
Exactly one of
message or messageexpr may be specified; otherwise, an error.badfetch
event is thrown. |
| 332 |
[3.1.1] |
During a dialog,
the interpreter can receive input from the user via the user's spoken
utterance, such that the spoken utterance is one of those described by
an active grammar. |
| 333 |
[3.1.1] |
A grammar can be
specified in the format of the XML Form of the W3C Speech Recognition
Grammar Specification (SRGS). |
| 336 |
[3.1.1.1] |
A grammar element
can contain child XML elements, such that those elements taken in
context of the enclosing grammar element comprise a proper SRGS
grammar. |
| 337 |
[3.1.1.2] |
A grammar element
can specify a 'src' attribute specifying a URI which returns the data
of a grammar. |
| 338 |
[3.1.1.2] |
A document
containing a grammar element specifying both a 'src' attribute and an
inline grammar description causes the Interpreter to throw an
'error.badfetch' event upon fetching of the document. |
| 344 |
[3.1.2] |
During a dialog,
the Interpreter can receive input from the user via a set of dual tone
multi frequency (DTMF) key presses, such that the sequence of presses
is one of those described by an active grammar. |
| 345 |
[3.1.2] |
A DTMF grammar can
be specified using the XML form of the SRGS grammar format, as
described in the SRGS specification. |
| 346 |
[3.1.2] |
A "xml:lang"
attribute can be specified on a DTMF grammar, but has no effect upon
the grammar handling. |
| 348 |
[3.1.3] |
A grammar element
specifying a "scope" attribute as a child of a field item throws an
"error.badfetch" upon parsing. [This tests scope="dialog".] |
| 357 |
[3.1.3] |
A grammar element
specifying a "scope" attribute as a child of a link element throws an
"error.badfetch" upon parsing. |
| 359 |
[3.1.3] |
A grammar element
specifying a "scope" attribute as a child of a menu element throws an
"error.badfetch" upon parsing. |
| 361 |
[3.1.6] |
If a grammar
matches but does not return a semantic interpretation, the raw text
string for the utterance will be used. |
| 362 |
[3.1.6.1] |
If a form-level
grammar matches and returns a semantic interpretation for a field name
or slot that is a non-scalar ECMAScript variable, the field will be
filled with that non-scalar ECMAScript value. The selected property may
be a compound object. |
| 363 |
[3.1.6.1] |
The slot attribute
of the field element can be used to select a sub-property of the
result. |
| 364 |
[3.1.6.1] |
A specific slot
value can fill more than one field if the slot names of the fields are
the same. |
| 365 |
[3.1.6.2] |
If the result from
a field-level grammar is a simple result, it is assigned to the input
item variable. |
| 366 |
[3.1.6.2] |
If the result from
a field-level grammar is a structure and the slot name matches a
property, this property is assigned to the input item variable. |
| 367 |
[3.1.6.2] |
If the result from
a field-level grammar is neither a simple result nor a structure with a
property that matches the slot name, the entire semantic result is
assigned to the input item variable. |
| 369 |
[4.1.3] |
The interpreter
fetches and plays the URI associated with the src attribute of the
audio element. |
| 370 |
[4.1.3] |
If src and expr
are specified on an audio element, error.badfetch is thrown. |
| 371 |
[4.1.3] |
The interpreter
evaluates, fetches, and plays the URI associated with the expr
attribute of the audio element. |
| 372 |
[4.1.3] |
If expr is set to
ECMAScript undefined the audio element is ignored. |
| 373 |
[4.1.3] |
If the URI
associated with src is unavailable, the interpreter renders the content
contained by the audio element. |
| 374 |
[4.1.3] |
If the URI
associated with expr is unavailable, the interpreter renders the
content contained by the audio element. |
| 375 |
[4.1.3] |
If the URI
associated with src is unavailable, and the audio element doesn't
contain content, no error is thrown. |
| 376 |
[4.1.3] |
If the URI
associated with expr is unavailable, and the audio element doesn't
contain content, no error is thrown. |
| 377 |
[4.1.4] |
If the expr
attribute specifies a valid ECMAScript expression, the value element
evaluates it correctly. |
| 378 |
[4.1.4] |
If the expr
attribute specifies an invalid ECMAScript expression, error.semantic is
thrown. |
| 381 |
[4.1.5] |
When the bargein
attribute is set to false on a prompt, any DTMF input buffered in a
transition state is deleted from the buffer |
| 388 |
[4.1.7] |
If the interval
specified by the timeout attribute of the prompt element is exceeded,
the platform will throw a noinput event. The default is the value
specified by the timeout property |
| 389 |
[4.1.7] |
If several prompts
are queued before a field input, the timeout of the last prompt is
used. |
| 390 |
[5.1] |
VoiceXML variables
and ECMAScript variables are contained in the same variable space. |
| 391 |
[5.1] |
VoiceXML variables
can be used in a script. Variables defined in a script can be used in
VoiceXML. |
| 392 |
[5.1] |
script can appear
everywhere that var can appear. |
| 393 |
[5.1] |
Variable names
that violate ECMAScript rules cause an error.semantic event to be
thrown. |
| 394 |
[5.1.1] |
Variables declared
without an explicit initial value are initialized to ECMAScript
undefined. |
| 395 |
[5.1.1] |
Variables must be
declared prior to use. Assigning to an undeclared variable does not
automatically create it. Instead, it results in error.semantic being
thrown. |
| 396 |
[5.1.1] |
In a form,
variables declared by var and by form items are initialized every time
the form is entered. These initializations take place in document
order. |
| 397 |
[5.1.2] |
Variables can be
declared in application, document, dialog and anonymous scopes.
Variables declared at one scope are visible at that scope and all more
local scopes. |
| 398 |
[5.1.2] |
Variables in
session scope can be read but not written by VoiceXML documents. |
| 399 |
[5.1.2] |
var and script
elements that are children of the application root document's vxml
element create their variables at application scope. They are no longer
accessible when another application is entered. |
| 400 |
[5.1.2] |
var and script
elements that are children of the document's vxml element create their
variables at document scope. They are no longer accessible when another
document is entered. |
| 401 |
[5.1.2] |
var and script
elements that are children of a form element (but not in an anonymous
scope) create their variables at dialog scope. They are no longer
accessible when another dialog is entered. |
| 402 |
[5.1.2] |
var and script
elements that are children of block, filled and catch elements
(including synonyms for catch, such as nomatch) create their variables
at anonymous scope. |
| 403 |
[5.1.2] |
Each block, filled
and catch element has its own new and separate anonymous scope. The
scope is no longer accessible once the element is exited. |
| 404 |
[5.1.2] |
Scopes are not
cleared when they become inaccessible. Instead, the old scope object is
left to exist (or to be garbage collected) and a new one is created and
linked into the scope hierarchy. References to previously-existing
scope objects will continue to access the old scope objects. |
| 405 |
[5.1.2] |
Each scope
contains a predefined variable whose name is the same as the scope that
refers to the scope itself. |
| 406 |
[5.1.2] |
"session",
"application", "document", and "dialog" are not reserved words. |
| 407 |
[5.1.2] |
When executing in
a document that does not have a separate application root document, the
application and document scopes are the same; that is, a single scope
has variables named both "application" and "document" that are
references to the scope itself. This includes execution in an
application root document's var and script elements. |
| 408 |
[5.1.3] |
Variable
references match the closest enclosing scope. |
| 416 |
[5.1.5] |
application.lastresult$ contains an array of elements, or ECMAScript
undefined. |
| 418 |
[5.1.5] |
Each element of
application.lastresult$ contains "confidence", "utterance", "inputmode"
and "interpretation" properties. |
| 419 |
[5.1.5] |
The "confidence"
property of an element of application.lastresult$ will be a number, not
less than 0.0 and not greater than 1.0. |
| 420 |
[5.1.5] |
The "utterance"
property of an element of application.lastresult$ will be a string. |
| 421 |
[5.1.5] |
The "inputmode"
property of an element of application.lastresult$ will be either "dtmf"
or "voice". |
| 422 |
[5.1.5] |
The
"interpretation" property of an element of application.lastresult$ will
contain the interpretation as described in section 3.1.5. |
| 423 |
[5.1.5] |
The elements of
application.lastresult$ will be sorted from highest confidence score to
lowest, with ties resolved by sorting by the precedence relationship
among the grammars producing the interpretations. |
| 424 |
[5.1.5] |
Different elements
in application.lastresult$ will always differ in their utterance,
interpretation, or both. |
| 425 |
[5.1.5] |
The number of
elements in application.lastresult$ is never more than the value of the
property "maxnbest", and never less than one, unless the value of
application.lastresult$ itself is undefined. |
| 426 |
[5.1.5] |
If the value of
application.lastresult$ is not undefined, application.lastresult$
itself will contain the properties confidence, utterance, inputmode and
intepretation corresponding to those of application.lastresult$[0]. |
| 428 |
[5.1.5] |
application.lastresult$ is not changed after a noinput. |
| 430 |
[5.2] |
Catch elements are
inherited as if by copy. This affects scope resolution, further thrown
events, and relative URL references. |
| 431 |
[5.2.1] |
The interpreter
throws the named event. |
| 432 |
[5.2.1] |
The interpreter
observes event counting when an application-defined event is thrown. |
| 433 |
[5.2.1] |
If neither event
nor eventexpr are specified then an error.badfetch event is thrown. |
| 434 |
[5.2.1] |
If both event and
eventexpr are specified then an error.badfetch event is thrown. |
| 435 |
[5.2.1] |
If both message
and messageexpr are specified then an error.badfetch event is thrown. |
| 436 |
[5.2.2] |
A VoiceXML
interpreter must execute the content within the selected event handler.
|
| 437 |
[5.2.2] |
Anonymous scope
variables _event and _message are available within the event handler. |
| 438 |
[5.2.2] |
Assuming no cond
or count attribute specified, given a field level event handler, the
interpreter must select it when the corresponding event is thrown. |
| 439 |
[5.2.2] |
Assuming no cond
or count attribute specified and no field-level event handler, given a
form-level event handler, the interpreter must select it when the
corresponding event is thrown. |
| 440 |
[5.2.2] |
Assuming no cond
or count attribute specified and no field- or form-level event handler,
given a document-level event handler, the interpreter must select it
when the corresponding event is thrown. |
| 441 |
[5.2.2] |
Assuming no cond
or count attribute specified and no field-, form-, or document-level
event handler, given an application-level event handler, the
interpreter must select it when the corresponding event is thrown. |
| 442 |
[5.2.2] |
If the cond
attribute of the most inner-scoped event handler evaluates to false,
the interpreter must not select it and instead select the next
qualifying event handler. |
| 443 |
[5.2.2] |
The cond attribute
of an event handler must be evaluated in the context of the scope where
the event is thrown. |
| 444 |
[5.2.2] |
The interpreter
executes the event handler with highest count attribute not greater
than the actual event count. |
| 446 |
[5.2.2] |
Event count
matching takes precedence over scoping, ie on the second occurrence of
an event a root document level handler with count=2 takes precedence
over a field level handler with count=1 |
| 448 |
[5.2.2] |
The interpreter
maintains a separate count for each event when multiple events
specified in the event attribute of the catch element. |
| 449 |
[5.2.2] |
If unspecified,
the count attribute of the catch element defaults to 1. |
| 450 |
[5.2.2] |
The interpreter
selects the first handler in document order when two or more event
handlers have the same count attribute and scope. |
| 451 |
[5.2.2] |
The interpreter
executes a handler that speciifies a space-delimited list of events in
the event attribute when the corresponding events are thrown. |
| 452 |
|