| 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 | [5.2.2] |
An event handler catches all events if the event attribute not specified.
|
| 453 | [5.2.2] |
An event handler catches all events for which the event attribute
specifies a token prefix of the event (NB token prefix matching is done
after removing trailing dots.) |
| 454 | [5.2.2] |
An event handler does not catch events for which the event attribute
specifies a string prefix of the event which is not a token prefix. |
| 455 | [5.2.3] |
Exactly one of "next", "expr", "event" or "eventexpr" must be
specified; otherwise, an error.badfetch event is thrown. Exactly one of
"message" or "messageexpr" may be specified; otherwise, an
error.badfetch event is thrown. |
| 457 | [5.2.3] |
When event or eventexpr is specified, and the link is matched, the corresponding event is thrown.
|
| 458 | [5.2.3] |
When next or expr is specified, and the link is matched, the interpreter navigates to the specified URI.
|
| 460 | [5.2.3] |
The noinput element is executed when an noinput event is thrown.
|
| 461 | [5.2.3] |
The noinput element obeys the same selection and execution rules as a
catch element whose event attribute is set to "noinput". |
| 462 | [5.2.3] |
The noinput element has exactly equal precedence to a catch element
that specifies the noinput event, ie the choice between a catch element
and a noinput element at the same scope level and count is made on the
basis of document order. |
| 464 | [5.2.3] |
The nomatch element is executed when a nomatch event is thrown.
|
| 465 | [5.2.3] |
The nomatch element obeys the same selection and execution rules as a
catch element whose event attribute is set to "nomatch". |
| 466 | [5.2.3] |
The nomatch element has exactly equal precedence to a catch element
that specifies the nomatch event, ie the choice between a catch element
and a nomatch element at the same scope level and count is made on the
basis of document order. |
| 468 | [5.2.3] |
The error element is executed when an error event is thrown.
|
| 469 | [5.2.3] |
The error element is executed when a more specific error event is thrown (e.g. error.badfetch)
|
| 470 | [5.2.4] |
The error element is executed when an application-defined event prefixed with "error" is thrown.
|
| 471 | [5.2.3] |
The error element has exactly equal precedence to a catch element that
specifies the error event, ie the choice between a catch element and an
error element at the same scope level and count is made on the basis of
document order. |
| 472 | [5.2.3] |
The error element obeys the same selection rules as a catch element whose event attribute is set to "error".
|
| 473 | [5.2.3] |
The error element obeys the same execution rules as a catch element whose event attribute is set to "error".
|
| 474 | [5.2.3] |
The help element is executed when an help event is thrown.
|
| 475 | [5.2.3] |
The help element obeys the same selection and execution rules as a catch element whose event attribute is set to "help".
|
| 476 | [5.2.3] |
The help element has exactly equal precedence to a catch element that
specifies the help event, ie the choice between a catch element and a
help element at the same scope level and count is made on the basis of
document order. |
| 478 | [5.2.4] |
An event handler catches all events if the event attribute consists of a single dot (".").
|
| 479 | [5.2.4] |
Event handlers which specify more specific event names, eg
event.foo.bar have equal precedence with event handlers that specify
less specific event names, eg event.foo |
| 480 | [5.2.4] |
Event handlers are executed in the context in which the event was
thrown. Check for the existence of variables in the scope in which the
event was thrown. |
| 481 | [5.2.4] |
Event handlers are executed in the context in which the event was
thrown. Check that URLs (audio/@src, goto/@next, script/@src, etc) are
resolved relative to the document in which the event was thrown. |
| 482 | [5.2.5] |
The interpreter must support a default cancel event handler. No audio
is provided, the interpreter does not reprompt and does not exit. |
| 483 | [5.2.5] |
The interpreter must support a default exit event handler. No audio is provided and the interpreter exits.
|
| 484 | [5.2.5] |
The interpreter must support a default error event handler. The interpreter provides platform-specific audio and exits.
|
| 485 | [5.2.5] |
The interpreter must support a default help event handler. The
interpreter provides platform-specific audio and reprompts. |
| 486 | [5.2.5] |
The interpreter must support a default noinput event handler. No audio is provided and the interpreter reprompts.
|
| 487 | [5.2.5] |
The interpreter must support a default nomatch event handler. The
interpreter provides platform-specific audio and reprompts. |
| 488 | [5.2.5] |
The interpreter must support a default maxspeechtimeout event handler.
The interpreter provides platform-specific audio and reprompts. |
| 489 | [5.2.5] |
The interpreter must support a default connection.disconnect event
handler. No audio is provided and the interpreter exits. |
| 490 | [5.2.5] |
For any other unhandled event, the interpreter provides platform-specific audio and exits
|
| 494 | [5.2.6] |
When the user hangs up the connection.disconnect.hangup event is thrown.
|
| 497 | [5.2.6] |
The nomatch event is thrown if the user says something and is not recognized.
|
| 498 | [5.2.6] |
The maxspeechtimeout event is thrown if the user's input exceeds the maxspeechtimeout property.
|
| 499 | [5.2.6] |
If the interpreter encounters a syntax error while loading a document
(eg no vxml element), it throws error.badfetch in the requesting
document. |
| 500 | [5.2.6] |
If an invalid URL is specified for a document fetch, the interpreter
throws error.badfetch.http.404 in the requesting document. |
| 501 | [5.2.6] |
If a document fetch times out, the interpreter throws error.badfetch in the requesting document.
|
| 502 | [5.2.6] | |