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] |
If a server
returns HTTP error code 4xx the event error.badfetch.http.4xx should be
thrown in the requesting document. |
503 |
[5.2.6] |
If a server
returns HTTP error code 5xx the event error.badfetch.http.5xx should be
thrown in the requesting document |
505 |
[5.2.6] |
If an unsupported
language is specified for speech recognition, the interpreter throws
error.unsupported.language. |
506 |
[5.2.6] |
If an unsupported
language is specified for speech synthesis, the interpreter throws
error.unsupported.language. |
508 |
[5.2.6] |
If an unsupported
grammar format is specified, the interpreter throws
error.unsupported.format. |
509 |
[5.3] |
If an executable
element generates an error, the error is thrown immediately. Subsequent
executable elements in that block of procedural logic are not executed.
|
510 |
[5.3.1] |
A variable
declared at document scope is accessible within an anonymous scope
contained within the same document. |
511 |
[5.3.1] |
Declaring a
variable at an anonymous scope, the variable is not accessible within
another anonymous scope. |
512 |
[5.3.1] |
A variable
declared at a higher scope (e.g. document) is shadowed by a variable at
a lower scope (e.g. anonymous). |
513 |
[5.3.1] |
When declaring the
same variable multiple times with different initial values in the same
scope, declarations will apply in document order. |
514 |
[5.3.2] |
When expr is set
to a valid expression in an assign, the named variable is set
correctly. |
515 |
[5.3.2] |
If name is set to
an undefined variable in an assign, error.semantic is thrown. |
516 |
[5.3.2] |
If expr contains
an undefined variable in an assign, error.semantic is thrown. |
517 |
[5.3.2] |
If expr contains a
semantic error (e.g.it contains a non-existent function named x), an
error.semantic is thrown. |
518 |
[5.3.3] |
When the namelist
attribute of the clear element specifies a specific set of one or more
form item variables, only those form items are cleared. |
519 |
[5.3.3] |
When the namelist
attribute of the clear element is omitted, all form items in the
current form are cleared. |
520 |
[5.3.3] |
If variables that
are not form item variables are specified in the "namelist" attribute
of the clear element, those variables are set to ECMAScript undefined. |
521 |
[5.3.4] |
if parent cond of
if element evaluates to false, the interpreter executes the content
following the else element up to the closing if tag. |
522 |
[5.3.4] |
if parent cond of
if element evaluates to true, the interpreter does not execute the
content following the else element up to the closing if tag. |
523 |
[5.3.5] |
If a prompt
element appears in executable content, the "count" attribute is
ignored, but the "cond" element is respected. |
524 |
[5.3.5] |
Wherever prompt is
allowed, PCDATA is treated as if it had been wrapped in prompt /prompt.
|
525 |
[5.3.6] |
Execution of a
reprompt element causes the FIA to perform normal selection and
queueing of prompts after execution of a catch element. |
526 |
[5.3.7] |
Setting next to a
fully-qualified URL (excluding fragment identifier) that points to an
existing VoiceXML document causes the INTERPRETER to transition to that
document and begin execution of the first form. |
527 |
[5.3.7] |
Setting next to a
relative URL (excluding fragment identifier) that points to an existing
VoiceXML document causes the INTERPRETER to transition to that document
and begin execution of the first form. |
528 |
[5.3.7] |
Setting next to a
fully-qualified URL including fragment identifier that points to an
existing VoiceXML document and form causes the INTERPRETER to
transition to the document and begin execution of the specified form. |
529 |
[5.3.7] |
Setting next to a
relative URL including fragment identifier that points to an existing
VoiceXML document and form causes the INTERPRETER to transition to that
document and begin execution of the specified form. |
530 |
[5.3.7] |
Setting expr to an
ECMAScript expression that evaluates to a fully-qualified URL
(excluding fragment identifier) that points to an existing VoiceXML
document causes the INTERPRETER to transition to that document and
begin execution of the first form. |
531 |
[5.3.7] |
Setting next to a
URL that points to a non-existent VoiceXML document causes the
interpreter to throw a catchable error.badfetch event. |
532 |
[5.3.7] |
Setting expr to a
URL that points to a non-existent VoiceXML document causes the
INTERPRETER to thrown a catchable error.badfetch event. |
533 |
[5.3.7] |
Setting next to a
fragment identifier that identifies an existing form in the current
document causes the INTERPRETER to transition to that form with the
state of the current document and application in tact. |
534 |
[5.3.7] |
Setting next to a
non-fragment URL of the current document causes the INTERPRETER to
transition to the first form of the current document and reset the
state of the document including any variables. |
535 |
[5.3.8] |
The URI referenced
by submit's next or expr attribute is always fetched, even if it is
just a fragment. |
536 |
[5.3.8] |
If submit has a
namelist attribute, all and only those variables are submitted. |
537 |
[5.3.8] |
If submit has no
namelist attribute, all and only the named input items in the current
form are submitted. |
538 |
[5.3.8] |
Both declared
VoiceXML variables and declared ECMAScript variables can be submitted.
This includes properties of ECMAScript objects. |
539 |
[5.3.8] |
Interpreters must
support GET and POST as submit methods. GET must be the default. |
541 |
[5.3.8] |
When an ECMAScript
variable is submitted, its value is first converted to a string. |
542 |
[5.3.8] |
Specifying a URL
that points to a non-existent resources causes the INTERPRETER to throw
a catchable error.badfetch event. |
543 |
[5.3.8] |
Exactly one of
"next" or "expr" must be specified; otherwise, an error.badfetch event
is thrown. |
544 |
[5.3.9] |
Executing exit
must terminate all loaded documents and return control to the
interpreter context. |
545 |
[5.3.9] |
If both "expr" and
"namelist" attributes of exit are specified, an error.badfetch event is
thrown. |
546 |
[5.3.10] |
When return is
executed while not inside a subdialog context, an error.semantic event
is thrown. |
547 |
[5.3.10] |
Exactly one of
"event", "eventexpr" or "namelist" may be specified; otherwise, an
error.badfetch event is thrown. |
549 |
[5.3.10] |
The interpreter
throws throws error.semantic if a return element is encountered when
not executing in the context of a subdialog. |
550 |
[5.3.10] |
If the namelist
attribute is specified, the specified variables become properties of an
ECMAScript object accessible via the name attribute of the calling
subdialog element. |
551 |
[5.3.10] |
If the event or
eventexpr attribute is specified, the named event is thrown at the
invocation point. |
552 |
[5.3.11] |
When the
interpreter executes a disconnect element, it must drop the call. |
553 |
[5.3.11] |
When the
interpreter executes a disconnect element, it must throw a catchable
connection.disconnect.hangup event. |
554 |
[5.3.11] |
When the caller
hangs up, the interpreter must throw a catchable
connection.disconnect.hangup event. |
555 |
[5.3.13] |
ECMAScript
expressions within the PCDATA in log must be evaluated in document
order. |
556 |
[5.3.12] |
A script element
is executed in the scope of its containing element. |
557 |
[5.3.12] |
When a script
element declared in a block element contains a function, an attempt to
call that function from another block causes the INTERPRETER to throw
an error (error.semantic?) |
558 |
[5.3.12] |
A variable
declared using the var element is accessible to a script declared at
equal more local scope. |
559 |
[5.3.12] |
A variable
declared within an inline or externally referenced script block is
accessible from a var or assign element declared at equal or more local
scope. |
560 |
[5.3.12] |
When the script
element specifies a src attribute that references a URL that references
a non-existent resource, the interpreter throws error.badfetch. |
561 |
[5.3.12] |
Either an "src"
attribute or an inline script (but not both) must be specified;
otherwise, an error.badfetch event is thrown. |
562 |
[5.3.13] |
The use of the log
element has no side-effects on interpretation. |
563 |
[6.1.1] |
The interpreter
context is always required to honor the safe fetchhint. |
564 |
[6.1.1] |
When transitioning
from one dialog to another if the referenced URI names a document (e.g.
"doc.vxml#dialog"), or if query data is provided (through POST or GET),
then the new document goes through its initialization phase . Applies
to subdialog, goto, submit, link, or choice element. |
565 |
[6.1.1] |
If a URI reference
in a goto transition contains only a fragment (e.g., "#my_dialog"),
then no document is fetched, and no initialization of that document is
performed. |
566 |
[6.1.1] |
If a URI reference
in a submit transition is accompanied by a query string or by a
namelist attribute there will a fetch and the new document is
initialized. |
567 |
[6.1.1] |
If the URI
reference to the root document contains a query string or a namelist
attribute, the root document is fetched. |
568 |
[6.1.1] |
If specified,
fetchaudio plays during a long fetch. |
569 |
[6.1.1] |
If fetchaudio is
not specified, but a non-empty fetchaudio property exists, fetchaudio
plays during a long fetch. |
570 |
[6.1.1] |
If not specified,
and the fetchaudio property is not set, fetchaudio does not play during
a long fetch. |
571 |
[6.1.1] |
If an error occurs
retrieving fetchaudio from its URI, no badfetch event is thrown and no
audio is played during the fetch. |
572 |
[6.1.1] |
If content is not
returned within the specified fetchtimeout, an error.badfetch event is
thrown. |
573 |
[6.1.1] |
If content is
returned within the specified fetchtimeout, document processing
proceeds as normal. |
574 |
[6.1.2] |
If maxage is
specified and the resource age is greater than the maxage, the
interpreter must revalidate against the server |
576 |
[6.1.2] |
If maxstale
attribute is specified and the resource age has exceeded its expiration
time by more than the maxstale time, the interpreter must revalidate
against the server. |
577 |
[6.1.2] |
Setting maxage of
zero forces the interpreter to do revalidate the resource against the
server. |
580 |
[6.1.3] |
If the interpreter
prefetches a resource, and the URI is computed with an expr attribute,
the interpreter context must not move the fetch up before any
assignments to the expression's variables. |
585 |
[6.2.1] |
The interpreter
must successfully parse and execute a VoiceXML document containing zero
or more meta elements with name and content attributes. |
586 |
[6.2.1] |
The interpreter
must successfully parse and execute a VoiceXML document containing zero
or more meta elements with name and http-equiv attributes. |
587 |
[6.2.1] |
Exactly one of
"name" or "http-equiv" must be specified; otherwise, an error.badfetch
event is thrown. |
589 |
[6.2.2] |
An interpreter
MUST successfully parse and execute a VoiceXML document containing a
metadata element containing any valid schema including the recommended
general metadata properties defined in the Dublin Core Metadata
Initiative. |
591 |
[6.3] |
A property
specified at a more local scope (e.g. form) takes precedence over the
same property specified at an outer scope (e.g. document). |
592 |
[6.3.2] |
When the
"confidencelevel" property is specified, the interpreter rejects
results (throwing a nomatch event) when the confidence level of
recognizer is less than that of the property. |
595 |
[6.3.2] |
When the
"speedvsaccuracy" property is specified with value M, the recognizer is
at least as fast as when the specified value is N, such that M <
N, given the same input and other context. |
596 |
[6.3.2] |
When the
"completetimeout" property is specified, the recognizer will wait the
specified number of seconds of silence before determining that the user
has finished speaking a matching utterance (or will not speak). |
597 |
[6.3.2] |
When the
"incompletetimeout" property is specified, the recognizer will wait the
specified number of seconds of silence before determining that the user
has finished speaking and the utterance does not match a grammar. |
598 |
[6.3.3] |
When the
"interdigittimeout" property is specified, and the recognizer has
received DTMF input but could possibly match a grammar if more digits
were entered, it will wait the specified number of seconds before
determining that no more digits will be entered. |
599 |
[6.3.3] |
When the
"termtimeout" property is specified, and the recognizer has received
DTMF input matching a grammar and the termchar is non-empty, the user
can enter an optional termchar DTMF. If the user fails to enter this
optional DTMF within termtimeout, the recognition ends and the
recognized value is returned. |
603 |
[6.3.4] |
The value of the
timeout property controls the default time after which a noinput event
is thrown by the platform. |
604 |
[6.3.5] |
If any of the
various *fetchhint properties is set to "safe", content of that time is
never fetched until it is needed. |
605 |
[6.3.5] |
A cached resource
of a certain type must be reloaded if the *maxage property for its type
is less than its current age. |
606 |
[6.3.5] |
A cached resource
of a certain type must be reloaded if the *maxstale property for its
type is less than its current staleness. |
607 |
[6.3.5] |
Fetchaudio will
not begin playing until the amount of time specified in the
fetchaudiodelay property has elapsed. |
608 |
[6.3.5] |
Fetchaudio, once
it begins playing, will not be interrupted until at least the amount of
time specified in the fetchaudiominimum property. |
611 |
[6.4] |
Exactly one of
"expr" or "value" on param must be specified; otherwise, an
error.badfetch event is thrown. |
612 |
[6.4] |
When param is
contained in a subdialog element, the values specified by it are used
to initialize dialog var elements in the subdialog that is invoked. |
613 |
[6.5] |
Time designations
follow those used in W3C's Cascading Style Sheet recommendation. The
valid time unit identifiers are ms (milliseconds, the default) and s
(seconds). |
614 |
[2.3.2] |
When the block
cond attribute evaluates to false, the interpreter does not execute the
element or its contents. |
620 |
[5.3.8] |
Variables
associated with the namelist should be URI escaped. |
621 |
[2.3.4] |
When the element's
cond attribute evaluates to false, the interpreter does not execute the
element or its contents. |
623 |
[4.1] |
When the prompt
element's cond attribute evaluates to false, the interpreter does not
execute the element or its contents. |
626 |
[1.2.5] |
An implementation
platform must support text-to-speech |
627 |
[1.2.5] |
Audio files are
referred to by URI |
628 |
[1.2.5] |
The implementation
must report characters (DTMF entered by the user) |
629 |
[1.2.5] |
If an audio input
resource is not available, an error.noresource event must be thrown |
632 |
[1.3.1] |
Each field may
specify a grammar that defines the allowable inputs for that field. |
633 |
[1.3.5] |
Handling Platform
generated events |
634 |
[1.3.5] |
Handling
Interpreter generated events |
638 |
[1.5.1] |
If the xml:base
attribute is defined all relative references will use the defined base
URI. |
640 |
[1.5.1] |
vxml- xml:lang can
be omitted and a platform specific default shall be used |
649 |
[1.5.2] |
Transition to doc
with application attr same (with query string) |
650 |
[1.5.2] |
Transition to doc
with application attr same (with fragment) |
654 |
[1.5.3] |
Subdialog results
are accessed through properties of the variable defined by the name
attribute of the subdialog element. |
655 |
[1.5.3] |
If subdialog
execution is transferred to another subdialog using goto, when the
second dialog returns, control is returned directly to the dialog. |
656 |
[1.5.3] |
If subdialog
execution calls a second subdialog execution, when the second dialog
returns, control is returned directly to the calling subdialog dialog. |
1001 |
[5.3.7] |
Exactly one of
"next", "expr", "nextitem" or "expritem" must be specified; otherwise,
an error.badfetch event is thrown |
1002 |
[5.3.7] |
Setting expr to an
ECMAScript expression that evaluates to a relative URL (excluding
fragment identifier) that points to an existing VoiceXML document
causes the INTERPRETER to transition to that document and begin
execution of the first form. |
1003 |
[5.3.7] |
Setting expr to an
ECMAScript expression that evaluates to a fully-qualified URL including
fragment identifier that points to an existing VoiceXML document causes
the INTERPRETER to transition to that document and begin execution of
the specified form. |
1004 |
[5.3.7] |
Setting expr to an
ECMAScript expression that evaluates to a relative URL including
fragment identifier that points to an existing VoiceXML document causes
the INTERPRETER to transition to that document and begin execution of
the specified form. |
1005 |
[5.3.7] |
Setting nextitem
to an existent form item of the current form causes the INTERPRETER to
transition to that specified form item and continue execution. |
1006 |
[5.3.7] |
Setting expritem
to an ECMAScript expression that evaluates to an existent form item of
the current form causes the INTERPRETER to transition to that specified
form item and continue execution. |
1007 |
[5.3.7] |
Setting nextitem
to a non-existent form item (in the current form) causes the
INTERPRETER to thrown a catchable error.badfetch event |
1008 |
[5.3.7] |
Setting expritem
to an ECMAScript expression that evaluates to a non-existent form item
(in the current form) causes the interpreter to throw a catchable
error.badfetch event. |
1010 |
[2.3.6] |
If the modal
attribute is set to false, and DTMF input matches an active non-local
grammar, then the recording is terminated, the record variable is
undefined and control is transfered to the element containing the
matched grammar. |
1011 |
[2.3.6] |
If the modal
attribute is set to true, DTMF input cannot match any non-local
grammars. |
1012 |
[2.3.6] |
If the expr
attribute evaluates to a defined value, then the record element is not
visited. |
1013 |
[2.3.6] |
If the cond
attribute is specified and evaluates after conversion to boolean to
true, then the record element is visited. |
1014 |
[2.3.6] |
If the cond
attribute is specified and evaluates after conversion to boolean to
false, then the record element is not visited. |
1016 |
[2.3.6] |
Recording is
terminated when user hangs up and a disconnect event is thrown. If
audio has been collected, then the audio recorded up until hangup is
available through the record variable. |
1017 |
[2.3.6] |
The value of the
record variable 'name' is also available as dialog.'name'. |
1018 |
[2.3.6] |
If the beep
attribute is set to true, then a tone is emitted prior to recording. |
1019 |
[2.3.6] |
If DTMF input is
received before the end of playback of record prompts, or the end of
the timeout period, then no audio is collected, the record variable
remains undefined. |
1022 |
[5.1.2] |
New session
variables cannot be declared by VoiceXML documents. |
1025 |
[2.3] |
The form item
initial has a result variable, specified by the name attribute. This
variable may be given an initial value with the expr attribute. |
1026 |
[2.3] |
The form item
subdialog has a result variable, specified by the name attribute. This
variable may be given an initial value with the expr attribute. |
1032 |
[2.3] |
The form item
'initial' has a guard condition specified with the cond attribute. A
form item is visited if it is not filled and its cond is not specified
or evaluates, after conversion to boolean, to true. |
1037 |
[2.3] |
The input item
'field' may contain the filled element. Filled elements contain an
action to execute after the result input item variable is filled in. |
1038 |
[2.3] |
The input item
subdialog may contain the filled element. Filled elements contain an
action to execute after the result input item variable is filled in. |
1040 |
[2.3] |
The input item
record may contain the filled element. Filled elements contain an
action to execute after the result input item variable is filled in. |
1042 |
[2.3] |
The input item
'field' may contain the property element. Property elements specify
properties that are in effect for this input item. |
1043 |
[2.3] |
The input item
'subdialog' may contain the property element. Property elements specify
properties that are in effect for this input item. |
1045 |
[2.3] |
The input item
record may contain the property element. Property elements specify
properties that are in effect for this input item. |
1047 |
[2.3] |
The input item
'field' may contain the prompt element. Prompt elements specify prompts
to play when visiting this input item. |
1048 |
[2.3] |
The input item
'subdialog' may contain the prompt element. Prompt elements specify
prompts to play when visiting this input item. |
1050 |
[2.3] |
The input item
'record' may contain the prompt element. Prompt elements specify
prompts to play when visiting this input item. |
1053 |
[2.3] |
The input item
'record' may contain the grammar element. Grammar elements specify
allowable DTMF input for this input item. |
1055 |
[2.3] |
The input item
'field' may contain the catch element, which is in effect for this
input item. |
1056 |
[2.3] |
The input item
subdialog may contain the catch element, which is in effect for this
input item. |
1059 |
[2.3] |
The input item
'record' may contain the catch element, which is in effect for this
input item. |
1060 |
[2.3] |
An 'initial'
element may contain property elements. |
1061 |
[2.3] |
An 'initial'
element may contain catch elements. |
1062 |
[2.1] |
A form may contain
form-level <grammar> elements. |
1063 |
[2.1] |
A form may contain
<link> elements. |
1064 |
[2.1] |
A form may contain
<property> elements. |
1065 |
[2.1] |
A form may contain
<script> elements. |
1066 |
[2.1.5] |
A form-level
grammar cannot fill <block>, <initial> or
<var>. |
1067 |
[2.1.6.1] |
On entering a
form, all form item variables and variables declared in a form by
<var> are initialised by the expr attribute if defined. |
1068 |
[2.1.6.1] |
On entering a
form, all form item variables and variables declared in a form by
<var> are initialised to undefined if no expr attribute
is defined. |
1069 |
[2.1.6.1] |
Form item
variables and variables declared in a form by <var> are
initialised in document order. |
1070 |
[2.1.6.1] |
Form level
<script> elements are evaluated in document order at the
same time as form item variables are initialised. |
1071 |
[2.1.6.1] |
When a form is
entered, the prompt counter is initialised to 1 for every input item.
Thus the prompt with count=1 will always be played first for all input
items. |
1072 |
[2.1.6.1] |
When a form is
entered, the prompt counter is initialised to 1 for every
<initial>. Thus the prompt with count=1 will always be
played first for any <initial> item. |
1074 |
[2.1.6.2.1] |
For every type of
form item except <initial>, that item will be selected by
the FIA if it is the first eligible form item in document order and the
previous loop of the FIA did not end in a goto nextitem |
1075 |
[2.1.6.2.1] |
For every type of
form item, the form item is not eligible to be visited by the FIA if
the form item variable is not undefined. This applies even if there is
a cond attribute that evaluates to true. |
1076 |
[2.1.6.2.1] |
For every type of
form item, the form item is not eligible to be visited by the FIA if
the form item has a cond attribute evaluating to false. |
1077 |
[2.1.6.2.1] |
For every type of
form item, the form item is eligible to be visited by the FIA if the
form item has a cond attribute evaluating to true and the form item
variable is undefined. |
1078 |
[2.1.6.2.1] |
For every type of
form item, the form item is eligible to be visited by the FIA if the
form item has no cond attribute and the form item variable is
undefined. |
1080 |
[2.1.6.2.1] |
For every type of
form item, the cond attribute is evaluated in the dialog scope. |
1081 |
[3.1.4] |
If no grammars are
active when an input is expected, the platform must throw an
error.semantic event. The error will be thrown in the context of the
executing element. |
1082 |
[2.1.6.2.3] |
If execution of a
block throws an event, the appropriate event handler is executed. |
1083 |
[2.1.6.2.3] |
If a document
scope menu grammar is matched while processing another form, control
transitions to the target of the the matched <choice>
element's next or expr attribute. |
1084 |
[2.1.6.2.3] |
If a document
scope menu grammar is matched while processing another form, the
matched <choice> element's event or eventexpr is thrown. |
1085 |
[2.1.6.2.3] |
If a document
scope menu grammar is matched while processing another form and the
matched <choice> element's event or eventexpr is thrown
and the event handler does not transition to a new form, the FIA
resumes in the <menu> after clearing the menu's anonymous
form item variable. |
1086 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will be queued for execution if the field item variable is specified in
the namelist of the <filled> element and the mode is
"any". |
1087 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will be queued for execution if the field is the only entry in the
namelist and the mode is "all". |
1088 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will be queued for execution if the namelist is empty and the mode is
"any". |
1089 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will be queued for execution if the namelist is empty, the mode is
"all" and the field is the only input item in the form. |
1090 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will not be queued for execution if the field item variable is not
specified in the (non-empty) namelist of the <filled>
element. |
1091 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will not be queued for execution if the namelist of the
<filled> element references other input items in addition
to this field and the mode is "all". |
1092 |
[2.1.6.2.3] |
After a field
level grammar is matched, a form level <filled> element
will not be queued for execution if the namelist is empty, the mode is
"all" and the form has other input items. |
1093 |
[2.1.6.2.3] |
If a form level
grammar is matched, field level <filled> elements are
queued for execution if and only if the field has just been assigned a
value by this input. |
1094 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will be
queued for execution if all the fields listed in the namelist of the
<filled> have just been assigned a value. |
1095 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will be
queued for execution if at least one of the fields listed in the
namelist of the <filled> has just been assigned a value
and the mode is "any". |
1096 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will be
queued for execution if the namelist is empty, the mode is "all" and
all input item variables have just been assigned a value. |
1097 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will be
queued for execution if the namelist is empty, the filled mode is "any"
and at least one input item variable has just been assigned a value. |
1098 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will
not be queued for execution if the mode is "all" and at least one of
the fields listed in the namelist of the <filled> has not
just been assigned a value. |
1099 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will
not be queued for execution if none of the fields listed in the
namelist of the <filled> has just been assigned a value
and the mode is "any" . |
1100 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will
not be queued for execution if the namelist is empty, the mode is "all"
and at least one input item variables has not just been assigned a
value. |
1101 |
[2.1.6.2.3] |
After a form level
grammar is matched, a form level <filled> element will
not be queued for execution if the namelist is empty, the filled mode
is "any" and no input item variable has just been assigned a value. |
1102 |
[2.1.6.2.3] |
If no input items
are filled by a user input and no events are thrown, the FIA resumes at
the next iteration of the main loop. |
1103 |
[2.1.6.2.3] |
<goto
nextitem> does not reset conditions associated with items in the
targeted form. |
1104 |
[2.1.6.2.3] |
<goto
nextitem> does not reset form item variables in the targeted
form item. |
1105 |
[2.1.6.2.3] |
<goto
nextitem> will cause the target form item's prompt to be played
even if it has already been visited. |
1107 |
[2.3.3] |
If one or more of
a form's field item variables are set by user input, then all
<initial> form item variables within the form are set to
true, before any <filled> actions are executed. |
1108 |
[2.3.3] |
If an
<initial> form item variable has been explicitly cleared
after a previous user input, the <initial> form item
variable will only be set when a new grammar match sets a field item
variable. |
1109 |
[2.3.3] |
Grammars with
<field> scope are not active within
<initial>. |
1110 |
[2.3.3] |
Explicit
assignment of values to input item variables does not affect the value
of an <initial>'s form item variable. |
1111 |
[2.3.3] |
<initial> elements may contain audio prompts, properties
, and event handlers. |
1112 |
[2.3.3] |
When an event is
thrown while visiting an <initial> element, the
<initial> element is the innermost scope for finding an
appropriate event handler, and therefore events may be caught by event
handlers specified within the <initial> element. |
1113 |
[2.3.3] |
<initial> elements have event counters that follow the
normal event count semantics. |
1114 |
[2.3.3] |
<initial> elements collect a user input, i.e. they cause
queued prompts to be played, grammars to be activated and a speech
recognition process to be started. |
1115 |
[3.1.6.3] |
Test of example
table: form-level result 'hello'. |
1116 |
[3.1.6.3] |
Test of example
table: form-level result '{ x: valueX }'. |
1117 |
[3.1.6.3] |
Test of example
table: form-level result '{ y: valueY }'. |
1118 |
[3.1.6.3] |
Test of example
table: form-level result '{ z: valueZ }'. |
1119 |
[3.1.6.3] |
Test of example
table: form-level result '{ x: valueX , y: valueY , z: valueZ }'. |
1120 |
[3.1.6.3] |
Test of example
table: form-level result '{ a: valueA , b: value B }'. |
1121 |
[3.1.6.3] |
Test of example
table: field-level X result 'hello'. |
1122 |
[3.1.6.3] |
Test of example
table: field-level X result '{ x: valueX }'. |
1123 |
[3.1.6.3] |
Test of example
table: field-level X result '{ y: valueY }'. |
1124 |
[3.1.6.3] |
Test of example
table: field-level X result '{ z: valueZ }'. |
1125 |
[3.1.6.3] |
Test of example
table: field-level X result '{ x: valueX , y: valueY , z: valueZ }'. |
1126 |
[3.1.6.3] |
Test of example
table: field-level X result '{ a: valueA , b: value B }'. |
1127 |
[3.1.6.3] |
Test of example
table: field-level Z result 'hello'. |
1128 |
[3.1.6.3] |
Test of example
table: field-level Z result '{ x: valueX }'. |
1129 |
[3.1.6.3] |
Test of example
table: field-level Z result '{ y: valueY }'. |
1130 |
[3.1.6.3] |
Test of example
table: field-level Z result '{ z: valueZ }'. |
1131 |
[3.1.6.3] |
Test of example
table: field-level Z result '{ x: valueX , y: valueY , z: valueZ }'. |
1132 |
[3.1.6.3] |
Test of example
table: field-level Z result '{ a: valueA , b: value B }'. |
1135 |
[4.1.3] |
If neither 'src'
nor 'expr' are specified on an audio element, an error.badfetch event
is thrown. |
1138 |
[2.1.6.2.1] |
Assigning a form
item's variable to undefined via ECMAScript makes it eligible to be
visited by the FIA, without resetting the error counters associated
with the item. |
1139 |
[2.1.6.2.3] |
<goto
nextitem> does not reset event counters associated with items in
the targeted form. |
1140 |
[2.1.6.2.3] |
<goto
nextitem> does not reset prompt counters associated with items
in the targeted form. |
1143 |
[2.1.6.2.3] |
While executing a
filled, if a submit is encountered the remaining filled actions are
skipped. |
1144 |
[2.1.6.2.3] |
While executing a
filled, if a disconnect is encountered the remaining filled actions are
skipped. |
1145 |
[2.1.6.2.3] |
While executing a
filled, if an exit is encountered the remaining filled actions are
skipped. |
1146 |
[2.1.6.2.3] |
While executing a
filled, if a return is encountered the remaining filled actions are
skipped. |
1147 |
[2.1.6.2.3] |
While executing a
filled, if a goto is encountered the remaining filled actions are
skipped. |
1148 |
[2.1.6.2.3] |
While executing a
filled, if a throw is encountered the remaining filled actions are
skipped. |
1149 |
[5.3.8] |
The interpreter
throws "error.badfetch.http.404" if the HTTP server returns a 404
before the fetchtimeout. If, however, the fetchtimeout interval elapses
before the server returns a 404, the interpreter throws
"error.badfetch". |
1150 |
[5.3.8] |
If Querystring
& namelist variable ,both are mentioned with method GET then
both values need to be submitted |
1152 |
[5.3.13] |
The
<log> element may contain any combination of text (CDATA)
and <value> elements. |
1156 |
[2.3.4] |
When the subdialog
returns, its execution context is deleted. All subdialog context
variable bindings are lost. |
1157 |
[2.3.4] |
If a subdialog URI
has a query string and the subdialog has a namelist attribute the
namelist variables are additionally submitted. |
1158 |
[2.3.4] |
When there is no
fragment, the subdialog invoked is the lexically first dialog in the
document. |
1159 |
[2.3.4] |
It is a semantic
error to attempt to set a form item variable or an undeclared variable
using <param> |
1161 |
[5.3.13] |
The label
attribute may be used, for example, to indicate the purpose of the log.
|
1162 |
[5.3.9] |
The exit element
does not throw an "exit" event. |
1163 |
[5.3.13] |
When expr is set
in a log, the expression evaluated to a string is present in a logging
or debug message. |
1167 |
[6.1.1] |
If fetchtimeout is
not specified, but a non-empty fetchtimeout property exists, then if
content is not returned within the specified fetchtimeout property, an
error.badfetch event is thrown. |
1168 |
[6.1.1] |
If fetchtimeout is
not specified, but a non-empty fetchtimeout property exists, then if
content is returned within the specified fetchtimeout property,
document processing proceeds as normal. |
1169 |
[5.3.12] |
The
<script> element has the charset attributes: The
character encoding of the script designated by src. UTF-8 and UTF-16
encodings of ISO/IEC 10646 must be supported (as in [XML]). The default
value is UTF-8. |
1170 |
[6.1.1] |
If a fetchaudio is
played during fetch of a document, the play is interrupted when the
document is loaded. |
1171 |
[2.3.1] |
If the specified
builtin type is not supported by the platform, an
error.unsupported.builtin event is thrown. |
1173 |
[2.2] |
DTMF properties
apply to recognition of the DTMF digits specified by dtmf attribute of
choice. |
1174 |
[2.5] |
Any URIs in the
content of a link are resolved lexically, i.e. according to the base
URI (see xml:base in Section 1.5.1) for the document in which the link
is defined. |
1175 |
[2.5] |
any URIs in an
attribute of a link element are resolved dynamically, i.e. according to
the base URI in effect when the link s grammar is matched. |
1176 |
[2.5] |
any ECMAScript
expressions in an attribute of a link element are evaluated
dynamically, i.e. in the scope and execution context in effect when the
grammar is matched. |
1179 |
[5.3.2] |
When an ECMAScript
object, e.g. "obj", has been properly initialized then its properties,
for instance "obj.prop1", can be assigned without explicit declaration.
|
1183 |
[2.3.7.3] |
If the platform
does not support blind transfers, a error.unsupported.transfer.blind
error is thrown. |